一种高速缓存管理方法、装置、系统、设备及介质制造方法及图纸

技术编号:34630040 阅读:21 留言:0更新日期:2022-08-20 09:42
本发明专利技术涉及缓存管理领域,公开了一种高速缓存管理方法、装置、系统、设备及介质,包括:存储系统高速缓存管理器接收目标用户发送的目标操作请求,通过流水线方式处理目标操作请求,以便利用目标操作请求对缓存行执行对应的处理操作;将目标操作请求的处理结果反馈至目标用户,并通过软件高速缓存管理器根据处理结果执行对应的高速缓存维护操作。可见,在本方案中,针对实时性要求较低的高速缓存维护操作,可通过软件高速缓存管理器实现,针对实时性要求较高的操作请求,可通过存储系统高速缓存管理器以流水线方式并行处理,降低缓存行操作的处理延迟,提高高速缓存管理的实时性。提高高速缓存管理的实时性。提高高速缓存管理的实时性。

【技术实现步骤摘要】
一种高速缓存管理方法、装置、系统、设备及介质


[0001]本专利技术涉及缓存管理
,更具体地说,涉及一种高速缓存管理方法、装置、系统、设备及介质。

技术介绍

[0002]在计算机系统中,Cache是一种用于存放少量,且需要被快速访问的临时数据的一种存储器,例如常见的位于CPU(central processing unit,中央处理器)和主存储器之间的CPU Cache。而在外部存储系统中,磁盘或者固态硬盘由于其存储介质的物理特性,拥有各自不同的访问延迟。这个延迟一般是远远大于主存储器的访问延迟的。为了加快外部存储的访问速度,磁盘或者固态硬盘上一般使用DRAM(Dynamic Random Access Memory,动态随机存取存储器)作为盘上数据Cache。更进一步的,对于位置处于磁盘、固态盘和主机CPU之间的存储加速卡,例如Raid(Redundant Arrays of Independent Disks,磁盘阵列)卡这类设备,为了提高整个存储系统的性能,也需要具备Cache。
[0003]在实践中,一个外部存储的Cache管理系统一般至少需要支持以下功能:1、Cache entry和Cache line的申请和释放;其中,Cache line为缓存行,是Cache操作的基本单位;Cache entry特指在存储Cache系统中管理Cache Line的节点,与Cache Line一一对应且指向Cache Line;2、Cache entry到Cache line的映射;3、Cache hit/miss的判断;其中,Cache Hit为Cache 命中,表示某次访问时,需要被操作的数据在Cache中被找到;Cache Miss为Cache 未命中,表示某次访问时,需要被操作的数据未在Cache中被找到;4、保证Cache Line和外部存储数据的一致性。
[0004]在外部存储系统中,基于CPU软件实现的Cache管理系统较为常见。一般使用哈希表的形式来组织和存储Cache Entry。参见图1,为哈希表示意图;如图1所示,多个Cache Entry存放在一个哈希表(Hash Table)中,Hash值(散列,是把任意长度的输入数据(key)通过散列算法变换成固定长度的输出,是一种压缩映射)相同的Cache Entry存放在同一个双向链表中。而属于同一个存储介质的(例如硬盘驱动器HDD_0或Logic Drive 0)的Cache Entry使用则使用另外一个双向链表(虚线)连接。哈希表中的每个Cache Entry都指向一条Cache line。
[0005]但是,该方案的主要缺点有:1、软件负责的Cache管理,包括分配,释放和Cache hit/miss检测,往往需要遍历链表,导致耗时较长且时延抖动,对实时性无法保证。
[0006]2、当有多个Cache访问者进行Cache操作时,往往需要软件使用互斥锁等机制来串行进行,由于被保护的临界区耗时较长,使得多个请求需排队等待,影响了吞吐率,CPU单核性能成为了系统性能瓶颈。
[0007]因此,如何降低Cache操作的延迟,提高Cache管理的实时性,是本领域技术人员需
要解决的问题。

技术实现思路

[0008]本专利技术的目的在于提供一种高速缓存管理方法、装置、系统、设备及介质,以降低Cache操作的延迟,提高Cache管理的实时性。
[0009]为实现上述目的,本专利技术提供一种高速缓存管理方法,所述高速缓存管理方法应用于存储系统高速缓存管理器,所述高速缓存管理方法包括:接收目标用户发送的目标操作请求;通过流水线方式处理所述目标操作请求,以便利用所述目标操作请求对缓存行执行对应的处理操作;将所述目标操作请求的处理结果反馈至所述目标用户,并通过软件高速缓存管理器根据所述处理结果执行对应的高速缓存维护操作。
[0010]其中,利用所述目标操作请求对缓存行执行对应的处理操作,包括:根据所述目标操作请求中的键值计算目标哈希值;利用所述目标哈希值在目标数据表中进行查表;若未查找到对应的目标地址,则输出对应的查询结果;若查找到目标地址,则根据所述目标地址在对应的缓存条目表中进行检索,并将检索到的键值与所述目标操作请求的键值进行比较,输出对应的查询结果;根据查询结果及所述目标操作请求执行对应的处理操作。
[0011]其中,根据所述目标操作请求中的键值计算目标哈希值之前,还包括:利用仲裁规则对各目标操作请求进行优先级排序。
[0012]其中,所述利用仲裁规则对各目标操作请求进行优先级排序之后,还包括:若所述目标操作请求为分配请求,则判断所述分配请求是否超出剩余配额;若否,则继续执行根据所述目标操作请求中的键值计算目标哈希值的步骤;若是,则根据超额配置模式处理所述目标操作请求。
[0013]其中,所述判断所述分配请求是否超出剩余配额,包括:确定所述分配请求的键值;根据所述分配请求的键值确定对应的缓存计数;判断所述缓存计数加一后是否大于对应的第一门限值;若是,则判定所述分配请求超出剩余配额;若否,则判断所述缓存计数加一后的全局计数是否大于对应的第二门限值;若大于对应的第二门限值,则判定所述分配请求超出剩余配额;若不大于对应的第二门限值,则判定所述分配请求未超出剩余配额。
[0014]其中,所述根据超额配置模式处理所述目标操作请求,包括:若所述超额配置模式为警告模式,则继续根据所述目标操作请求中的键值计算目标哈希值,并生成对应的事件信息发送至所述软件高速缓存管理器;若所述超额配置模式为阻塞模式,则直接生成处理失败的处理结果。
[0015]其中,根据所述目标操作请求中的键值计算目标哈希值,利用所述目标哈希值在目标数据表中进行查表,包括:
根据各目标操作请求中的键值计算对应的目标哈希值,并将目标操作请求及对应的目标哈希值存储至第一目标队列;从所述第一目标队列中获取未查表的目标操作请求的目标哈希值,根据获取的目标哈希值在目标数据表中进行查表;将已查表的目标操作请求及对应的目标哈希值从所述第一目标队列中删除,并添加至第二目标队列;若接收到目标操作请求已处理的通知信息,则将与所述通知信息对应的目标操作请求及对应的目标哈希值从所述第二目标队列中删除。
[0016]其中,所述根据各目标操作请求中的键值计算对应的目标哈希值之后,还包括:判断所述目标哈希值与目标队列中操作请求的哈希值是否碰撞;所述目标队列包括所述第一目标队列及所述第二目标队列;若否,则继续执行将目标操作请求及对应的目标哈希值存储至第一目标队列的步骤;若是,则暂缓将目标操作请求及对应的目标哈希值存储至第一目标队列,若检测到所述目标队列中不存在与所述目标哈希值碰撞的哈希值,则继续执行将目标操作请求及对应的目标哈希值存储至第一目标队列的步骤。
[0017]其中,所述目标操作请求为以下请求中的任意一者:分配请求、释放请求、检查请求、锁定请求、解锁请求、设置请求。
[0018]其中,所述接收目标用户发送的目标操作请求,包括:接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高速缓存管理方法,其特征在于,所述高速缓存管理方法应用于存储系统高速缓存管理器,所述高速缓存管理方法包括:接收目标用户发送的目标操作请求;通过流水线方式处理所述目标操作请求,以便利用所述目标操作请求对缓存行执行对应的处理操作;将所述目标操作请求的处理结果反馈至所述目标用户,并通过软件高速缓存管理器根据所述处理结果执行对应的高速缓存维护操作。2.根据权利要求1所述的高速缓存管理方法,其特征在于,利用所述目标操作请求对缓存行执行对应的处理操作,包括:根据所述目标操作请求中的键值计算目标哈希值;利用所述目标哈希值在目标数据表中进行查表;若未查找到对应的目标地址,则输出对应的查询结果;若查找到目标地址,则根据所述目标地址在对应的缓存条目表中进行检索,并将检索到的键值与所述目标操作请求的键值进行比较,输出对应的查询结果;根据查询结果及所述目标操作请求执行对应的处理操作。3.根据权利要求2所述的高速缓存管理方法,其特征在于,根据所述目标操作请求中的键值计算目标哈希值之前,还包括:利用仲裁规则对各目标操作请求进行优先级排序。4.根据权利要求3所述的高速缓存管理方法,其特征在于,所述利用仲裁规则对各目标操作请求进行优先级排序之后,还包括:若所述目标操作请求为分配请求,则判断所述分配请求是否超出剩余配额;若否,则继续执行根据所述目标操作请求中的键值计算目标哈希值的步骤;若是,则根据超额配置模式处理所述目标操作请求。5.根据权利要求4所述的高速缓存管理方法,其特征在于,所述判断所述分配请求是否超出剩余配额,包括:确定所述分配请求的键值;根据所述分配请求的键值确定对应的缓存计数;判断所述缓存计数加一后是否大于对应的第一门限值;若是,则判定所述分配请求超出剩余配额;若否,则判断所述缓存计数加一后的全局计数是否大于对应的第二门限值;若大于对应的第二门限值,则判定所述分配请求超出剩余配额;若不大于对应的第二门限值,则判定所述分配请求未超出剩余配额。6.根据权利要求4所述的高速缓存管理方法,其特征在于,所述根据超额配置模式处理所述目标操作请求,包括:若所述超额配置模式为警告模式,则继续根据所述目标操作请求中的键值计算目标哈希值,并生成对应的事件信息发送至所述软件高速缓存管理器;若所述超额配置模式为阻塞模式,则直接生成处理失败的处理结果。7.根据权利要求2所述的高速缓存管理方法,其特征在于,根据所述目标操作请求中的键值计算目标哈希值,利用所述目标哈希值在目标数据表中进行查表,包括:
根据各目标操作请求中的键值计算对应的目标哈希值,并将目标操作请求及对应的目标哈希值存储至第一目标队列;从所述第一目标队列中获取未查表的目标操作请求的目标哈希值,根据获取的目标哈希值在目标数据表中进行查表;将已查表的目标操作请求及对应的目标哈希值从所述第一目标队列中删除,并添加至第二目标队列;若接收到目标操作请求已处理的通知信息,则将与所述通知信息对应的目标操作请求及对应的目标哈希值从所述第二目标队列中删除。8...

【专利技术属性】
技术研发人员:崔健王江李树青李幸远巨新刚吴睿振
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1