一种实现数据一致性的方法及装置的制造方法

文档序号:9375642阅读:444来源:国知局
一种实现数据一致性的方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据存储一致性的技术领域,尤其涉及一种实现数据一致性的方法及
目.ο
【背景技术】
[0002]目前,片内多处理器系统中的多个处理器都具有各自的高速缓冲存储器(cache),在保证多个cache之间以及cache与共享存储器之间的数据一致性时,会影响系统的性能和系统的精确性,因此,如何更有效地保证片内多处理器系统中数据存储的一致性是急需解决的重要问题。

【发明内容】

[0003]针对现有技术存在的问题,本发明实施例提供了一种实现数据一致性的方法及装置。
[0004]本发明实施例提供了一种实现数据一致性的装置,所述装置包括:从接口单元及监听控制单元;其中,
[0005]所述从接口单元,用于确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理,并将协议转换处理后的数据一致性请求发送至所述监听控制单元;
[0006]所述监听控制单元,用于根据所述从接口单元发送的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
[0007]上述方案中,所述监听控制单元,还用于当收到的数据一致性请求为两个以上数据一致性请求时,对收到的两个以上数据一致性请求的执行进行仲裁,根据仲裁后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
[0008]上述方案中,所述从接口单元,还用于确定支持接收的数据一致性请求对应的协议时,将接收的数据一致性请求发送至所述监听控制单元。
[0009]上述方案中,所述从接口单元包括:第一从接口单元及第二从接口单元;其中,
[0010]所述第一从接口单元,用于将接收的来自第一主设备单元的第一读数据一致性请求发送至所述监听控制单元;
[0011]所述第二从接口单元,用于将接收的来自第二主设备单元的数据一致性请求进行协议转换处理,并将协议转换处理后的数据一致性请求发送至所述监听控制单元。
[0012]上述方案中,所述第二从接口单元,具体用于:将接收的第二主设备单元发送的支持高级可扩展接口(AXI,Advanced extensible Interface)协议的数据一致性请求转换成支持ACE_Lite协议的数据一致性请求;并将协议转换后的数据一致性请求的字节数转换成完整缓存数据行Full Cache Line字节数。
[0013]上述方案中,所述第二从接口单元包括:协议转换子单元、读操作转换子单元、读接口子单元、写操作转换子单元、以及写接口子单元;其中,
[0014]所述协议转换子单元,用于将接收的第二主设备单元发送的支持AXI协议的数据一致性请求转换成支持ACE_Lite协议的数据一致性请求;
[0015]所述读操作转换子单元,用于当第二主设备单元发送的数据一致性请求为第二读数据一致性请求时,将协议转换后的第二读数据一致性请求的字节数转换成完整缓存数据行 Full Cache Line 字节数;
[0016]所述读接口子单元,用于为所述字节数转换后的第二读数据一致性请求分发第二读数据一致性请求通道,复用读数据通道;
[0017]所述写操作转换子单元,用于当第二主设备单元发送的数据一致性请求为第二写数据一致性请求时,将协议转换后的第二写数据一致性请求的字节数转换成完整缓存数据行 Full Cache Line 字节数;
[0018]所述写接口子单元,用于为所述字节数转换后的第二写数据一致性请求分发第二写数据一致性请求通道,缓存写数据响应通道。
[0019]上述方案中,所述第二从接口单元还包括:仲裁子单元,用于当同时收到所述读接口子单元与所述写接口子单元发送的数据一致性请求时,对所述字节数转换后的第二读数据一致性请求及所述字节数转换后的第二写数据一致性请求的执行进行仲裁,并根据仲裁后的第二读数据一致性请求或第二写数据一致性请求向所述监听控制单元发送相应的数据一致性请求。
[0020]上述方案中,所述读接口子单元还用于阻塞传输事务间顺序。
[0021]上述方案中,写接口子单元还用于阻塞传输事务间顺序、处理写后写WAW和读后写RAW冲突。
[0022]上述方案中,所述第一从接口单元,还用于将来自第一主设备单元的第一写数据一致性请求发送至互连单元,直接向互连单元发起写操作。
[0023]上述方案中,所述监听控制单元包括标记控制子单元及数据交换子单元;其中,
[0024]所述标记控制子单元,用于接收第一从接口单元发送的第一读和/或第一写数据一致性请求、第二从接口单元发送的第二读和/或第二写一致性请求及数据交换子单元发送的无效请求invalidate,并对这些请求的执行进仲裁;当仲裁后的请求是第一读数据一致性请求或第二读数据一致性请求时,根据第一读数据一致性请求或第二读数据一致性请求查找标记存储器,如果查找到标记存储器,则根据标记存储器中的完整缓存数据行FullCache Line信息生成命中结果;若命中结果中的完整缓存数据行Full Cache Line是有效状态,则向所述数据交换子单元发送监听请求,以获取读数据;若命中结果中的完整缓存数据行FulI Cache Line是无效状态或命中结果中不存在完整缓存数据行FulI Cache Line,则利用互连单元获取读数据;
[0025]所述数据交换子单元,用于根据命中信息将所述监听请求发送至第一主设备单元,接收第一主设备单元返回的监听响应和监听数据,并将监听数据发送至第一从接口单元或第二从接口单元后,向第一从接口单元或第二从接口单元发送数据一致性请求操作完成指示。
[0026]上述方案中,所述标记控制子单元,还用于当监听请求无响应时,利用互连单元获取读数据。
[0027]上述方案中,所述数据交换子单元,还用于收到第二从接口单元发送的无效请求后,向第二从接口单元返回无效请求响应;并向所述标记控制子单元发送对应标记存储的无效请求;
[0028]相应地,所述标记控制子单元,还用于收到数据交换子单元的无效请求后,将相应标记存储器设置成无效状态,同时根据收到的写回请求中的更新消息更新标记存储器;
[0029]第二从接口单元,还用于收到数据交换子单元的响应后,向互连单元发起写操作。
[0030]上述方案中,所述监听控制单元还包括仲裁子单元,用于:对标记控制子单元发送的读外部存储器memory请求及所述数据交换子单元发送的读外部存储器请求的执行进行仲裁,并将仲裁后的读请求发送至互连单元,接收互连单元返回的读数据。
[0031]本发明实施例还提供了一种实现数据一致性的方法,所述方法还包括:
[0032]确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理;
[0033]根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
[0034]上述方案中,所述对接收的数据一致性请求进行协议转换处理,包括:
[0035]将接收的支持AXI协议的数据一致性请求转换成支持ACE_Lite协议的数据一致性请求;并将协议转换后的数据一致性请求的字节数转换成完整缓存数据行Full CacheLine字节数。
[0036]上述方案中,当接收的数据一致性请求为读一致性请求时,所述根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作,包括:
[0037]根据协议转换处理后的读数据一致性请求,查找标记存储器,确定查找到标记存储器,向查找到的标记存储器对应的主设备单元发起监听,以获取读数据;确定未查找到标记存储器时,利用互连单元获取读数据。
[0038]上述方案中,所述方法还包括:
[0039]当监听无响应时,利用互连单元获取读数据。
[0040]上述方案中,当接收的数据一致性请求为写一致性请求时,所述根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作,包括:
[0041]根据字节数转换后的写数据一致性请求向实现数据一致性的装置的监听控制单元发送无效请求;
[0042]所述监听控制单元返回无效请求响应;
[0043]根据无效请求响应,向实现数据一致性的装置的互连单元发起写操作。
[0044]上述方案中,所述方法还包括:
[0045]阻塞传输事务间顺序;和/或,
[0046]处理WAW和RAW冲突。
[0047]本发明实施例提供的实现数据一致性的装置及方法,确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理,根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作,如此,可通过协议转换处理,解决大多数系统中不兼容ACE_Lite协议的问题,从而有效的解决了片内多处理器系统中存在的共享数据一致性问题。
【附图说明】
[0048]图1为本发明实施例一提供的实现数据一致性的一种装置结构示意图;
[0049]图2为本发明实施例一提供的实现数据一致性的另一种装置结构示意图;
[0050]图3为本发明一具体实施例的实现数据一致性的装置结构示意图;
[0051]图4为本发明实施例一提供的第二从接口单元结构示意图;
[0052]图5为本发明实施例一、二提供的读数据一致性请求转换时的接口时序示意图;
[0053]图6为本发明实施例一提供的写数据一致性请求转换时的接口时序示意图;
[0054]图7为本发明实施例一提供的监听控制单元结构示意图;
[0055]图8为本发明实施例二提供的实现数据一致性的方法流程示意图。
【具体实施方式】
[0056]为了能更好的理解本发明的内容,本文先介绍现有技术中常用的维护数据一致性的方法;现有技术中一般包括软件维护一致性的方法和硬件维护一致性的方法;软件维护一致性的方法虽然较容易实现,但精确性不高,并且在维护过程中会降低系统性能;硬件维护一致性的方法虽然设计复杂,但能够提高系统性能;例如,ARM公司发布的一种硬件维护一致性的架构,是基于高级微控制器总线架构(AMBA, Advanced Microcontroller BusArchitecture)的总线监听及 ACE(AXI Coherency Extens1ns)协议来实现的;其中,ACE协议是在AXI协议一致性方面扩展的协议,ACE_Lite协议是ACE协议的子集,一般来讲,自身有cache的处理器可以支持ACE协议,而自身没有cache的处理器则支持ACE_Lite协议。
[0057]但是,由于目前支持ACE协议的处理器较少,并且大部分输入输出(10,InputOutput)设备只支持AXI协议,不支持ACE_Lite协议。因此在绝大部分的片内多处理器系统中,是不能兼容ACE_Lite协议的,从而导致片内多处理器系统中存在共享数据一致性的问题。
[0058]基于此,在本发明的各种实施例中:确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理,根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
[0059]下面通过附图及具体实施例对本发明的技术方案做进一步地详细说明。
[0060]实施例一
[0061]本实施例提供一种实现数据一致性的装置,如图1所示,所述装置包括:从接口单元11及监听控制单元12;其中,
[0062]所述从接口单元11,用于确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理,并将协议转换处理后的数据一致性请求发送至所述监听控制单元12 ;
[0063]所述监听控制单元12,用于根据所述从接口单元11发送的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
[0064]这里,所述从接口单元11,还用于确定支持接收的数据一致性请求对应的协议时,直接将接收的数据一致性请求发送至所述监听控制单元12,以便所述监听控制单元12根据所述从接口单元11发送的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。其中,所述数据一致性请求包括读数据一致性请求及写数据一致性请求。
[0065]实际应用时,所述对接收的数据一致性请求进行协议转换处理,具体为:
[0066]对所述接收的数据一致性请求进行AXI协议到ACE_Lite协议的转换处理。
[0067]所述监听控制单元12,还用于当收到的数据一致性请求为两个以上数据一致性请求时,对收到的两个以上数据一致性请求的执行进行仲裁,根据仲裁后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
[0068]具体地,如图2所示,所述从接口单元11包括第一从接口单元111、第二从接口单元112 ;其中,
[0069]所述第一从接口单元111,用于将接收的来自第一主设备单元21的第一读数据一致性请求发送至所述监听控制单元12 ;
[0070]所述第二从接口单元112,用于将接收的来自第二主设备单元22的第二读数据一致性请求Read Once进行协议转换处理,并将协议转换处理后的第二读数据一致性请求Read Once发送至所述监听控制单元12 ;
[0071]所述监听控制单元12,用于对所述第一读数据一致性请求及第二读数据一致性请求Read Once的执行进行仲裁,根据仲裁后的第一读数据一致性请
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1