DRAM-less固态硬盘大范围随机读性能提升方法和装置制造方法及图纸

技术编号:38617262 阅读:16 留言:0更新日期:2023-08-26 23:44
本申请涉及一种DRAM

【技术实现步骤摘要】
DRAM

less固态硬盘大范围随机读性能提升方法和装置


[0001]本专利技术涉及固态硬盘
,特别是涉及一种DRAM

less固态硬盘大范围随机读性能提升方法、装置、计算机设备和存储介质。

技术介绍

[0002]在DRAM

less SSD中,因SSD自身的RAM空间有限,通常会借用主机存储空间(Host Memory Buffer,简称HMB)来缓存从NAND加载的映射表。映射表缓存通常是划分成固定大小单元来管理的,当因处理命令需要访问的映射表在HMB中时,需要将HMB中的映射表单元交换到SSD本地RAM,才能进行映射表的读写访问。对于大范围随机读场景,DRAM

less SSD本地RAM不能容纳读命令所涉及的全部映射表缓存,需要频繁地将HMB和SSD本地RAM中的映射表缓存进行交换,这些交换操作对读性能有较大的不利影响。

技术实现思路

[0003]基于此,有必要针对上述技术问题,提供一种DRAM

less固态硬盘大范围随机读性能提升方法、装置、计算机设备和存储介质。
[0004]一种DRAM

less固态硬盘大范围随机读性能提升方法,所述方法包括:
[0005]在大范围随机读场景下,检查当前读命令所需要的临时映射缓存空间是否足够;
[0006]若足够则为所述读命令分配临时映射缓存并提交从HMB加载映射到临时映射缓存请求,若不足则异步等待;
[0007]待加载请求执行完毕后,根据临时映射缓存和本地映射缓存获取读命令所需的完整映射;
[0008]向NAND提交读请求,然后释放为所述读命令分配的临时映射缓存。
[0009]在其中一个实施例中,所述方法还包括:
[0010]通过检测映射表的命中率对大范围随机读场景进行识别,若命中率低于预设的阈值则标识进入大范围随机读场景,否则清除所述标识。
[0011]在其中一个实施例中,所述通过检测映射表的命中率对大范围随机读场景进行识别,若命中率低于预设的阈值则标识进入大范围随机读场景,否则清除所述标识的步骤还包括:
[0012]将收到命令按逻辑单元大小进行分解,对每个逻辑单元检查其对应的映射表是否加载或是否已提交请求;
[0013]若是则将命中计数加1,否则将未命中计数加1;
[0014]在命令处理结束后,先更新采样阶段命令访问的逻辑空间范围,然后再判断映射表命中检查数是否超过读检测阈值;
[0015]若是则更新映射表命中率阈值并计算采样阶段映射表命中率;
[0016]若计算得到的命中率低于映射表命中率阈值则标识进入大范围随机读场景,否则清除所述标识。
[0017]在其中一个实施例中,所述临时映射缓存的大小为HMB交换的最小单元的大小与命令所需映射表的大小的最大值。
[0018]一种DRAM

less固态硬盘大范围随机读性能提升装置,所述装置包括:
[0019]检查模块,所述检查模块用于在大范围随机读场景下,检查当前读命令所需要的临时映射缓存空间是否足够;
[0020]分配模块,所述分配模块用于若足够则为所述读命令分配临时映射缓存并提交从HMB加载映射到临时映射缓存请求,若不足则异步等待;
[0021]获取模块,所述获取模块用于待加载请求执行完毕后,根据临时映射缓存和本地映射缓存获取读命令所需的完整映射;
[0022]释放模块,所述释放模块用于向NAND提交读请求,然后释放为所述读命令分配的临时映射缓存。
[0023]在其中一个实施例中,所述装置还包括:
[0024]场景识别模块,所述场景识别模块用于通过检测映射表的命中率对大范围随机读场景进行识别,若命中率低于预设的阈值则标识进入大范围随机读场景,否则清除所述标识。
[0025]在其中一个实施例中,所述场景识别模块还用于:
[0026]将收到命令按逻辑单元大小进行分解,对每个逻辑单元检查其对应的映射表是否加载或是否已提交请求;
[0027]若是则将命中计数加1,否则将未命中计数加1;
[0028]在命令处理结束后,先更新采样阶段命令访问的逻辑空间范围,然后再判断映射表命中检查数是否超过读检测阈值;
[0029]若是则更新映射表命中率阈值并计算采样阶段映射表命中率;
[0030]若计算得到的命中率低于映射表命中率阈值则标识进入大范围随机读场景,否则清除所述标识。
[0031]在其中一个实施例中,所述临时映射缓存的大小为HMB交换的最小单元的大小与命令所需映射表的大小的最大值。
[0032]一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
[0033]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0034]上述DRAM

less固态硬盘大范围随机读性能提升方法、装置、计算机设备和存储介质,在大范围随机读场景,如果随机读命令对应的映射表在HMB中,则针对该读命令单独分配单独的临时映射表缓存,仅从HMB中加载该命令所需的映射表项。从HMB中加载命令所需的映射表项到临时缓存后,即可发起NAND读操作,同时释放该读命令对应的临时映射表。如此,可以避免大范围随机读场景映射表缓存在HMB和SSD本地RAM间频繁地交换,进而提升了大范围随机读性能。
附图说明
[0035]图1为一个实施例中DRAM

less固态硬盘大范围随机读性能提升方法的流程示意
图;
[0036]图2为另一个实施例中DRAM

less固态硬盘大范围随机读性能提升方法的流程示意图;
[0037]图3为一个实施例中大范围随机读场景读命令处理的流程示意图;
[0038]图4为一个实施例中大范围随机读场景识别的流程示意图;
[0039]图5为一个实施例中DRAM

less固态硬盘大范围随机读性能提升装置的结构框图;
[0040]图6为另一个实施例中DRAM

less固态硬盘大范围随机读性能提升装置的结构框图;
[0041]图7为一个实施例中计算机设备的内部结构图。
具体实施方式
[0042]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0043]目前,对于大范围随机读场景,DRAM

less SSD本地RAM不能容纳读命令所涉及的全部映射表缓存,需要频繁地将HMB和SSD本地RAM中的映射表缓存进行交换,这些交换操作对读性能有较大本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DRAM

less固态硬盘大范围随机读性能提升方法,所述方法包括:在大范围随机读场景下,检查当前读命令所需要的临时映射缓存空间是否足够;若足够则为所述读命令分配临时映射缓存并提交从HMB加载映射到临时映射缓存请求,若不足则异步等待;待加载请求执行完毕后,根据临时映射缓存和本地映射缓存获取读命令所需的完整映射;向NAND提交读请求,然后释放为所述读命令分配的临时映射缓存。2.根据权利要求1所述的DRAM

less固态硬盘大范围随机读性能提升方法,其特征在于,所述方法还包括:通过检测映射表的命中率对大范围随机读场景进行识别,若命中率低于预设的阈值则标识进入大范围随机读场景,否则清除所述标识。3.根据权利要求2所述的DRAM

less固态硬盘大范围随机读性能提升方法,其特征在于,所述通过检测映射表的命中率对大范围随机读场景进行识别,若命中率低于预设的阈值则标识进入大范围随机读场景,否则清除所述标识的步骤还包括:将收到命令按逻辑单元大小进行分解,对每个逻辑单元检查其对应的映射表是否加载或是否已提交请求;若是则将命中计数加1,否则将未命中计数加1;在命令处理结束后,先更新采样阶段命令访问的逻辑空间范围,然后再判断映射表命中检查数是否超过读检测阈值;若是则更新映射表命中率阈值并计算采样阶段映射表命中率;若计算得到的命中率低于映射表命中率阈值则标识进入大范围随机读场景,否则清除所述标识。4.根据权利要求1

3任一项所述的DRAM

less固态硬盘大范围随机读性能提升方法,其特征在于,所述临时映射缓存的大小为HMB交换的最小单元的大小与命令所需映射表的大小的最大值。5.一种DRAM

less固态硬盘大范围随机读性能提升装置,其特征在于,所述装置包括:检查模块,所述检查模块用于在大范围随机读场景下,检查当前读命令所需要的临...

【专利技术属性】
技术研发人员:李建赵连庚肖世平
申请(专利权)人:苏州忆联信息系统有限公司
类型:发明
国别省市:

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

1