Buffer管理方法、装置及存储设备制造方法及图纸

技术编号:38125179 阅读:11 留言:0更新日期:2023-07-08 09:28
本申请提供了Buffer管理方法、装置及存储设备。本申请通过对DRAMLess/DRAM Partial存储系统中Buffer空间合理划分至少一个Buffer区域,并基于各任务队列是否被标记的紧急状态标识、任务队列中的任务的优先级来为各任务分配所需的可用的目标Buffer块,保证了需要紧急分配Buffer的任务、或者高优先级的任务及时被分配Buffer,优化DRAMLess/DRAM Partial存储系统中Buffer的利用率,实现了Buffer的智能高效管理。进一步地,本实施例通过基于硬件实现的Buffer管理组件来实现Buffer的智能高效管理,这能减少CPU管理Buffer的开销。这能减少CPU管理Buffer的开销。这能减少CPU管理Buffer的开销。

【技术实现步骤摘要】
Buffer管理方法、装置及存储设备


[0001]本申请涉及存储技术,特别涉及缓存(Buffer)管理方法、装置及存储设备。

技术介绍

[0002]Buffer作为数据的缓存,对存储系统的正常高效运行至关重要。以固态硬盘(SSD:Solid State Disk)为例,Buffer主要用于存放映射表,如L2PTable、P2L Table、各类Bitmap Table等,这些映射表需要占用比较多的buffer空间,比如容量为4T的SSD,L2P Table的大小为4G。
[0003]为了节省成本,目前常采用无DRAM(DRAM Less)存储系统(比如固态硬盘SSD)、带DRAM(DRAM Partial)存储系统(比如固态硬盘SSD)。但是,对于DRAMLess/DRAM Partial存储系统,其Buffer的资源是非常有限的,不足以放置全部的映射表,影响正常业务的使用,也降低了存储性能。

技术实现思路

[0004]本申请提供了Buffer管理方法、装置及存储设备,以优化DRAMLess/DRAM Partial存储系统中Buffer的利用率。
[0005]本申请实施例提供了一种Buffer管理方法,该方法应用于DRAMLess/DRAM Partial存储系统中基于硬件实现的Buffer管理组件,Buffer管理组件连接在DRAMLess/DRAM Partial存储系统中的系统总线上;该方法包括:
[0006]在调度任务Task时,若发现至少一个任务队列被标记了紧急状态标识,则停止为未被标记紧急状态标识的任一任务队列中的任务分配Buffer,并将被标记了紧急状态标识的任务队列中的至少一个任务确定为待分配Buffer的目标任务,为所述目标任务分配所需的目标Buffer空间;所述目标Buffer空间包含目标Buffer区域中的至少一个Buffer块,所述目标Buffer区域为目标任务被执行时所需的Buffer区域;所述DRAMLess/DRAM Partial存储系统中指定Buffer空间被划分为多个Buffer区域,每一Buffer区域对应所述DRAMLess/DRAM Partial存储系统中固态硬盘SSD被划分的至少一个区zone,当所述目标Buffer区域对应的zone被确定为第一状态时,所述目标任务所处队列被标记紧急状态标识,所述第一状态用于指示将所述目标任务所处队列标记为紧急状态标识;或者
[0007]若发现任一任务队列均未被标记紧急状态标识,则依据各任务队列中任务的优先级,确定待分配Buffer的目标任务,为目标任务分配所需的目标Buffer空间;任一任务的优先级指示了该任务被分配Buffer块的顺序和数量。
[0008]一种Buffer管理装置,该装置应用于DRAMLess/DRAM Partial存储系统中基于硬件实现的Buffer管理组件,Buffer管理组件连接在DRAMLess/DRAM Partial存储系统中的系统总线上;该装置包括:
[0009]检查单元,用于在调度任务Task时,检查至少一个任务队列是否被标记了紧急状态标识;
[0010]调度分配单元,用于在至少一个任务队列被标记了紧急状态标识时,停止为未被标记紧急状态标识的任一任务队列中的任务分配Buffer,并将被标记了紧急状态标识的任务队列中的至少一个任务确定为待分配Buffer的目标任务,为所述目标任务分配所需的目标Buffer空间;所述目标Buffer空间包含目标Buffer区域中的至少一个Buffer块,所述目标Buffer区域为目标任务被执行时所需的Buffer区域;所述DRAMLess/DRAM Partial存储系统中指定Buffer空间被划分为多个Buffer区域,每一Buffer区域对应所述DRAMLess/DRAM Partial存储系统中固态硬盘SSD被划分的至少一个区zone,当所述目标Buffer区域对应的zone被确定为第一状态时,所述目标任务所处队列被标记紧急状态标识,所述第一状态用于指示将所述目标任务所处队列标记为紧急状态标识;或者
[0011]在发现任一任务队列均未被标记紧急状态标识时,依据各任务队列中任务的优先级,确定待分配Buffer的目标任务,为目标任务分配所需的目标Buffer空间;任一任务的优先级指示了该任务被分配Buffer块的顺序和数量。
[0012]一种存储设备,所述存储设备至少包括:基于硬件实现的Buffer管理组件、Buffer、系统总线;
[0013]其中,所述Buffer管理组件通过所述存储设备中的系统总线访问Buffer;所述Buffer管理组件,被用于执行本申请实施例提供的任一Buffer管理方法。
[0014]由以上技术方案可以看出,在本实施例中,通过对DRAMLess/DRAM Partial存储系统中Buffer空间合理划分至少一个Buffer区域,并基于各任务队列是否被标记的紧急状态标识、任务队列中的任务的优先级来为各任务分配所需的可用的目标Buffer块,保证了需要紧急分配Buffer的任务、或者高优先级的任务及时被分配Buffer,优化DRAMLess/DRAM Partial存储系统中Buffer的利用率,实现了Buffer的智能高效管理。
[0015]进一步地,本实施例通过基于硬件实现的Buffer管理组件来实现Buffer的智能高效管理,这能减少CPU管理Buffer的开销。
附图说明
[0016]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0017]图1为本申请实施例提供的方法流程图;
[0018]图2为本申请实施例提供的组网结构图;
[0019]图3为本申请实施例提供的递归查找映射关系示意图;
[0020]图4为本申请实施例提供的Buffer划分示意图;
[0021]图5为本申请实施例提供的Buffer分配流程图;
[0022]图6a为本申请实施例提供的数据下刷操作示意图;
[0023]图6b为本申请实施例提供的数据淘汰操作示意图;
[0024]图7为本申请实施例提供的装置的结构示意图;
[0025]图8为本申请实施例提供的硬盘设备结构图。
具体实施方式
[0026]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及
附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0027]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0028]为了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Buffer管理方法,其特征在于,该方法应用于DRAMLess/DRAM Partial存储系统中基于硬件实现的Buffer管理组件,Buffer管理组件连接在DRAMLess/DRAM Partial存储系统中的系统总线上;该方法包括:在调度任务Task时,若发现至少一个任务队列被标记了紧急状态标识,则停止为未被标记紧急状态标识的任一任务队列中的任务分配Buffer,并将被标记了紧急状态标识的任务队列中的至少一个任务确定为待分配Buffer的目标任务,为所述目标任务分配所需的目标Buffer空间;所述目标Buffer空间包含目标Buffer区域中的至少一个Buffer块,所述目标Buffer区域为目标任务对应的Buffer区域;所述DRAMLess/DRAM Partial存储系统中指定Buffer空间被划分为多个Buffer区域,每一Buffer区域对应所述DRAMLess/DRAM Partial存储系统中固态硬盘SSD被划分的至少一个区zone,当所述目标Buffer区域对应的zone被确定为第一状态时,所述目标任务所处队列被标记紧急状态标识,所述第一状态用于指示将所述目标任务所处队列标记为紧急状态标识;或者若发现任一任务队列均未被标记紧急状态标识,则依据各任务队列中任务的优先级,确定待分配Buffer的目标任务,为目标任务分配所需的目标Buffer空间;任一任务的优先级指示了该任务被分配Buffer块的顺序和数量。2.根据权利要求1所述的方法,其特征在于,所述多个Buffer区域中至少包括:第一类Buffer区域、第二类Buffer区域、第三类Buffer区域;其中,第一类Buffer区域包括各低级映射表的专用Buffer区域;第二类Buffer区域包括用户数据、以及各低级映射表共享的共享Buffer区域;第三类Buffer区域包括被用于存放各映射表类型下预设级别的映射表的高级Buffer区域;所述第三类Buffer区域中任一高级Buffer区域被预先存放了一映射表类型下预设级别的映射表。3.根据权利要求2所述的方法,其特征在于,该方法进一步包括:当通过所述系统总线接收到所述DRAMLess/DRAM Partial存储系统中CPU发送的更新命令时,更新已划分的至少一个Buffer区域;所述CPU是在监测到需要更新Buffer区域的事件下发送所述更新命令的。4.根据权利要求2所述的方法,其特征在于,所述为所述目标任务分配所需的目标Buffer空间包括:若目标Buffer区域存在的可用Buffer块的数量满足目标任务所需的目标Buffer空间,则从目标Buffer区域中分配目标任务所需的目标Buffer空间;若目标Buffer区域存在的可用Buffer块的数量不满足目标任务所需的目标Buffer空间,则从共享Buffer区域中获得目标任务所需的目标Buffer空间,或者,从所述目标Buffer区域存在的可用Buffer块中获得所述目标任务所需的第一Buffer空间,从共享Buffer区域中获得所述目标任务所需的第二Buffer空间,所述第一Buffer空间和所述第二Buffer空间的和为所述目标Buffer空间。5.根据权利要求1所述的方法,其特征在于,当所述目标Buffer区域对应的zone从所述第一状态更新为不同于第一状态的第二状态时,该方法进一步包括:删除所述目标任务所处队列被标记的紧急状态标识;并在所述第二状态指示将其它任务所处队列标记为紧急状态标识时,将该其它任务所处队列标记为紧急状态标识。
6.根据权利要求1所述的方法,其特征在于,任一任务的优先级与该任务所需的zone、以及该任务的任务类型有关;其中,任务所需的zone被用于存放任务执行时需要的映射表或用户数据,任务所需的zone的优先级越高,则该任务的优先级越高;任一zone的优先级依赖于该zone存放的映射表的级别,存放了高级别映射表的z...

【专利技术属性】
技术研发人员:冯星刘璨万婷霍文捷
申请(专利权)人:杭州海康存储科技有限公司
类型:发明
国别省市:

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

1