基于命令的写缓存管理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:32859298 阅读:12 留言:0更新日期:2022-03-30 19:35
本申请涉及一种基于命令的写缓存管理方法、装置、计算机设备及存储介质,其中该方法包括:获取基于命令的写缓存管理请求;根据所述基于命令的写缓存管理请求,将写缓存命令按照链表的形式组成写缓存命令链表;当写缓存中总的有效逻辑单元数或总的缓存命令数超过阈值时,则会触发缓存的命令写入NAND;若缓存的命令构成顺序流,则在写入前按最优读并发需求对顺序流对应的逻辑地址区间进行重新排列;否则遍历命令链表,根据命令中的有效逻辑单元位图提取有效数据信息并写入NAND。本发明专利技术提出的命令级写缓存管理方式,可以有效地减少对RAM资源需求,满足了DRAM

【技术实现步骤摘要】
基于命令的写缓存管理方法、装置、计算机设备及存储介质


[0001]本专利技术涉及存储系统
,特别是涉及一种基于命令的写缓存管理方法、装置、计算机设备及存储介质。

技术介绍

[0002]随着固态硬盘技术的发展,SSD(Solid State Disk,固态硬盘)已经被广泛应用于各种场合,在PC市场已经逐步替代传统的HDD(Hard Disk Drive,硬盘驱动器),从可靠性和性能方面为用户提供较好的体验。
[0003]目前,SSD写缓存的功能之一是收集足够多的顺序写数据,按最优读并发需求对数据进行重排写入NAND,以保障最优的读性能。然而,现有的写缓存的管理通常是按映射单元大小来管理(通常为4KB),为缓存足够多的数据,需要大量的写缓存管理单元,对RAM空间需求较大。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种基于命令的写缓存管理方法、装置、计算机设备及存储介质。
[0005]一种基于命令的写缓存管理方法,所述方法包括:
[0006]获取基于命令的写缓存管理请求;
[0007]根据所述基于命令的写缓存管理请求,将写缓存命令按照链表的形式组成写缓存命令链表;
[0008]当写缓存中总的有效逻辑单元数或总的缓存命令数超过阈值时,则会触发缓存的命令写入NAND;
[0009]若缓存的命令构成顺序流,则在写入前按最优读并发需求对顺序流对应的逻辑地址区间进行重新排列;
[0010]否则遍历命令链表,根据命令中的有效逻辑单元位图提取有效数据信息并写入NAND。
[0011]在其中一个实施例中,所述方法还包括:
[0012]在基于命令的写缓存管理中,写缓存的管理单元为不定长的命令,所述不定长的命令用于管理有效映射单元位图;
[0013]当发生写命令复写时,将被复写命令中相应的映射单元位图清除。
[0014]在其中一个实施例中,所述方法还包括:
[0015]由固态硬盘控制器中的ASIC逻辑完成读写命令命中的检查,根据ASIC的读写命中结果进行读写命中处理。
[0016]在其中一个实施例中,所述根据ASIC的读写命中结果进行读写命中处理的步骤包括:
[0017]若检查到命中则遍历命令缓存的命令链表,将被命中命令中的有效逻辑地址位图
相应的位进行清除。
[0018]一种基于命令的写缓存管理装置,所述装置包括:
[0019]获取模块,所述获取模块用于获取基于命令的写缓存管理请求;
[0020]组成模块,所述组成模块用于根据所述基于命令的写缓存管理请求,将写缓存命令按照链表的形式组成写缓存命令链表;
[0021]触发模块,所述触发模块用于当写缓存中总的有效逻辑单元数或总的缓存命令数超过阈值时,则会触发缓存的命令写入NAND;
[0022]排列模块,所述排列模块用于若缓存的命令构成顺序流,则在写入前按最优读并发需求对顺序流对应的逻辑地址区间进行重新排列;
[0023]提取写入模块,所述提取写入模块用于否则遍历命令链表,根据命令中的有效逻辑单元位图提取有效数据信息并写入NAND。
[0024]在其中一个实施例中,所述装置还包括单元管理模块,所述单元管理模块用于:
[0025]在基于命令的写缓存管理中,写缓存的管理单元为不定长的命令,所述不定长的命令用于管理有效映射单元位图;
[0026]当发生写命令复写时,将被复写命令中相应的映射单元位图清除。
[0027]在其中一个实施例中,所述装置还包括命中检查模块,所述命中检查模块用于:
[0028]由固态硬盘控制器中的ASIC逻辑完成读写命令命中的检查,根据ASIC的读写命中结果进行读写命中处理。
[0029]在其中一个实施例中,所述命中检查模块还用于:
[0030]若检查到命中则遍历命令缓存的命令链表,将被命中命令中的有效逻辑地址位图相应的位进行清除。
[0031]一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
[0032]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0033]上述基于命令的写缓存管理方法、装置、计算机设备及存储介质通过获取基于命令的写缓存管理请求;根据所述基于命令的写缓存管理请求,将写缓存命令按照链表的形式组成写缓存命令链表;当写缓存中总的有效逻辑单元数或总的缓存命令数超过阈值时,则会触发缓存的命令写入NAND;若缓存的命令构成顺序流,则在写入前按最优读并发需求对顺序流对应的逻辑地址区间进行重新排列;否则遍历命令链表,根据命令中的有效逻辑单元位图提取有效数据信息并写入NAND。本专利技术提出的命令级写缓存管理方式,可以有效地减少对RAM资源需求,满足了DRAM

less SSD的要求。
附图说明
[0034]图1为基于映射单元的写缓存管理的示意图;
[0035]图2为基于命令的写缓存管理的示意图;
[0036]图3为一个实施例中基于命令的写缓存管理方法的流程示意图;
[0037]图4为另一个实施例中基于命令的写缓存管理方法的流程示意图;
[0038]图5为再一个实施例中基于命令的写缓存管理方法的流程示意图;
[0039]图6为一个实施例中基于命令的写缓存管理装置的结构框图;
[0040]图7为另一个实施例中基于命令的写缓存管理装置的结构框图;
[0041]图8为再一个实施例中基于命令的写缓存管理装置的结构框图;
[0042]图9为一个实施例中计算机设备的内部结构图。
具体实施方式
[0043]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0044]目前,SSD写缓存的功能之一是收集足够多的顺序写数据,按最优读并发需求对数据进行重排写入NAND,以保障最优的读性能。然而,现有的写缓存的管理通常是按映射单元大小来管理(通常为4KB),为缓存足够多的数据,需要大量的写缓存管理单元,对RAM空间需求较大。
[0045]基于此,本专利技术提出一种基于命令的写缓存管理方法,旨在能够减少对RAM资源需求以满足DRAM

less SSD的要求。
[0046]在一个实施例中,如图3所示,提供了一种基于命令的写缓存管理方法,该方法包括:
[0047]步骤302,获取基于命令的写缓存管理请求;
[0048]步骤304,根据基于命令的写缓存管理请求,将写缓存命令按照链表的形式组成写缓存命令链表;
[0049]步骤306,当写缓存中总的有效逻辑单元数或总的缓存命令数超过阈值时,则会触发缓存的命令写入NAN本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于命令的写缓存管理方法,其特征在于,所述方法包括:获取基于命令的写缓存管理请求;根据所述基于命令的写缓存管理请求,将写缓存命令按照链表的形式组成写缓存命令链表;当写缓存中总的有效逻辑单元数或总的缓存命令数超过阈值时,则会触发缓存的命令写入NAND;若缓存的命令构成顺序流,则在写入前按最优读并发需求对顺序流对应的逻辑地址区间进行重新排列;否则遍历命令链表,根据命令中的有效逻辑单元位图提取有效数据信息并写入NAND。2.根据权利要求1所述的基于命令的写缓存管理方法,其特征在于,所述方法还包括:在基于命令的写缓存管理中,写缓存的管理单元为不定长的命令,所述不定长的命令用于管理有效映射单元位图;当发生写命令复写时,将被复写命令中相应的映射单元位图清除。3.根据权利要求1所述的基于命令的写缓存管理方法,其特征在于,所述方法还包括:由固态硬盘控制器中的ASIC逻辑完成读写命令命中的检查,根据ASIC的读写命中结果进行读写命中处理。4.根据权利要求3所述的基于命令的写缓存管理方法,其特征在于,所述根据ASIC的读写命中结果进行读写命中处理的步骤包括:若检查到命中则遍历命令缓存的命令链表,将被命中命令中的有效逻辑地址位图相应的位进行清除。5.一种基于命令的写缓存管理装置,其特征在于,所述装置包括:获取模块,所述获取模块用于获取基于命令的写缓存管理请求;组成模块,所述组成模块用于根据所述基于命令的写缓存管理请求,将写缓存命令按照链表的形式组成写缓存命令链表;触发模块,所述触发模块用于当写...

【专利技术属性】
技术研发人员:李建邱一霄洪浩
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:

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

1