根据目录信息维护Cache数据一致性的方法及装置制造方法及图纸

技术编号:14677107 阅读:88 留言:0更新日期:2017-02-19 03:25
本发明专利技术公开了根据目录信息维护Cache数据一致性的方法及装置。所述方法包括:接收数据块状态变更请求;根据所述数据块状态变更请求确定主存储器系统区域中的指定数据块;根据保存在所述主存储器中的目录信息确定目标处理器,其中,所述目标处理器是指已将指定数据块存储至处理器Cache中的处理器;向所述目标处理器发送状态变更指示,所述数据块状态变更请求用于请求所述目标处理器变更目标处理器Cache中已缓存所述指定数据块的状态。采用本发明专利技术所提供的方法及装置,目录信息存储在主存储器中,从而可以避免使用互联芯片的目录存储空间,降低NUMA系统设计和实现的难度。

【技术实现步骤摘要】

本专利技术涉及数据块处理领域,尤其涉及根据目录信息维护Cache数据一致性的方法及装置
技术介绍
分布共享存储多处理器系统指由一个公共存储器和多个处理器所构成的数据块处理系统。在众多类型的分布共享存储多处理器系统中,非一致性内存架构(NonUniformMemoryAccessArchitecture,简称NUMA)系统以其方便的编程环境和较好的可扩展性,成为最常用的分布共享存储多处理器系统。NUMA系统通常由多个多处理器系统构成,其中每一个子系统中可以由主存储器(MainMemory)和若干处理器(Processer)构成,各个子处理系统之间可以共享主存储器的空间。由于NUMA系统中各个处理器共享主存储器,各个处理器都可以改写主存储器中的任意数据块,而各个处理器高速缓冲存储器(Cache)也可以缓存主存储器中的任意数据块,从而可能会出现第一处理器Cache缓存了主存储器中某个数据块后,该数据块又被第二处理器改写的情况,导致第一处理器Cache所缓存的数据与主存储器中的数据不一致。由于在NUMA系统中处理器的数量越多,出现处理器Cache所缓存的数据与主存储器中的数据不一致的可能性越大,因此处理器高速缓冲存储器(Cache)数据的一致性问题,成为限制NUMA系统规模及可扩展性的关键问题。现有技术中,NUMA系统通常会利用保存在互连芯片上的目录信息来保证Cache数据的一致性。具体来说,现有NUMA系统中通常会设有一个互连芯片,该互连芯片中开辟有目录存储空间,该目录存储空间用于保存目录信息,所述目录信息用于记录主存储器中各个数据块是否被处理器Cache所缓存,以及被哪个处理器Cache所缓存等。当某个指定处理器需要修改主存储器中某个数据块时,首先根据目录信息确定是否有处理器Cache中已经缓存了该数据块;当发现目标处理器Cache中缓存有该数据块时,该指定处理器可以向该目标处理器发送点对点的消息,以使其目标处理器Cache中已缓存的该数据块失效,在发送完所述点对点消息之后,所述指定处理器才能修改该数据块。采用此方式,可以确保系统中各个处理器Cache中已缓存的数据块与主存储器中数据块一致,从而解决处理器Cache数据的一致性问题。在利用目录信息来保证处理器Cache数据的一致性时,NUMA系统的扩展和处理器个数的增加会导致目录信息的数据量随之增加,目录存储器的存储空间也需要随着目录信息的数据量的增加而加大。因此,采用现有方法解决处理器Cache数据的一致性问题,在NUMA系统规模较大时,因此需要使用较的目录存储空间来存储目录信息互联芯片具有较大存储,而目录存储空间加大伴随的代价是互连芯片结构复杂化及芯片面积大幅增加。而互连芯片结构复杂化及芯片面积大幅增加,则会增加NUMA系统设计和实现的难度。
技术实现思路
本专利技术实施例提供了根据目录信息维护Cache数据一致性的方法及装置,可以降低NUMA系统设计和实现的难度。第一方面,本专利技术实施例提供了一种根据目录信息维护Cache数据一致性的方法,目录信息保存在主存储器中,所述目录信息用于记录主存储器系统区域中数据块被各个处理器高速缓冲存储器所缓存的状况,所述方法包括:接收数据块状态变更请求;根据所述数据块状态变更请求确定主存储器系统区域中的指定数据块;根据保存在所述主存储器中的目录信息确定目标处理器,其中,所述目标处理器是指已将指定数据块存储至处理器Cache中的处理器;向所述目标处理器发送状态变更指示,所述数据块状态变更请求用于请求所述目标处理器变更目标处理器Cache中已缓存所述指定数据块的状态。结合第一方面,在第一方面第一种可能的实现方式中,所述根据保存在所述主存储器中的目录信息确定目标处理器包括:检测所述主存储器的目录区域中是否存在与所述指定数据块对应的指定目录信息,所述主存储器的目录区域用于保存所述目录信息;当所述主存储器的目录区域中存在所述指定目录信息时,根据所述指定目录信息确定所述目标处理器。结合第一方面,在第一方面第二种可能的实现方式中,所述根据保存在所述主存储器中的目录信息确定目标处理器包括:检测互连芯片的目录缓存中是否存在与所述指定数据块对应的指定目录信息;当互连芯片的目录缓存中不存在所述指定目录信息时,检测所述主存储器的目录区域中是否存在与所述指定数据块对应的指定目录信息;当所述主存储器的目录区域中存在所述指定目录信息时,根据所述指定目录信息确定所述目标处理器。结合第一方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,所述方法还包括:当互连芯片的目录缓存中存在所述指定目录信息时,根据所述指定目录信息确定所述目标处理器。结合第一方面第二种可能的实现方式,在第二方面第四种可能的实现方式中,所述方法还包括:当互连芯片的目录缓存中不存在所述指定目录信息时,更新所述目录缓存中的目录信息。结合第一方面第二至四种可能的实现方式中任意一种,在第二方面第五种可能的实现方式中,所述目录缓存中保存的目录信息由所述主存储器目录区域中的目录信息以多路组相联方式映射生成。结合第一方面或第一方面第一至五种可能的实现方式中任意一种,在第一方面第六种可能的实现方式中,其特征在于,所述向目标处理器发送状态变更指示包括:当所述数据块状态变更请求为数据块改写请求时,向所述目标处理器发送失效指示,所述失效指示用于指示所述目标处理器失效目标处理器Cache中已缓存的所述指定数据块;或者,当所述数据块状态变更请求为数据块共享请求时,向所述目标处理器发送共享指示,所述共享指示用于指示所述目标处理器将目标处理器Cache中已缓存的所述指定数据块修改为共享模式。结合第一方面或第一方面第一至六种可能的实现方式中任意一种,在第一方面第七种可能的实现方式中,所述目录信息包括访问状态字段、信息状态字段及缓存指示字段,其中所述访问状态字段用于指示所述目录信息是否正在被访问,所述信息状态字段用于指示所述目录信息的状态,所述缓存指示字段用于指示所述目录信息所对应数据块被处理器Cache所缓存的状况。第二方面,本专利技术实施例提供了一种根据目录信息维护Cache数据一致性的装置,目录信息保存在主存储器中,所述目录信息用于记录主存储器系统区域中数据块被各个处理器高速缓冲存储器所缓存的状况,所述装置包括:接收单元,用于接收数据块状态变更请求;指定数据块确定单元,用于根据所述数据块状态变更请求确定主存储器系统区域中的指定数据块;目标处理器确定单元,用于根据保存在所述主存储器中的目录信息确定目标处理器,其中,所述目标处理器是指已将指定数据块存储至处理器Cache中的处理器;发送单元,用于向所述目标处理器发送状态变更指示,所述数据块状态变更请求用于请求所述目标处理器变更目标处理器Cache中已缓存所述指定数据块的状态。结合第二方面,在第二方面第一种可能的实现方式中,所述目标处理器确定单元,包括:第一检测子单元,用于检测所述主存储器的目录区域中是否存在与所述指定数据块对应的指定目录信息,所述主存储器的目录区域用于保存所述目录信息;第一确定子单元,用于在所述主存储器的目录区域中存在所述指定目录信息时,根据所述指定目录信息确定所述目标处理器。结合第二方面,在第二方面第二种可能本文档来自技高网
...
根据目录信息维护Cache数据一致性的方法及装置

【技术保护点】
一种根据目录信息维护高速缓冲存储器Cache数据一致性的方法,其特征在于,目录信息保存在主存储器中,所述目录信息用于记录主存储器系统区域中数据块被各个处理器高速缓冲存储器所缓存的状况,所述方法包括:接收数据块状态变更请求;根据所述数据块状态变更请求确定主存储器系统区域中的指定数据块;根据保存在所述主存储器中的目录信息确定目标处理器,其中,所述目标处理器是指已将指定数据块存储至处理器Cache中的处理器;向所述目标处理器发送状态变更指示,所述数据块状态变更请求用于请求所述目标处理器变更目标处理器Cache中已缓存所述指定数据块的状态。

【技术特征摘要】
1.一种根据目录信息维护高速缓冲存储器Cache数据一致性的方法,其特征在于,目录信息保存在主存储器中,所述目录信息用于记录主存储器系统区域中数据块被各个处理器高速缓冲存储器所缓存的状况,所述方法包括:接收数据块状态变更请求;根据所述数据块状态变更请求确定主存储器系统区域中的指定数据块;根据保存在所述主存储器中的目录信息确定目标处理器,其中,所述目标处理器是指已将指定数据块存储至处理器Cache中的处理器;向所述目标处理器发送状态变更指示,所述数据块状态变更请求用于请求所述目标处理器变更目标处理器Cache中已缓存所述指定数据块的状态。2.如权利要求1所述的方法,其特征在于,所述根据保存在所述主存储器中的目录信息确定目标处理器包括:检测所述主存储器的目录区域中是否存在与所述指定数据块对应的指定目录信息,所述主存储器的目录区域用于保存所述目录信息;当所述主存储器的目录区域中存在所述指定目录信息时,根据所述指定目录信息确定所述目标处理器。3.如权利要求1所述的方法,其特征在于,所述根据保存在所述主存储器中的目录信息确定目标处理器包括:检测互连芯片的目录缓存中是否存在与所述指定数据块对应的指定目录信息;当互连芯片的目录缓存中不存在所述指定目录信息时,检测所述主存储器的目录区域中是否存在与所述指定数据块对应的指定目录信息;当所述主存储器的目录区域中存在所述指定目录信息时,根据所述指定目录信息确定所述目标处理器。4.如权利要求3所述的方法,其特征在于,所述方法还包括:当互连芯片的目录缓存中存在所述指定目录信息时,根据所述指定目录信息确定所述目标处理器。5.如权利要求3所述的方法,其特征在于,所述方法还包括:当互连芯片的目录缓存中不存在所述指定目录信息时,更新所述目录缓存中的目录信息。6.如权利要求3至5任一项所述的方法,其特征在于,所述目录缓存中保存的目录信息由所述主存储器目录区域中的目录信息以多路组相联方式映射生成。7.如权利要求1至6任一项所述的方法,其特征在于,所述向目标处理器发送状态变更指示包括:当所述数据块状态变更请求为数据块改写请求时,向所述目标处理器发送失效指示,所述失效指示用于指示所述目标处理器失效目标处理器Cache中已缓存的所述指定数据块;或者,当所述数据块状态变更请求为数据块共享请求时,向所述目标处理器发送共享指示,所述共享指示用于指示所述目标处理器将目标处理器Cache中已缓存的所述指定数据块修改为共享模式。8.如权利要求1至7任意一项所述的方法,其特征在于,所述目录信息包括访问状态字段、信息状态字段及缓存指示字段,其中所述访问状态字段用于指示所述目录信息是否正在被访问,所述信息状态字段用于指示所述目录信息的状态,所述缓存指示字段用于指示所述目录信息所对应数据块被处理器Cache所缓存的状况。9.一种根据目录信息维护高速缓冲存储器Cache数据一致性的装置,其特征在于,目录信...

【专利技术属性】
技术研发人员:林伟彬凌文凯陈亚军
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江;33

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

1