缓存状态记录方法、数据访问方法及相关装置、设备制造方法及图纸

技术编号:37559227 阅读:13 留言:0更新日期:2023-05-15 07:42
本发明专利技术实施例提供了一种缓存状态记录方法、数据访问方法及相关装置、设备,所述方法应用于侦听过滤器,所述侦听过滤器中配置有主机缓存记录表,所述主机缓存记录表用于记录主机的缓存数据在主机缓存中的状态,以及,对应所述缓存数据的外设共享标识,所述外设共享标识用于指示所述缓存数据是否被外设设备共享,所述方法包括:在外设设备共享主机缓存中的缓存数据时,更新外设共享标识,以使得外设共享标识指示对应的缓存数据被外设设备共享;在处理器核独占缓存数据时,更新外设共享标识,以使得所述外设共享标识指示对应的缓存数据未被外设设备共享,所述方法能够实现外设设备中,缓存数据状态的记录。缓存数据状态的记录。缓存数据状态的记录。

【技术实现步骤摘要】
缓存状态记录方法、数据访问方法及相关装置、设备


[0001]本专利技术实施例涉及计算机
,具体涉及一种缓存状态记录方法、数据访问方法及相关装置、设备。

技术介绍

[0002]CXL(Compute Express Link)互连协议是一种用于实现主机和设备的缓存一致性的协议,用于使得主机缓存的数据和设备缓存的数据保持一致,从而避免计算设备内出现数据冲突。
[0003]CXL协议支持缓存一致性协议,缓存一致性协议是一种多核处理器场景下,用于实现主机内,多个处理器核各自分别配置的缓存内的数据的一致性的协议。其中,缓存一致性协议将各缓存中的缓存数据划分为多个不同的状态,以表示对应的缓存数据被多个处理器核的共享程度,并基于对应的状态执行不同的操作。在CXL协议中,对应将外设设备缓存中的缓存数据进行对应的状态划分,并基于对应的状态执行对应的操作。
[0004]相应的,在基于CXL协议执行对应的缓存数据的访问时,需要记录外设设备中的缓存数据的状态,从而基于对应的状态进行对应的操作。如何记录外设设备中,缓存数据的状态,是本领域技术人员亟待解决的一个技术问题。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种缓存状态记录方法、数据访问方法及相关装置、设备,能够实现外设设备中,缓存数据状态的记录。
[0006]为实现上述目的,本专利技术实施例提供如下技术方案:
[0007]本专利技术实施例提供了一种缓存状态记录方法,应用于侦听过滤器,所述侦听过滤器中配置有主机缓存记录表,所述主机缓存记录表用于记录主机的缓存数据在主机缓存中的状态,以及,对应所述缓存数据的外设共享标识,所述外设共享标识用于指示所述缓存数据是否被外设设备共享,所述方法包括:
[0008]在外设设备共享主机缓存中的缓存数据时,更新外设共享标识,以使得外设共享标识指示对应的缓存数据被外设设备共享;
[0009]在处理器核独占缓存数据时,更新外设共享标识,以使得所述外设共享标识指示对应的缓存数据未被外设设备共享。
[0010]可选的,在外设设备独占缓存数据时,还包括:
[0011]发送设备缓存信息更新请求,以更新内存中的设备缓存信息,使所述设备缓存信息指示对应的内存数据被外设设备缓存独占的状态。
[0012]可选的,在外设设备独占缓存数据时,还包括:
[0013]删除主机缓存记录表中,对应所述缓存数据的状态条目。
[0014]可选的,在处理器核独占缓存数据时,还包括:
[0015]更新主机缓存记录表中,对应所述缓存数据在主机缓存中的状态,以使得主机缓
存记录表中缓存数据的状态指示所述缓存数据被处理器核独占。
[0016]可选的,在处理器核独占缓存数据,且主机缓存记录表不存在待访问数据的缓存状态时,还包括:
[0017]向内存控制器发送设备缓存信息更新请求,以更新内存中的设备缓存信息,使所述设备缓存信息指示对应的内存数据被外设设备缓存为无效的状态。
[0018]本专利技术实施例还提供了一种数据访问方法,应用于侦听过滤器,包括:
[0019]获取访问请求,所述访问请求用于使请求发起方访问待访问数据,所述访问请求中包括所述请求发起方所需获取的权限信息;
[0020]查询主机缓存记录表中是否存在所述待访问数据的缓存状态,所述主机缓存记录表用于记录主机的缓存数据在主机缓存中的状态,以及,对应该缓存数据的外设共享标识,所述外设共享标识用于指示所述缓存数据是否被外设设备共享;
[0021]基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理。
[0022]可选的,所述访问请求中,请求发起方为外设设备,且所述外设设备的设备缓存请求获取待访问数据的共享权限;
[0023]在主机缓存记录表存在所述待访问数据的缓存状态时,所述基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理,包括:
[0024]向缓存所述待访问数据的处理器核发送数据获取请求,所述数据获取请求用于获取所述处理器核缓存的所述待访问数据;
[0025]在所述处理器核发送所述待访问数据后,获取所述处理器核发送的待访问数据;
[0026]将所述待访问数据发送至所述外设设备;
[0027]执行所述主机缓存记录表的更新流程,以使主机缓存记录表中对应所述待访问数据的所述外设共享标识指示对应的缓存数据被外设设备共享。
[0028]可选的,所述访问请求中,请求发起方为多个处理器核中的一处理器核,且所述处理器核请求获取待访问数据的独占权限;
[0029]在主机缓存记录表存在所述待访问数据的缓存状态,且所述待访问数据被设备缓存共享时,所述基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理,包括:
[0030]向缓存所述待访问数据的处理器核发送数据处理请求,向外设设备发送数据清除请求,所述数据处理请求用于获取所述待访问数据,并清除对应缓存的缓存数据,所述数据清除请求用于清除对应缓存的缓存数据;
[0031]在缓存所述待访问数据的处理器核响应所述数据处理请求,发送所述待访问数据至所述侦听过滤器,并清除对应所述待访问数据的缓存数据后,获取所述待访问数据;
[0032]在外设设备响应所述数据清除请求,清除对应所述待访问数据的缓存数据,并发送响应消息至所述侦听过滤器后,将所述待访问数据发送至发起所述访问请求的所述处理器核;
[0033]执行所述主机缓存记录表的更新流程,以使主机缓存记录表中记录对应所述待访问数据的独占状态,且使对应所述待访问数据的外设共享标识指示对应的缓存数据未被外设设备共享。
[0034]可选的,在主机缓存记录表不存在所述待访问数据的缓存状态时,所述基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理,包括:
[0035]向内存控制器发送数据读取请求,所述数据读取请求用于读取所述待访问数据,以及对应所述待访问数据的设备缓存信息;
[0036]在内存控制器响应所述数据读取请求,发送所述待访问数据和对应所述待访问数据的设备缓存信息至所述侦听过滤器后,获取所述待访问数据;
[0037]查询所述设备缓存信息,确定是否存在外设设备缓存所述待访问数据的其他状态;
[0038]若是,发送数据清除请求,所述数据清除请求用于请求外设设备清除对应所述待访问数据的缓存数据;在外设设备响应所述数据处理请求,清除对应所述待访问数据的缓存数据,并发送响应消息至所述侦听过滤器后,将所述待访问数据发送至所述处理器核;
[0039]以及,执行所述主机缓存记录表的更新流程,以使主机缓存记录表中记录对应所述待访问数据的独占状态,且使对应所述待访问数据的外设共享标识指示对应的缓存数据未被外设设备共享;并且,执行设备缓存信息更新流程,以使所述设备缓存信息指示对应的内存数据被外设设备缓存为无效的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存状态记录方法,其特征在于,应用于侦听过滤器,所述侦听过滤器中配置有主机缓存记录表,所述主机缓存记录表用于记录主机的缓存数据在主机缓存中的状态,以及,对应所述缓存数据的外设共享标识,所述外设共享标识用于指示所述缓存数据是否被外设设备共享,所述方法包括:在外设设备共享主机缓存中的缓存数据时,更新所述外设共享标识,以使得所述外设共享标识指示对应的缓存数据被外设设备共享;在处理器核独占缓存数据时,更新所述外设共享标识,以使得所述外设共享标识指示对应的缓存数据未被外设设备共享。2.根据权利要求1所述的方法,其特征在于,在外设设备独占缓存数据时,还包括:发送设备缓存信息更新请求,以更新内存中的设备缓存信息,使所述设备缓存信息指示对应的内存数据被外设设备缓存独占的状态。3.根据权利要求2所述的方法,其特征在于,在外设设备独占缓存数据时,还包括:删除主机缓存记录表中,对应所述缓存数据的状态条目。4.根据权利要求1所述的方法,其特征在于,在处理器核独占缓存数据时,还包括:更新所述主机缓存记录表中,对应所述缓存数据在主机缓存中的状态,以使得所述主机缓存记录表中缓存数据的状态指示所述缓存数据被处理器核独占。5.根据权利要求1所述的方法,其特征在于,在处理器核独占缓存数据,且所述主机缓存记录表不存在待访问数据的缓存状态时,还包括:向内存控制器发送设备缓存信息更新请求,以更新内存中的设备缓存信息,使所述设备缓存信息指示对应的内存数据被外设设备缓存为无效的状态。6.一种数据访问方法,其特征在于,应用于侦听过滤器,包括:获取访问请求,所述访问请求用于使请求发起方访问待访问数据,所述访问请求中包括所述请求发起方所需获取的权限信息;查询主机缓存记录表中是否存在所述待访问数据的缓存状态,所述主机缓存记录表用于记录主机的缓存数据在主机缓存中的状态,以及,对应该缓存数据的外设共享标识,所述外设共享标识用于指示所述缓存数据是否被外设设备共享;基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理。7.根据权利要求6所述的方法,其特征在于,所述访问请求中,所述请求发起方为外设设备,且所述外设设备的设备缓存请求获取待访问数据的共享权限;在所述主机缓存记录表存在所述待访问数据的缓存状态时,所述基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理,包括:向缓存所述待访问数据的处理器核发送数据获取请求,所述数据获取请求用于获取所述处理器核缓存的所述待访问数据;在所述处理器核发送所述待访问数据后,获取所述处理器核发送的待访问数据;将所述待访问数据发送至所述外设设备;执行所述主机缓存记录表的更新流程,以使所述主机缓存记录表中对应所述待访问数据的所述外设共享标识指示对应的缓存数据被外设设备共享。8.根据权利要求6所述的方法,其特征在于,所述访问请求中,所述请求发起方为多个
处理器核中的一处理器核,且所述处理器核请求获取待访问数据的独占权限;在所述主机缓存记录表存在所述待访问数据的缓存状态,且所述待访问数据被设备缓存共享时,所述基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理,包括:向缓存所述待访问数据的处理器核发送数据处理请求,向外设设备发送数据清除请求,所述数据处理请求用于获取所述待访问数据,并清除对应缓存的缓存数据,所述数据清除请求用于清除对应缓存的缓存数据;在缓存所述待访问数据的处理器核响应所述数据处理请求,发送所述待访问数据至所述侦听过滤器,并清除对应所述待访问数据的缓存数据后,获取所述待访问数据;在外设设备响应所述数据清除请求,清除对应所述待访问数据的缓存数据,并发送响应消息至所述侦听过滤器后,将所述待访问数据发送至发起所述访问请求的所述处理器核;执行所述主机缓存记录表的更新流程,以使主机缓存记录表中记录对应所述待访问数据的独占状态,且使对应所述待访问数据的外设共享标识指示对应的缓存数据未被外设设备共享。9.根据权利要求8所述的方法,其特征在于,在所述主机缓存记录表不存在所述待访问数据的缓存状态时,所述基于所述访问请求所需获取的权限和所述主机缓存记录表中的信息,执行对待访问数据的处理,包括:向内存控制器发送数据读取请求,所述数据读取请求用于读取所述待访问数据,以及对应所述待访问数据的设备缓存信息;在内存控制器响应所述数据读取请求,发送所述待访问数据和对应所述待访问数据的设备缓存信息至所述侦听过滤器后,获取所述待访问数据;查询所述设备缓存信息,确定是否存在外设设备缓存所述待访问数据的其他状态;若是,发送数据清除请求,所述数据清除请求用于请求外设设备清除对应所述待访问数据的缓存数据;在外设设备响应所述数据处理请求,清除对应所述待访问数据的缓存数据,并发送响应消...

【专利技术属性】
技术研发人员:徐祥俊魏家明
申请(专利权)人:成都海光集成电路设计有限公司
类型:发明
国别省市:

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

1