提升SSD写性能的方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:27809279 阅读:22 留言:0更新日期:2021-03-30 09:35
本发明专利技术涉及提升SSD写性能的方法、装置、计算机设备及存储介质;其中,方法,包括:获取主机下发的命令,并申请主机的内存空间;对内存空间初始化;获取主机下发的写命令,对写命令解析;对解析后的写命令分配写入到NAND的物理地址;读取主机内存中的写数据;将写数据写入NAND中,并备份至内存空间中;判断写数据写入NAND中是否成功;成功,释放内存空间;不成功,读取写数据,重新将写数据写入NAND中。本发明专利技术通过增加SOC硬件模块,将主机发送的数据同时备份到内存空间中,当NAND中的数据写完成后,再释放内存空间中的备份数据,解决SSD内部内存不足而无法缓存数据的缺陷,从而提升SSD的写性能。写性能。写性能。

【技术实现步骤摘要】
提升SSD写性能的方法、装置、计算机设备及存储介质


[0001]本专利技术涉及SSD写性能提升
,更具体地说是指提升SSD写性能的方法、装置、计算机设备及存储介质。

技术介绍

[0002]SSD固态硬盘作为一种新型存储介质,其采用NAND颗粒作为数据存储,相比于传统HDD,其最大优势在于很高的读写性能,随着SSD的演进,主流SSD采用了无外置DRAM+QLC NAND的DRAMLess方案,由于没有外置DRAM,SSD片内缓存有限,无法支撑QLC NAND的并发写带宽,导致SSD写性能下降。
[0003]如图1所示的现有QLC(4级单元)NAND的写入模型,需要连续4个Page(页)的数据一起写入,那这样一个Plane(NAND的缓存)的需要4X16KB=64KB的缓存,在NAND未成功写入之前,这64KB的缓存是不能释放的,一个NAND Die(封装单元)有4个Plane,那就需要4X64KB=256KB的缓存,通常一个512GB容量的SSD有4个Die,需要4X256KB=1MB的缓存,后端NAND的性能才能最大化利用,但是这么大缓存如果没有外置DRAM,SOC(系统级芯片)是无法满足的,如图2所示,现有的实现方法是,降低写入并发度,一次只缓存4page(64KB)的数据到SOC内部SRAM中,等完全写入到NAND后,再释放这64KB缓存,给下一个命令进行使用,导致SSD的性能就损失非常多,只有原先的1/16之一(按照4Die计算),因此,无法满足需求。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的缺陷,提供提升SSD写性能的方法、装置、计算机设备及存储介质。
[0005]为实现上述目的,本专利技术采用以下技术方案:
[0006]提升SSD写性能的方法,包括以下步骤:
[0007]获取主机下发的设置特性命令,并根据设置特性命令申请主机的内存空间;
[0008]对内存空间初始化;
[0009]获取主机下发的写命令,对写命令解析,并将解析后的写命令发送至固件;
[0010]固件对解析后的写命令分配写入到NAND的物理地址,并启动数据传输;
[0011]读取主机内存中的写数据;
[0012]将写数据写入NAND中,并将写数据备份至内存空间中;
[0013]判断写数据写入NAND中是否成功;
[0014]若成功,则释放内存空间;
[0015]若不成功,则从内存空间中读取写数据,重新将写数据写入NAND中。
[0016]其进一步技术方案为:所述对内存空间初始化步骤中,通过SOC硬件模块对内存空间初始化。
[0017]其进一步技术方案为:所述获取主机下发的写命令,对写命令解析,并将解析后的写命令发送至固件步骤中,通过SOC硬件模块对写命令解析,并将解析后的写命令发送至固
件;所述固件对解析后的写命令分配写入到NAND的物理地址,并启动数据传输步骤中,启动SOC硬件模块进行数据传输。
[0018]其进一步技术方案为:所述读取主机内存中的写数据步骤之后,还包括:当SOC硬件模块读取完主机内存中的写数据时,向主机反馈写命令完成。
[0019]提升SSD写性能的装置,包括:读取申请单元,初始化单元,获取解析发送单元,分配启动单元,读取单元,写入备份单元,判断单元,释放单元,及读取写入单元;
[0020]所述读取申请单元,用于获取主机下发的设置特性命令,并根据设置特性命令申请主机的内存空间;
[0021]所述初始化单元,用于对内存空间初始化;
[0022]所述获取解析发送单元,用于获取主机下发的写命令,对写命令解析,并将解析后的写命令发送至固件;
[0023]所述分配启动单元,用于固件对解析后的写命令分配写入到NAND的物理地址,并启动数据传输;
[0024]所述读取单元,用于读取主机内存中的写数据;
[0025]所述写入备份单元,用于将写数据写入NAND中,并将写数据备份至内存空间中;
[0026]所述判断单元,用于判断写数据写入NAND中是否成功;
[0027]所述释放单元,用于释放内存空间;
[0028]所述读取写入单元,用于从内存空间中读取写数据,重新将写数据写入NAND中。
[0029]其进一步技术方案为:所述初始化单元中,通过SOC硬件模块对内存空间初始化。
[0030]其进一步技术方案为:所述获取解析发送单元中,通过SOC硬件模块对写命令解析,并将解析后的写命令发送至固件;所述分配启动单元中,启动SOC硬件模块进行数据传输。
[0031]其进一步技术方案为:还包括:反馈单元,用于当SOC硬件模块读取完主机内存中的写数据时,向主机反馈写命令完成。
[0032]一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上述所述的提升SSD写性能的方法。
[0033]一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上述所述的提升SSD写性能的方法。
[0034]本专利技术与现有技术相比的有益效果是:通过在SSD中增加一个SOC硬件模块,将主机发送过来的数据同时备份到内存空间中,当NAND中的数据写完成之后,再释放内存空间中的备份数据,这样就可以解决DRAMLess SSD内部内存不足而无法缓存数据的缺陷,从而提升DRAMLess SSD的写性能,能够更好地满足需求。
[0035]下面结合附图和具体实施例对本专利技术作进一步描述。
附图说明
[0036]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1为现有QLC NAND写入模型的应用示意图;
[0038]图2为现有DRAMLess SSD的应用示意图;
[0039]图3为本专利技术实施例提供的提升SSD写性能的方法的流程示意图;
[0040]图4为本专利技术实施例提供的提升SSD写性能的方法的应用示意图;
[0041]图5为本专利技术实施例提供的提升SSD写性能的装置的示意性框图;
[0042]图6为本专利技术实施例提供的计算机设备的示意性框图。
具体实施方式
[0043]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0044]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.提升SSD写性能的方法,其特征在于,包括以下步骤:获取主机下发的设置特性命令,并根据设置特性命令申请主机的内存空间;对内存空间初始化;获取主机下发的写命令,对写命令解析,并将解析后的写命令发送至固件;固件对解析后的写命令分配写入到NAND的物理地址,并启动数据传输;读取主机内存中的写数据;将写数据写入NAND中,并将写数据备份至内存空间中;判断写数据写入NAND中是否成功;若成功,则释放内存空间;若不成功,则从内存空间中读取写数据,重新将写数据写入NAND中。2.根据权利要求1所述的提升SSD写性能的方法,其特征在于,所述对内存空间初始化步骤中,通过SOC硬件模块对内存空间初始化。3.根据权利要求2所述的提升SSD写性能的方法,其特征在于,所述获取主机下发的写命令,对写命令解析,并将解析后的写命令发送至固件步骤中,通过SOC硬件模块对写命令解析,并将解析后的写命令发送至固件;所述固件对解析后的写命令分配写入到NAND的物理地址,并启动数据传输步骤中,启动SOC硬件模块进行数据传输。4.根据权利要求3所述的提升SSD写性能的方法,其特征在于,所述读取主机内存中的写数据步骤之后,还包括:当SOC硬件模块读取完主机内存中的写数据时,向主机反馈写命令完成。5.提升SSD写性能的装置,其特征在于,包括:读取申请单元,初始化单元,获取解析发送单元,分配启动单元,读取单元,写入备份单元,判断单元,释放单元,及读取写入单元;所述读取申请单元,用于获取主机下发的设置特性命令,并根据设置特性命令申请主机的内存空间;所述初始化单元,用于对内存空间初始化;...

【专利技术属性】
技术研发人员:韩道静刘金雷罗宗扬马鹏
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:

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

1