G06F3/06
1.一种基于Dramless固态硬盘的垃圾回收方法,所述方法包括:
获取基于Dramless固态硬盘的垃圾回收请求;
在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;
判断存储空间申请是否成功;
若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。
2.根据权利要求1所述的基于Dramless固态硬盘的垃圾回收方法,其特征在于,所述若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer的步骤还包括:
使用HMB作为数据缓存Buffer,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束。
3.根据权利要求2所述的基于Dramless固态硬盘的垃圾回收方法,其特征在于,在所述使用HMB作为数据缓存Buffer,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束的步骤之后还包括:
若本次垃圾回收任务中的数据搬移已结束,则释放数据缓存Buffer资源。
4.根据权利要求1-3任一项所述的基于Dramless固态硬盘的垃圾回收方法,其特征在于,在所述判断存储空间申请是否成功的步骤之后还包括:
若存储空间申请失败则使用控制器内置存储数据缓存Buffer。
5.一种基于Dramless固态硬盘的垃圾回收装置,其特征在于,所述基于Dramless固态硬盘的垃圾回收装置包括:
获取模块,所述获取模块用于获取基于Dramless固态硬盘的垃圾回收请求;
空间申请模块,所述空间申请模块用于在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;
第一判断模块,所述第一判断模块用于判断存储空间申请是否成功;
第一处理模块,所述第一处理模块用于若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。
6.根据权利要求5所述的基于Dramless固态硬盘的垃圾回收装置,其特征在于,所述装置还包括第二判断模块,所述第二判断模块用于:
使用HMB作为数据缓存Buffer,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束。
7.根据权利要求6所述的基于Dramless固态硬盘的垃圾回收装置,其特征在于,所述装置还包括资源回收模块,所述资源回收模块用于:
若本次垃圾回收任务中的数据搬移已结束,则释放数据缓存Buffer资源。
8.根据权利要求5-7任一项所述的基于Dramless固态硬盘的垃圾回收装置,其特征在于,所述装置还包括第二处理模块,所述第二处理模块用于:
若存储空间申请失败则使用控制器内置存储数据缓存Buffer。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
本发明涉及固态硬盘技术领域,特别是涉及一种基于Dramless固态硬盘的垃圾回收方法、装置、计算机设备和存储介质。
SSD(Solid State Drive,固态硬盘)作为一种新型存储介质,其采用NAND颗粒作为数据存储,已经广泛应用于PC,笔记本,服务器等各个领域并逐渐取代HDD(Hard DiskDrive,机械硬盘)成为存储领域的主流应用产品,相比于传统HDD具有更高的读写速度,更低的功耗,更好的抗摔性等明显优点。
目前,在现有技术方案中固态硬盘通常需要在运行时进行Nand垃圾回收,保证固态硬盘始终有可用的空间供用户数据写入。固态硬盘Nand垃圾回收时通常需要先将Nand中的有效数据读出,再写到Nand的其他区域。对于Dramless固态硬盘,这个过程通常会使用固态硬盘控制器内置存储作为数据缓存Buffer,但固态硬盘控制器内置存储资源较少,会影响Nand垃圾回收效率,从而影响固态硬盘的整体性能表现。
基于此,有必要针对上述技术问题,提供一种基于Dramless固态硬盘的垃圾回收方法、装置、计算机设备和存储介质。
一种基于Dramless固态硬盘的垃圾回收方法,所述方法包括:
获取基于Dramless固态硬盘的垃圾回收请求;
在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;
判断存储空间申请是否成功;
若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。
在其中一个实施例中,所述若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer的步骤还包括:
使用HMB作为数据缓存Buffer,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束。
在其中一个实施例中,在所述使用HMB作为数据缓存Buffer,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束的步骤之后还包括:
若本次垃圾回收任务中的数据搬移已结束,则释放数据缓存Buffer资源。
在其中一个实施例中,在所述判断存储空间申请是否成功的步骤之后还包括:
若存储空间申请失败则使用控制器内置存储数据缓存Buffer。
一种基于Dramless固态硬盘的垃圾回收装置,所述基于Dramless固态硬盘的垃圾回收装置包括:
获取模块,所述获取模块用于获取基于Dramless固态硬盘的垃圾回收请求;
空间申请模块,所述空间申请模块用于在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;
第一判断模块,所述第一判断模块用于判断存储空间申请是否成功;
第一处理模块,所述第一处理模块用于若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。
在其中一个实施例中,所述装置还包括第二判断模块,所述第二判断模块用于:
使用HMB作为数据缓存Buffer,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束。
在其中一个实施例中,所述装置还包括资源回收模块,所述资源回收模块用于:
若本次垃圾回收任务中的数据搬移已结束,则释放数据缓存Buffer资源。
在其中一个实施例中,所述装置还包括第二处理模块,所述第二处理模块用于:
若存储空间申请失败则使用控制器内置存储数据缓存Buffer。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述基于Dramless固态硬盘的垃圾回收方法、装置、计算机设备和存储介质通过获取基于Dramless固态硬盘的垃圾回收请求;在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;判断存储空间申请是否成功;若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。在本发明中,相较于控制器内置存储,HMB资源相对充足,使用HMB作为数据缓存Buffer可以显著提升Nand垃圾回收效率,从而提升固态硬盘整体性能。
图1为一个实施例中基于Dramless固态硬盘的垃圾回收方法的流程示意图;
图2为另一个实施例中基于Dramless固态硬盘的垃圾回收方法的流程示意图;
图3为再一个实施例中基于Dramless固态硬盘的垃圾回收方法的流程示意图;
图4为一个实施例中基于Dramless固态硬盘的垃圾回收装置的结构框图;
图5为另一个实施例中基于Dramless固态硬盘的垃圾回收装置的结构框图;
图6为再一个实施例中基于Dramless固态硬盘的垃圾回收装置的结构框图;
图7为又一个实施例中基于Dramless固态硬盘的垃圾回收装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,在现有技术方案中固态硬盘通常需要在运行时进行Nand垃圾回收,保证固态硬盘始终有可用的空间供用户数据写入。固态硬盘Nand垃圾回收时通常需要先将Nand中的有效数据读出,再写到Nand的其他区域。对于Dramless固态硬盘,这个过程通常会使用固态硬盘控制器内置存储作为数据缓存Buffer,但固态硬盘控制器内置存储资源较少,会影响Nand垃圾回收效率,从而影响固态硬盘的整体性能表现。
基于此,本发明提出了一种基于Dramless固态硬盘的垃圾回收方法,旨在可以提高Nand垃圾回收效率,从而提升固态硬盘的整体性能表现。
在一个实施例中,如图1所示,提供了一种基于Dramless固态硬盘的垃圾回收方法,该方法包括:
步骤102,获取基于Dramless固态硬盘的垃圾回收请求;
步骤104,在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;
步骤106,判断存储空间申请是否成功;
步骤108,若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。
在本实施例中,提供了一种基于Dramless固态硬盘的垃圾回收方法,该方法使用HMB(Host Memory Buffer)作为Nand垃圾回收数据缓存Buffer,可以提升Nand垃圾回收效率,从而提升固态硬盘整体性能。其具体实施过程如下:
首先,获取基于Dramless固态硬盘的垃圾回收请求。在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer。
具体地,HMB(Host Memory Buffer,主机内存缓冲器)即为提供一套机制,让主机端可以将目前不须要用到的内存资源,通过NVMe协议提供给SSD使用。适用于无外置缓存固态硬盘,可以借用PC主内存来实现FTL映射表存取,加速来提高性能。HMB技术最大的优势,就是可以利用空闲资源。现在PC内存越来越大,普通用户很少又情况会100%利用完内存,而HMB技术可以划分非常一个非常小的内存容量用来给固态加速。同时如果是无缓方案的固态,还可以减少固态的发热和体积。从经济的角度来讲,也可以进一步压低固态的价格,给消费者带来实惠。
接着,判断存储空间申请是否成功;若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。具体地,Nand垃圾回收任务开始时,向HMB申请一段连续存储空间,如申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer,如申请失败则仍使用控制器内置存储。相较于控制器内置存储,HMB资源相对充足,使用HMB作为数据缓存Buffer可以显著提升Nand垃圾回收效率,从而提升固态硬盘整体性能。
在本实施例中,通过获取基于Dramless固态硬盘的垃圾回收请求;在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;判断存储空间申请是否成功;若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。在本方案中,相较于控制器内置存储,HMB资源相对充足,使用HMB作为数据缓存Buffer可以显著提升Nand垃圾回收效率,从而提升固态硬盘整体性能。
在一个实施例中,如图2所示,提供了一种基于Dramless固态硬盘的垃圾回收方法,该方法还包括:
步骤202,在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;
步骤204,判断存储空间申请是否成功;
步骤206,若存储空间申请失败则使用控制器内置存储数据缓存Buffer,若存储空间申请成功则使用HMB作为数据缓存Buffer;
步骤208,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束;
步骤210,若本次垃圾回收任务中的数据搬移已结束,则释放数据缓存Buffer资源。
具体地,参考图3所示,在本实施例中提供了完整实现基于Dramless固态硬盘的垃圾回收方法,该方法具体实现过程如下:
在Nand垃圾回收开始前需要申请数据缓存Buffer资源,优先申请HMB作为数据缓存Buffer。如无法获取HMB资源,则使用控制器内置存储作为数据缓存Buffer。数据缓存Buffer经过读、读检查、写使用后,如无需继续进行Nand垃圾回收,则释放数据缓存Buffer资源。
在本实施例中,如申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer,如申请失败则仍使用控制器内置存储。Nand垃圾回收任务会尽量使用HMB提升效率,而控制器内置存储随时可用的特性则可以保障Nand垃圾回收任务正常进行。
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种基于Dramless固态硬盘的垃圾回收装置400,该装置包括:
获取模块401,所述获取模块用于获取基于Dramless固态硬盘的垃圾回收请求;
空间申请模块402,所述空间申请模块用于在进行垃圾回收任务开始前,向HMB申请一段连续存储空间作为数据缓存Buffer;
第一判断模块403,所述第一判断模块用于判断存储空间申请是否成功;
第一处理模块404,所述第一处理模块用于若存储空间申请成功则本次垃圾回收任务使用HMB作为数据缓存Buffer。
在一个实施例中,如图5所示,提供了一种基于Dramless固态硬盘的垃圾回收装置400,该装置还包括第二判断模块405,所述第二判断模块用于:
使用HMB作为数据缓存Buffer,数据缓存Buffer经过读、读检查以及写使用后判断本次垃圾回收任务的数据搬移是否结束。
在一个实施例中,如图6所示,提供了一种基于Dramless固态硬盘的垃圾回收装置400,该装置还包括资源回收模块406,所述资源回收模块用于:
若本次垃圾回收任务中的数据搬移已结束,则释放数据缓存Buffer资源。
在一个实施例中,如图7所示,提供了一种基于Dramless固态硬盘的垃圾回收装置400,该装置还包括第二处理模块407,所述第二处理模块用于:
若存储空间申请失败则使用控制器内置存储数据缓存Buffer。
关于基于Dramless固态硬盘的垃圾回收装置的具体限定可以参见上文中对于基于Dramless固态硬盘的垃圾回收方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于Dramless固态硬盘的垃圾回收方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一种非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
本文发布于:2023-04-14 01:26:09,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/86866.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |