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

文档序号:9375642阅读:来源:国知局
单元向外部存储器memory发送写操作,以将dirty数据写入外部存储器memory中。
[0184]这里,由于监听控制单元是用于维护第一主设备单元中两个cluster之间的数据一致性,但是若要采用现有技术中记录完整缓存数据行Full Cache Line状态的方法,来记录各个完整缓存数据行Full Cache Line状态,将需要消耗非常大的资源,并且方法复杂,难以实现;因此,本实施例中,所述监听控制单元采用的是分段地址计数法,来记录各个cluster中完整缓存数据行Full Cache Line的存在状态,不但容易实现,而且能较精确地记录完整缓存数据行Full Cache Line的状态。
[0185]所述方法包括两个基本特性:(I)如果监听控制单元中的记录表明某完整缓存数据行Full Cache Line存在某个cluster中,但实际上,由于监听算法的不精准性,导致该完整缓存数据行Full Cache Line很有可能在该cluster中是处于无效状态的;(2)如果监听控制单元中的记录表明该cluster中不存在完整缓存数据行Full Cache Line,则该cluster肯定不包含该完整缓存数据行Full Cache Line,即该完整缓存数据行FullCache Line在这个cluster中肯定处于无效状态;因此,可以精确记录完整缓存数据行Full Cache Line 的状态。
[0186]本步骤中,为了避免死锁,还需要对传输事务间顺序ordering进行阻塞、处理写后写WAW和读后写RAW之间的冲突;其中,
[0187]所述阻塞传输事务间顺序ordering包括:所有一致性传输数据请求全部结束后,当前无一致性传输数据的请求才能发出;或者,所有无一致性传输数据请求全部结束后,当前一致性传输数据的请求才能发出。
[0188]对于WAW冲突,将字节数转换后的写数据一致性请求Write Unique发送至第一从接口单元中,若与所述其他写数据一致性请求之间存在冲突,则会阻塞其他写数据一致性请求,直至字节数转换后的写数据一致性请求完成操作;所述WAW冲突是指第一主设备单元对该地址区域进行写操作之后,第二主设备单元对该地址区域进行写操作;或者指第二主设备单元对该地址区域进行写操作之后,第一主设备单元对该地址区域进行写操作。
[0189]对于RAW冲突,利用CAM保存未处理的数据一致性请求的写地址通道标识awid地址,发送第二读数据一致性的miss地址,判断第二读数据一致性miss地址与pending地址是否相同,若相同,则返回冲突信号hazard,以保证字节数转换后的写数据一致性请求Write Unique完成操作,只有字节数转换后的写数据一致性请求Write Unique完成操作后,才会向互连单元发起读数据操作;其中,所述写地址通道标识awid用于查找写响应通道标识bid以及从CAM中读取数据;所述RAW是指第一主设备单元对该地址区域进行写操作之后,第二主设备单元对该地址区域进行读操作;或者是指第一主设备单元对该地址区域进行写操作之后,第二主设备单元对该地址区域进行读操作。
[0190]另外,本步骤中,当确定支持接收的数据一致性请求对应的协议时,则不需要对接收的数据一致性请求进行协议转换处理,将接收的数据一致性请求发送至所述监听控制单元,以便所述监听控制单元根据数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
[0191]在无一致性数据传输要求的情况下,则根据FIFO缓存传输类型、数据地址冲突、传输事务间顺序ordering情况,将数据一致性请求直接发送至所述互连单元,以访问相应的从设备单元。
[0192]本发明实施例提供的方案,从硬件上解决了多处理器系统中存在的共享存储数据一致性问题,减少软件干预及外部存储器的访问次数,提高系统访问效率,降低了内存访问带来的功耗。
[0193]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0194]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0195]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0196]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0197]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种实现数据一致性的装置,其特征在于,所述装置包括:从接口单元及监听控制单元;其中, 所述从接口单元,用于确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理,并将协议转换处理后的数据一致性请求发送至所述监听fe制单兀; 所述监听控制单元,用于根据所述从接口单元发送的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。2.根据权利要求1所述的装置,其特征在于,所述监听控制单元,还用于当收到的数据一致性请求为两个以上数据一致性请求时,对收到的两个以上数据一致性请求的执行进行仲裁,根据仲裁后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。3.根据权利要求1所述的装置,其特征在于,所述从接口单元,还用于确定支持接收的数据一致性请求对应的协议时,将接收的数据一致性请求发送至所述监听控制单元。4.根据权利要求3所述的装置,其特征在于,所述从接口单元包括:第一从接口单元及第二从接口单元;其中, 所述第一从接口单元,用于将接收的来自第一主设备单元的第一读数据一致性请求发送至所述监听控制单元; 所述第二从接口单元,用于将接收的来自第二主设备单元的数据一致性请求进行协议转换处理,并将协议转换处理后的数据一致性请求发送至所述监听控制单元。5.根据权利要求4所述的装置,其特征在于,所述第二从接口单元,具体用于:将接收的第二主设备单元发送的支持AXI协议的数据一致性请求转换成支持ACE_Lite协议的数据一致性请求;并将协议转换后的数据一致性请求的字节数转换成完整缓存数据行FullCache Line 字节数。6.根据权利要求5所述的装置,其特征在于,所述第二从接口单元包括:协议转换子单元、读操作转换子单元、读接口子单元、写操作转换子单元、以及写接口子单元;其中, 所述协议转换子单元,用于将接收的第二主设备单元发送的支持AXI协议的数据一致性请求转换成支持ACE_Lite协议的数据一致性请求; 所述读操作转换子单元,用于当第二主设备单元发送的数据一致性请求为第二读数据一致性请求时,将协议转换后的第二读数据一致性请求的字节数转换成Full Cache Line字节数; 所述读接口子单元,用于为所述字节数转换后的第二读数据一致性请求分发第二读数据一致性请求通道,复用读数据通道; 所述写操作转换子单元,用于当第二主设备单元发送的数据一致性请求为第二写数据一致性请求时,将协议转换后的第二写数据一致性请求的字节数转换成Full Cache Line字节数; 所述写接口子单元,用于为所述字节数转换后的第二写数据一致性请求分发第二写数据一致性请求通道,缓存写数据响应通道。7.根据权利要求6所述的装置,其特征在于,所述第二从接口单元还包括:仲裁子单元,用于当同时收到所述读接口子单元与所述写接口子单元发送的数据一致性请求时,对所述字节数转换后的第二读数据一致性请求及所述字节数转换后的第二写数据一致性请求的执行进行仲裁,并根据仲裁后的第二读数据一致性请求或第二写数据一致性请求向所述监听控制单元发送相应的数据一致性请求。8.根据权利要求6所述的装置,其特征在于,所述读接口子单元还用于阻塞传输事务间顺序。9.根据权利要求6所述的装置,其特征在于,写接口子单元还用于阻塞传输事务间顺序、处理写后写WAW和读后写RAW冲突。10.根据权利要求4所述的装置,其特征在于,所述第一从接口单元,还用于将来自第一主设备单元的第一写数据一致性请求发送至互连单元,直接向互连单元发起写操作。11.根据权利要求4所述的装置,其特征在于,所述监听控制单元包括标记控制子单元及数据交换子单元;其中, 所述标记控制子单元,用于接收第一从接口单元发送的第一读和/或第一写数据一致性请求、第二从接口单元发送的第二读和/或第二写一致性请求及数据交换子单元发送的无效请求invalidate,并对这些请求的执行进仲裁;当仲裁后的请求是第一读数据一致性请求或第二读数据一致性请求时,根据第一读数据一致性请求或第二读数据一致性请求查找标记存储器,如果查找到标记存储器,则根据标记存储器中的Full Cache Line信息生成命中结果;若命中结果中的Full Cache Line是有效状态,则向所述数据交换子单元发送监听请求,以获取读数据;若命中结果中的Full Cache Line是无效状态或命中结果中不存在Full Cache Line,则利用互连单元获取读数据; 所述数据交换子单元,用于根据命中信息将所述监听请求发送至第一主设备单元,接收第一主设备单元返回的监听响应和监听数据,并将监听数据发送至第一从接口单元或第二从接口单元后,向第一从接口单元或第二从接口单元发送数据一致性请求操作完成指/Jn ο12.根据权利要求11所述的装置,其特征在于,所述标记控制子单元,还用于当监听请求无响应时,利用互连单元获取读数据。13.根据权利要求12所述的装置,其特征在于,所述数据交换子单元,还用于收到第二从接口单元发送的无效请求后,向第二从接口单元返回无效请求响应;并向所述标记控制子单元发送对应标记存储的无效请求; 相应地,所述标记控制子单元,还用于收到数据交换子单元的无效请求后,将相应标记存储器设置成无效状态,同时根据收到的写回请求中的更新消息更新标记存储器; 第二从接口单元,还用于收到数据交换子单元的响应后,向互连单元发起写操作。14.根据权利要求11所述的装置,其特征在于,所述监听控制单元还包括仲裁子单元,用于:对标记控制子单元发送的读外部存储器memory请求及所述数据交换子单元发送的读外部存储器请求的执行进行仲裁,并将仲裁后的读请求发送至互连单元,接收互连单元返回的读数据。15.一种实现数据一致性的方法,其特征在于,所述方法还包括: 确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理; 根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。16.根据权利要求15所述的方法,其特征在于,所述对接收的数据一致性请求进行协议转换处理,包括: 将接收的支持AXI协议的数据一致性请求转换成支持ACE_Lite协议的数据一致性请求;并将协议转换后的数据一致性请求的字节数转换成Full Cache Line字节数。17.根据权利要求16所述的方法,其特征在于,当接收的数据一致性请求为读一致性请求时,所述根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作,包括: 根据协议转换处理后的读数据一致性请求,查找标记存储器,确定查找到标记存储器,向查找到的标记存储器对应的主设备单元发起监听,以获取读数据;确定未查找到标记存储器时,利用互连单元获取读数据。18.根据权利要求17所述的方法,其特征在于,所述方法还包括: 当监听无响应时,利用互连单元获取读数据。19.根据权利要求16所述的方法,其特征在于,当接收的数据一致性请求为写一致性请求时,所述根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作,包括: 根据字节数转换后的写数据一致性请求向实现数据一致性的装置的监听控制单元发送无效请求; 所述监听控制单元返回无效请求响应; 根据无效请求响应,向实现数据一致性的装置的互连单元发起写操作。20.根据权利要求15所述的方法,其特征在于,所述方法还包括: 阻塞传输事务间顺序;和/或, 处理WAW和RAW冲突。
【专利摘要】本发明公开了一种实现数据一致性的方法及装置,包括:确定不支持接收的数据一致性请求对应的协议时,对接收的数据一致性请求进行协议转换处理,根据协议转换处理后的数据一致性请求,确定对应的数据一致性操作设备,对所述数据一致性操作设备进行数据一致性操作。
【IPC分类】G06F17/30
【公开号】CN105095254
【申请号】CN201410190727
【发明人】寇楠, 刘卫, 李瑛
【申请人】深圳市中兴微电子技术有限公司
【公开日】2015年11月25日
【申请日】2014年5月7日
【公告号】WO2015169054A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1