一种高速缓冲存储器的故障检测方法及装置制造方法及图纸

技术编号:14826158 阅读:131 留言:0更新日期:2017-03-16 13:36
一种高速缓冲存储器的故障检测方法和装置,用以实现对高速缓冲存储器中的写逻辑电路与读逻辑电路之间干扰故障的检测。方法包括:将第一数据写入目的内存的至少一个存储单元;以及,读取源内存中的至少一个存储单元的第二数据,并按照目的内存的至少一个存储单元与目的内存的至少一个存储单元之间的一一对应关系,将第二数据写入到目的内存的至少一个存储单元;当目的内存中写入第二数据的至少一个存储单元中存在一个存储单元,该一个存储单元存储的数据与按照一一对应关系该一个存储单元对应的源内存中的一个存储单元存储的数据不一致时,确定高速缓冲存储器中写逻辑电路与读逻辑电路之间存在干扰故障。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种高速缓冲存储器的故障检测方法及装置
技术介绍
高速缓冲存储器(Cache)是位于中央处理器(CentralProcessingUnit,CPU)和主存储器之间的存储器,Cache的容量较小,但是数据传输速度很快。由于CPU的处理速度远大于主存储器的数据传输速度,因此CPU直接从主存储器中存取数据时需要较长的等待时间。Cache可以保存CPU刚刚使用或循环使用的部分数据,当CPU需要再次使用该部分数据时可直接从Cache中调用,这样就避免了重复存取数据,减少了CPU的等待时间,提高了系统效率。高速缓冲存储器可分为一级高速缓冲存储器(L1Cache)、二级高速缓冲存储器(L2Cache)或者更高级别的高速缓冲存储器。以如图1所示的CPU、L1Cache、L2Cache与主存储器之间的连接关系为例,L2Cache是计算机系统中必不可少的存储器,L2Cache的存取速度比L1Cache的存取速度慢,但L2Cache的容量比L1Cache的容量大,可用于L1Cache和主存储器的数据交换。L2Cache存在故障时会导致系统复位,因而需要对L2Cache进行故障检测。L2Cache的内部逻辑结构可如图2所示,图2中,L201表示主存储器通过写逻辑电路向L2Cache传输数据的过程,L202表示L2Cache通过读逻辑电路向L1Cache传输数据的过程。现有技术中只存在对L2Cache的内部存储单元的故障检测方法,针对L2Cache中写逻辑电路与读逻辑电路同时存在数据传输的场景,现有技术中没有检测写逻辑电路与读逻辑电路之间干扰故障的方法,比如写逻辑电路与读逻辑电路之间存在干扰故障时会导致L2Cache传输的数据发生比特位跳变现象。综上,目前没有检测L2Cache或者更高级别的高速缓冲存储器中写逻辑电路与读逻辑电路之间干扰故障的技术方案。
技术实现思路
本专利技术实施例提供一种高速缓冲存储器的故障检测方法及装置,用以实现对高速缓冲存储器中的写逻辑电路与读逻辑电路之间干扰故障的检测,该高速缓冲存储器可以为L2Cache或者更高级别的高速缓冲存储器。第一方面,本专利技术实施例提供一种高速缓冲存储器的故障检测方法,该方法包括如下步骤:将第一数据写入目的内存的至少一个存储单元;以及,读取源内存中的至少一个存储单元中存储的第二数据,并按照目的内存的至少一个存储单元与源内存的至少一个存储单元之间的一一对应关系,再将第二数据写入到目的内存的至少一个存储单元中;当目的内存中执行过上述写入第二数据操作的存储单元中存在一个存储单元,该存储单元存储的数据与该存储单元对应的源内存中的存储单元中存储的数据不一致时,则可以确定高速缓冲存储器中写逻辑电路与读逻辑电路之间存在干扰故障。其中,源内存中的初始化数据包括第二数据。目的内存的至少一个存储单元与源内存的至少一个存储单元存在一一对应关系,即目的内存中的至少一个存储单元的数量与源内存中的至少一个存储单元的数量相同,且目的内存的至少一个存储单元与源内存的至少一个存储单元是一一对应的:按照上述一一对应关系,目的内存的任意一个存储单元与该任意一个存储单元对应的源内存中的存储单元映射在高速缓冲存储器中的不同的存储单元。将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠。采用上述方案,由于将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠,相当于通过高速缓冲存储器中的写逻辑电路向目的内存的至少一个存储单元写入第一数据的过程,与通过高速缓冲存储器中的读逻辑电路读取源内存中至少一个存储单元的第二数据的过程存在时间重叠。因此,如果高速缓冲存储器中的写逻辑电路与读逻辑电路间存在干扰故障,则向目的内存的至少一个存储单元中写入的第一数据和从源内存的至少一个存储单元中读取的第二数据会产生比特位跳变。上述方案中,在读取源内存中的至少一个存储单元的第二数据后,又将读取到的第二数据写入了目的内存的至少一个存储单元,那么目的内存的至少一个存储单元中存储的数据即为读取到的第二数据。由于高速缓冲存储器中的写逻辑电路与读逻辑电路间存在干扰故障时,从源内存的至少一个存储单元中读取的第二数据会产生比特位跳变,因而会导致读取到的第二数据与源内存的至少一个存储单元中原本存储的数据不同,即导致目的内存的至少一个存储单元中存储的第二数据与源内存的至少一个存储单元中原本存储的数据不同。因此,采用上述方案,可以通过比较目的内存的至少一个存储单元中存储的数据与源内存中至少一个存储单元存储的数据是否相同来判断高速缓冲存储器中的写逻辑电路与读逻辑电路间是否存在干扰故障,即当目的内存中执行过上述写入第二数据操作的存储单元中存在一个存储单元,该存储单元存储的数据与该存储单元对应的源内存中的存储单元中存储的数据不一致时,可以确定高速缓冲存储器中写逻辑电路与读逻辑电路之间存在干扰故障。上述第一方面中,实现将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠的实现方式有多种,比如通过定时器实现或者通过计数器实现。以通过定时器实现的方式为例,包括:在将第一数据写入目的内存的至少一个存储单元时启动定时器;当定时器的当前时长为零时,读取源内存的至少一个存储单元的第二数据;其中,定时器设置的时长满足:将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠。在一种可能的实现方式中,将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠,可以有多种情况,例如:第一种情况,在将第一数据写入目的内存的至少一个存储单元的过程中,发生读取源内存中至少一个存储单元的第二数据的过程;第二种情况,在将第一数据写入目的内存的至少一个存储单元的过程中开始读取源内存中至少一个存储单元的第二数据的过程,但在将第一数据写入目的内存的至少一个存储单元的过程结束时,读取源内存中至少一个存储单元的第二数据的过程还未结束。针对上述第一种情况,由于在发生将第一数据写入目的内存的至少一个存储单元的过程中发生读取源内存中的至少一个存储单元的第二数据的过程,因而两个过程的发生时间重叠的时间最长,从而发生写逻辑电路与读逻辑电路间的干扰故障的可能性最大,能更准确地检测高速缓冲存储器中写逻辑电路与读逻辑电路间的干扰故障。在一种可能的实现方式中,当目的内存中写入第二数据的至少一个存储单元中的每个存储单元存储的数据,与按照一一对应关系每个存储单元对应的源内存中的每个存储单元存储的数据均一致时,则可以确定高速缓冲存储器中写逻辑电路与读逻辑电路之间不存在干扰故障。在一种可能的实现方式中,将第一数据写入目的内存的至少一个存储单元;以及,读取源内存中的至少一个存储单元的第二数据,并按照目的内存的至少一个存储单元与源内存的至少一个存储单元之间的一一对应关系,将第二数据写入到目的内存的至少一个存储单元,可通过以下方式实现:分别将目的内存的至少一个存储单元中的任意一个存储单元作为目的内存的当前存储单元,并将目的内存的当前存储单元对本文档来自技高网
...
一种高速缓冲存储器的故障检测方法及装置

【技术保护点】
一种高速缓冲存储器的故障检测方法,其特征在于,包括:将第一数据写入目的内存的至少一个存储单元;以及,读取源内存中的至少一个存储单元的第二数据,并按照所述目的内存的至少一个存储单元与所述源内存的至少一个存储单元之间的一一对应关系,将所述第二数据写入到所述目的内存的至少一个存储单元;其中,所述源内存中的初始化数据包括所述第二数据;按照所述一一对应关系,所述目的内存的一个存储单元映射在所述高速缓冲存储器中的存储单元与对应的所述源内存的一个存储单元映射在所述高速缓冲存储器中的存储单元不同;将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠;当所述目的内存中写入所述第二数据的至少一个存储单元中存在一个存储单元,所述一个存储单元存储的数据与按照所述一一对应关系所述一个存储单元对应的所述源内存中的一个存储单元存储的数据不一致时,确定所述高速缓冲存储器中写逻辑电路与读逻辑电路之间存在干扰故障。

【技术特征摘要】
1.一种高速缓冲存储器的故障检测方法,其特征在于,包括:将第一数据写入目的内存的至少一个存储单元;以及,读取源内存中的至少一个存储单元的第二数据,并按照所述目的内存的至少一个存储单元与所述源内存的至少一个存储单元之间的一一对应关系,将所述第二数据写入到所述目的内存的至少一个存储单元;其中,所述源内存中的初始化数据包括所述第二数据;按照所述一一对应关系,所述目的内存的一个存储单元映射在所述高速缓冲存储器中的存储单元与对应的所述源内存的一个存储单元映射在所述高速缓冲存储器中的存储单元不同;将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠;当所述目的内存中写入所述第二数据的至少一个存储单元中存在一个存储单元,所述一个存储单元存储的数据与按照所述一一对应关系所述一个存储单元对应的所述源内存中的一个存储单元存储的数据不一致时,确定所述高速缓冲存储器中写逻辑电路与读逻辑电路之间存在干扰故障。2.如权利要求1所述的方法,其特征在于,将第一数据写入目的内存的至少一个存储单元;以及,读取源内存中的至少一个存储单元的第二数据,具体包括:启动定时器,并将第一数据写入目的内存的至少一个存储单元;当所述定时器的当前时长为零时,读取源内存中的至少一个存储单元的第二数据;其中,所述定时器设置的时长满足:将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠。3.如权利要求1或2所述的方法,其特征在于,将第一数据写入目的内存的至少一个存储单元的过程与读取源内存中的至少一个存储单元的第二数据的过程存在时间重叠,具体为:在将所述第一数据写入目的内存的至少一个存储单元的过程中,发生读取所述源内存中至少一个存储单元的第二数据的过程。4.如权利要求1~3任一项所述的方法,其特征在于,将第一数据写入目的内存的至少一个存储单元;以及,读取源内存中的至少一个存储单元的第二数据,并按照所述目的内存的至少一个存储单元与所述源内存的至少一个存储单元之间的一一对应关系,将所述第二数据写入到所述目的内存的至少一个存储单元,包括:分别将所述目的内存的至少一个存储单元中的任意一个存储单元作为所述目的内存的当前存储单元,并将所述目的内存的当前存储单元对应的所述源内存的至少一个存储单元中的一个存储单元作为所述源内存的当前存储单元,针对每个所述目的内存的当前存储单元和所述源内存的当前存储单元执行:将第一子数据写入所述目的内存的当前存储单元,读取所述源内存的当前存储单元的第二子数据,并将所述第二子数据写入所述目的内存的当前存储单元;其中,写入所述目的内存的至少一个存储单元中的每个存储单元的第一子数据组成所述第一数据,读取所述源内存的至少一个存储单元中的每个存储单元的第二子数据组成所述第二数据。5.如权利要求1~4任一项所述的方法,其特征在于,所述目的内存中的初始化数据和所述源内存中的初始化数据互相取反。6.如权利要求5所述的方法,其特征在于,在将第一数据写入目的内存的至少一个存储单元之前,还包括:将所述目的内存的初始化数据写入所述目的内存的至少一个存储单元;对所述目的内存的初始化数据取反操作得到所述源内存的初始化数据,按照所述一一对应关系将所述源内存的初始化数据写入所述源内存的至少一个存储单元。7.如权利要求1~6任一项所述的方法,其特征在于,所述高速缓冲存储器为二级高速缓冲存储器或者三级高速缓冲存储器。8.一种高速缓冲存储器的故障检测装置,其特征在于,包括:数据读写单元,用于将...

【专利技术属性】
技术研发人员:孙建张鸣张彦龙
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1