CN112181712B - 一种提高处理器核可靠性的方法及装置 - Google Patents
一种提高处理器核可靠性的方法及装置 Download PDFInfo
- Publication number
- CN112181712B CN112181712B CN202011045580.8A CN202011045580A CN112181712B CN 112181712 B CN112181712 B CN 112181712B CN 202011045580 A CN202011045580 A CN 202011045580A CN 112181712 B CN112181712 B CN 112181712B
- Authority
- CN
- China
- Prior art keywords
- error
- recording
- data
- dcache
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
Abstract
本发明公开了一种提高处理器核可靠性的方法及装置,本发明提高处理器核可靠性的装置包括错误发现及纠正逻辑、可纠错误处理逻辑、错误记录和报告逻辑、异常记录和报告逻辑,方法包括地址翻译相关的错误发现及处理、除地址翻译外取指流程相关的错误发现及处理、除地址翻译外Load操作相关的错误发现及处理、除地址翻译外Store操作相关的错误发现及处理、Snoop或Evict操作相关的错误发现及处理的步骤。本发明能够对于处理器核存储体中的错误实现尽力纠正,并从多角度记录并报告这些错误,从而利用多个错误处理手段共同提高处理器核的可靠性,尽力保证处理器核及系统在遇到错误以后仍然能够正常工作。
Description
技术领域
本发明涉及处理器设计领域,具体涉及一种提高处理器核可靠性的方法及装置。
背景技术
在现代处理器设计中,为了提高性能,通常会使用静态随机访问存储器来缓存部分数据。其中,一级指令缓存、一级数据缓存和地址翻译缓存等都已经成为高性能处理器核中的必选部件。然而,随着处理器中集成的晶体管数量越来越多,这些存储器工作的环境也愈发复杂。电磁干扰、不稳定电流等经常会导致处理器核中的存储体出现瞬态或永久错误。这些错误会直接表现为部分数据出现异常变化,从而会引起使用这些数据的应用程序或者系统出现故障。对于服务器、汽车等应用场景而言,一旦底层基础架构出现问题,所造成的损失将会非常巨大。因此,如何提高处理器核的可靠性一直是一个热门研究课题。
一般而言,处理器核的可靠性包括三个方面:高可靠、靠可用和靠可服务性。高可靠是指系统可以容忍尽可能多的故障和错误;靠可用是指系统需要维护、修复的时间尽可能短;高可服务性是值能够进行一定程度的自我诊断和修复,并能够即时地给出提示信息。
对于处理器核,提高其应对存储体错误的物理方法包括使用单错误检测和纠错码。单错误检测通过采用奇偶校验的方式,利用单个检测位就可以发现多个数据中的单位错;纠错码利用多个额外的检纠错码,可以纠正多个数据中的单位错,可以发现多个数据中的双位错。通过采用单错误检测或纠错码,处理器核中的存储体可以有效发现或纠正部分错误。
目前,如何利用这些错误信息来提高系统的可靠性的方法可以归结为2类:第一种方法局限于存储体本身,试图使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据;第二种方法从整个处理器的角度,当多核处理器中的某个单核发生故障时,通过业务转移或者隔离来提高可靠性。但是,这些方法都没有从处理器核的角度来详细说明取指、地址翻译或者数据访问时,如何有效处理遇到的存储体错误、以有效提高处理器核的可靠性,已成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对处理器核在运行过程中的存储体错误可能会导致处理器及整机系统无法正常工作的问题,提供一种提高处理器核可靠性的方法及装置,本发明能够对于处理器核存储体中的错误实现尽力纠正,并从多角度记录并报告这些错误,从而利用多个错误处理手段共同提高处理器核的可靠性,尽力保证处理器核及系统在遇到错误以后仍然能够正常工作。
为了解决上述技术问题,本发明采用的技术方案为:
一种提高处理器核可靠性的装置,包括:
错误发现及纠正逻辑,分别实现在L1-ICache、L1-DCache和L2-TLB中,包括:在L1-ICache的标签存储阵列中分别对奇数位和偶数位进行奇偶校验的逻辑,用于分别发现奇数位和偶数位中的1位错误;在L1-ICache的数据存储阵列中分别对每m位数据进行奇偶校验的逻辑,用于针对每m位数据发现1位错误;在L1-DCache的标签存储阵列中对每个标签采用多位ECC进行1位错误纠正和2位错误发现的逻辑;在L1-DCache的数据存储阵列中分别对每n位数据采用多位ECC进行1位错误纠正和2位错误发现的逻辑,在L2-TLB的存储阵列中对每个表项进行奇偶校验的逻辑,用于对每个表项发现1位错误;
可纠错误处理逻辑,分别实现在L1-ICache、L1-DCache和L2-TLB中,包括:L1-ICache可纠错误处理逻辑,用于执行重启取指流水线和作废对应cache行的功能;L1-DCache中可纠错误处理逻辑,用于执行包含重启Load操作、数据写回L2 Cache时的纠错、数据读取后合并时的纠错、读取并修改标签时的纠错的功能;L2-TLB可纠错误处理逻辑,用于执行强制L2-TLB查询缺失和作废错误表项的功能;
错误记录和报告逻辑,用于对L1-ICache、L1-DCache和L2-TLB中发现的错误进行统一记录,并对错误进行报告;
异常记录和报告逻辑,用于对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常进行记录和报告。
可选地,所述错误记录和报告逻辑包含多个用于记录错误信息的寄存器,分别用于记录错误的类型、错误出现的位置、发生错误的程序地址,所述记录错误的类型包括已经纠正的错误和未纠正的错误,所述错误出现的位置包括错误出现的存储体、组/路信息。
可选地,所述错误记录和报告逻辑采用专门的中断线来分别报告错误,且针对已经纠正的错误和未纠正的错误分别实现中断线。
可选地,所述异常记录和报告逻辑对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常的判断方式如下:L1-ICache中发现奇偶校验错误时不产生异常;L1-DCache中发现1位错误时不产生异常;L1-DCache中发现2位错误时触发异步异常;L2-TLB发现奇偶校验错误时不产生异常。
可选地,所述异常记录和报告逻辑对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常进行记录具体是指将L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常的信息记录在系统寄存器中,且记录的信息包括异常的类型、错误的类型、错误出现的位置,其中异常的类型是指同步异常或异步异常。
此外,本发明还提供一种前述提高处理器核可靠性的装置的应用方法,其特征在于,包括地址翻译相关的错误发现及处理的步骤:
A1)在取指或者访问数据进行地址翻译时,首先查询TLB进行地址翻译,如果没有命中则跳转下一步进行地址翻译相关的错误处理,否则结束退出,进入正常处理流程;
A2)查询L2-TLB获得更多的地址转换表项,如果在查询L2-TLB的过程中,发现1位错误则进入步骤A3);否则结束退出,取指或数据访问过程正常进行;
A3)处理L2-TLB中发现的1位错误:立即作废出现错误的地址翻译表项,利用所述错误记录和报告逻辑记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,查询结果强制设置为缺失,使得页表查询进入L2 Cache等更深的存储层级,从而实现地址最终可以正常进行翻译。
可选地,还包括取指流程中除地址翻译外相关的错误发现及处理的步骤:
B1)在取指过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行取指流程中除地址翻译外相关的错误处理;
B2)根据翻译后的地址查询L1-ICache,在查询过程中,如果发现L1-ICache中存在1位的错误则进入步骤B3);否则结束退出,进入正常处理流程;
B3)处理L1-ICache中发现的单位错误:立即作废出现错误的表项,利用所述错误记录和报告逻辑记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,启动L1-ICache的重试机制,将该取指行为在流水线中进行重启,再次取指会产生缺失,从而从更深的存储层次中获得正确数据。
可选地,还包括Load操作中除地址翻译外相关的错误发现及处理的步骤:
C1)在Load操作过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行Load操作中除地址翻译外相关的错误处理;
C2)根据翻译后的地址查询L1-ICache,在查询过程中,如果发现L1-DCache中存在1位的错误则进入步骤C3);否则,进入步骤C4);
C3)处理Load操作中L1-DCache发现的1位错误:令Load操作重启,利用Evcit操作将错误表项从L1-DCache中弹出,并在写回到更深的层级过程中利用ECC机制进行纠正,在纠正完毕后结束退出,进入正常处理流程;
C4)判断L1-DCache中是否存在2位的错误,如果存在,进入步骤C5);否则,结束退出,进入正常处理流程;
C5)判断出现2位错误的位置是在标签存储阵列还是在数据存储阵列中,如果在标签存储阵列中则判定为标签错误,进入步骤C6);否则,进入步骤C7);
C6)处理Load操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到所述错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,报告一个异步异常,并记录异常相关的信息;结束退出;
C7)处理Load操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误,如果对应的cache行为clean状态,直接作废该行;否则,报告一个异步异常,并记录异常相关的信息,结束退出。
可选地,还包括Store操作除地址翻译外相关的错误发现及处理的步骤:
D1)在Store操作过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行Store操作中除地址翻译外相关的错误处理;
D2)根据翻译后的地址查询L1-DCache中的标签存储阵列,如果访问时发现错误,根据标签错误的位数进行分别处理;如果错误位数为1,进入步骤D3);否则,错误位数为2,进入步骤D4),否则进入步骤D5);
D3)处理Store操作中L1-DCache发现的1位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误,此外在修改标签时,利用纠错逻辑将纠正后的标签重写写回L1-DCache的标签存储阵列中,结束并退出;
D4)处理Store操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外报告一个异步异常,并记录异常相关的信息,结束并退出;
D5)由于数据非对齐,Store操作需要访问L1-DCache中的数据阵列,如果访问时发现错误,根据数据错误的位数进行分别处理:如果错误位数为1,进入步骤D6);否则,错误位数为2,进入步骤D7);
D6)处理Store操作中L1-DCache发现的1位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在写数据合并时时,利用纠错逻辑将纠正后的数据重写写回L1-DCache的数据阵列中,结束并退出;
D7)处理Store操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,结束并退出。
可选地,还包括Load操作中除地址翻译外相关的错误发现及处理的步骤:
E1)收到Snoop或Evict请求以后,直接开始读取L1-DCache中的标签存储阵列,如果访问时发现错误,根据标签错误的位数进行分别处理:如果错误位数为1,进入步骤E2);否则,错误位数为2,进入步骤E3),否则进入步骤E4);
E2)处理Snoop或Evict操作中L1-DCache发现的1位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在最后修改标签时,利用纠错逻辑将纠正后的标签与新的标签数据进行合并,重写写回L1-DCache的标签存储阵列中,结束并退出;
E3)处理Snoop或Evict操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,结束并退出;
E4)继续访问数据阵列,准备将脏数据写回到L2 Cache等更深的存储层次中,如果访问时发现错误,根据数据错误的位数进行分别处理:如果错误位数为1,进入步骤E5);否则,错误位数为2,进入步骤E6);
E5)处理Snoop或Evict操作中L1-DCache发现的1位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在数据写回到L2Cache等更深的存储层次过程中,利用纠错逻辑将纠正后的数据写回,结束并退出;
E6)处理Snoop或Evict操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,将错误信息一并写回到L2 Cache等更深的存储层次中,结束并退出。
和现有技术相比,本本发明具有下述优点:
1、本发明能够对于存储体中的错误实现尽力纠正。本发明提出了在L1-ICache和L2-TLB中实现奇偶校验的逻辑,能够发现这两个组件中的单位错,并利用所述的纠正错误的逻辑实现错误行为的纠正,能够保证系统在没有异常的情况下继续正常运行。本发明提出在L1-DCache实现多位ECC,保证各种操作过程中发现的1位错误能够进行纠正,能够提高处理器核在数据访问中的可靠性。
2、本发明能够从多角度记录并报告处理器核存储体中的错误。在处理器运行过程中,错误相关的信息能够为后续处理提供有效的帮助,方便处理程序判断错误的严重程度以及对应的处理方式,从而提高处理器核在遇到无法纠正错误时的可靠性。
附图说明
图1为本发明实施例装置的基本拓扑结构示意图。
图2为本发明中地址翻译相关的错误发现及处理示意图。
图3为本发明中除地址翻译外取指流程相关的错误发现及处理示意图。
图4为本发明中除地址翻译外Load操作相关的错误发现及处理示意图。
图5为本发明中除地址翻译外Store操作相关的错误发现及处理示意图。
图6为本发明中Snoop或Evict操作相关的错误发现及处理示意图。
具体实施方式
下面结合附图,对本发明的一种提高处理器核可靠性的方法及装置进行进一步详细说明。根据下面的说明和权利要求书,本发明的特征和优点将更加明确。需要说明的是,附图均采用非常简化的形式,仅用于简洁、直观地对本发明实例进行辅助说明。
如图1所示,本实施例提高处理器核可靠性的装置包括错误发现及纠正逻辑、可纠错误处理逻辑、错误记录和报告逻辑、异常记录和报告逻辑:
错误发现及纠正逻辑,分别实现在L1-ICache、L1-DCache和L2-TLB中,包括:在L1-ICache的标签存储阵列中分别对奇数位和偶数位进行奇偶校验的逻辑,用于分别发现奇数位和偶数位中的1位错误;在L1-ICache的数据存储阵列中分别对每m位数据进行奇偶校验的逻辑,用于针对每m位数据发现1位错误;在L1-DCache的标签存储阵列中对每个标签采用多位ECC进行1位错误纠正和2位错误发现的逻辑;在L1-DCache的数据存储阵列中分别对每n位数据采用多位ECC进行1位错误纠正和2位错误发现的逻辑,在L2-TLB的存储阵列中对每个表项进行奇偶校验的逻辑,用于对每个表项发现1位错误;
可纠错误处理逻辑,分别实现在L1-ICache、L1-DCache和L2-TLB中,包括:L1-ICache可纠错误处理逻辑,用于执行重启取指流水线和作废对应cache行的功能;L1-DCache中可纠错误处理逻辑,用于执行包含重启Load操作、数据写回L2 Cache时的纠错、数据读取后合并时的纠错、读取并修改标签时的纠错的功能;L2-TLB可纠错误处理逻辑,用于执行强制L2-TLB查询缺失和作废错误表项的功能;
错误记录和报告逻辑,用于对L1-ICache、L1-DCache和L2-TLB中发现的错误进行统一记录,并对错误进行报告;
异常记录和报告逻辑,用于对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常进行记录和报告。
本实施例中,错误记录和报告逻辑包含多个用于记录错误信息的寄存器,分别用于记录错误的类型、错误出现的位置、发生错误的程序地址,所述记录错误的类型包括已经纠正的错误和未纠正的错误,所述错误出现的位置包括错误出现的存储体、组/路信息。
本实施例中,错误记录和报告逻辑采用专门的中断线来分别报告错误,且针对已经纠正的错误和未纠正的错误分别实现中断线。
本实施例中,异常记录和报告逻辑对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常的判断方式如下:L1-ICache中发现奇偶校验错误时不产生异常;L1-DCache中发现1位错误时不产生异常;L1-DCache中发现2位错误时触发异步异常;L2-TLB发现奇偶校验错误时不产生异常。
本实施例中,异常记录和报告逻辑对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常进行记录具体是指将L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常的信息记录在系统寄存器中,且记录的信息包括异常的类型、错误的类型、错误出现的位置,其中异常的类型是指同步异常或异步异常。
本实施例提高处理器核可靠性的装置提高处理器核可靠性的方法步骤如下:
相关组件发现单位或双位错误。L1-ICache、L1-DCache和L2-TLB分别对输出的数据进行检查,发现输出数据中的单位或双位错;
接下来,分部件分别进行处理:
I)对于L1-ICache中发现的单位错,作废对应的表项,导致对应层次的访问缺失,从更深的存储层次中继续获取正确的数据。此外,利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址。
II)对于L2-TLB中发现的单位错,作废对应的表项,导致TLB查询出现缺失,从更深的存储层次中继续获取页表信息。此外,利用错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址;
III)对于L1-DCache中发现的错误,还需要再进行细分处理,分别针对Load操作、Store操作、Snoop或Evict操作过程中的标签或数据阵列中发现的单位/双位错进行分开处理;发现并记录错误以后,根据错误类型,分别对应拉低中断线。本实施例装置能够对于存储体中的错误实现尽力纠正,从多角度记录并报告处理器核存储体中的错误,从而利用多个错误处理手段共同提高处理器核的可靠性。具体情况如下:
Load过程中,发现1位标签或1位数据错,令Load操作重启,利用Evict流程将错误表项从L1-DCache中弹出,利用所述的纠正错误的逻辑,在写回到更深的层级过程中使用ECC机制进行纠正。
Store过程中,发现1位标签错,利用所述记录错误的逻辑,记录一个已经纠正的错误,并记录出现错误的位置。此外,令存储过程重启,利用所述的纠正错误的逻辑,将错误表项从L1-DCache中弹出,在写回到更深的层级过程中进行纠正。
Store过程中,发现1位数据错,利用所述记录错误的逻辑,记录一个已经纠正的错误,并记录出现错误的位置。此外,在合并存储的过程中,利用所述的纠正错误的逻辑对数据就行纠正,然后将正确数据重新存储到L1-DCache中。
Snoop或Evict过程中,发现1位标签错误,利用所述记录错误的逻辑,记录一个已经纠正的错误,并记录出现错误的位置。此外,在修改标签时,利用所述的纠正错误的逻辑将纠正后的数据与新数据进行合并,重写写回L1-DCache中。
Snoop或Evict过程中,发现1位数据错误,利用所述记录错误的逻辑,记录一个已经纠正的错误,并记录出现错误的位置。此外,在写回到更深的层级过程中,利用所述的纠正错误的逻辑进行纠正。
Load过程中,发现2位数据错,且cache line为clean状态,利用所述记录错误的逻辑,记录一个已经纠正的错误,并记录出现错误的位置。此外,利用所述的纠正错误的逻辑将对应的表项进行作废。
Load过程中,发现2位数据错,且cache line为dirty状态,利用所述记录错误的逻辑,记录一个未纠正的错误,并记录出现错误的位置。此外,触发异步异常。
Load过程中,发现2位标签错,利用所述记录错误的逻辑,记录一个未纠正的错误,并记录出现错误的位置。此外,触发异步异常。
Store过程中,发现2位数据错,利用所述记录错误的逻辑,记录一个未纠正的错误,并记录出现错误的位置。此外,触发异步异常。
Store过程中,发现2位标签错,利用所述记录错误的逻辑,记录一个未纠正的错误,并记录出现错误的位置。此外,触发异步异常。
Snoop或Evict过程中,发现2位数据错,利用所述记录错误的逻辑,记录一个未纠正的错误,并记录出现错误的位置。此外,触发异步异常。
Snoop或Evict过程中,发现2位标签错,利用所述记录错误的逻辑,记录一个未纠正的错误,并记录出现错误的位置。此外,触发异步异常。
发现并记录错误以后,根据错误类型,分别对应拉低中断线。
此外,本实施例还提供一种前述提高处理器核可靠性的装置的应用方法,如图2所示,包括地址翻译相关的错误发现及处理的步骤:
A1)在取指或者访问数据进行地址翻译时,首先查询TLB进行地址翻译,如果没有命中则跳转下一步进行地址翻译相关的错误处理,否则结束退出,进入正常处理流程;
A2)查询L2-TLB获得更多的地址转换表项,如果在查询L2-TLB的过程中,发现1位错误则进入步骤A3);否则结束退出,取指或数据访问过程正常进行;
A3)处理L2-TLB中发现的1位错误:立即作废出现错误的地址翻译表项,利用所述错误记录和报告逻辑记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,查询结果强制设置为缺失,使得页表查询进入L2 Cache等更深的存储层级,从而实现地址最终可以正常进行翻译。
如图3所示,本实施例还包括取指流程中除地址翻译外相关的错误发现及处理的步骤:
B1)在取指过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行取指流程中除地址翻译外相关的错误处理;
B2)根据翻译后的地址查询L1-ICache,在查询过程中,如果发现L1-ICache中存在1位的错误则进入步骤B3);否则结束退出,进入正常处理流程;
B3)处理L1-ICache中发现的单位错误:立即作废出现错误的表项,利用所述错误记录和报告逻辑记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,启动L1-ICache的重试机制,将该取指行为在流水线中进行重启,再次取指会产生缺失,从而从更深的存储层次中获得正确数据。
如图4所示,本实施例还包括Load操作中除地址翻译外相关的错误发现及处理的步骤:
C1)在Load操作过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行Load操作中除地址翻译外相关的错误处理;
C2)根据翻译后的地址查询L1-ICache,在查询过程中,如果发现L1-DCache中存在1位的错误则进入步骤C3);否则,进入步骤C4);
C3)处理Load操作中L1-DCache发现的1位错误:令Load操作重启,利用Evcit操作将错误表项从L1-DCache中弹出,并在写回到更深的层级过程中利用ECC机制进行纠正,在纠正完毕后结束退出,进入正常处理流程;
C4)判断L1-DCache中是否存在2位的错误,如果存在,进入步骤C5);否则,结束退出,进入正常处理流程;
C5)判断出现2位错误的位置是在标签存储阵列还是在数据存储阵列中,如果在标签存储阵列中则判定为标签错误,进入步骤C6);否则,进入步骤C7);
C6)处理Load操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到所述错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,报告一个异步异常,并记录异常相关的信息;结束退出;
C7)处理Load操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误,如果对应的cache行为clean状态,直接作废该行;否则,报告一个异步异常,并记录异常相关的信息,结束退出。
如图5所示,本实施例还包括Store操作除地址翻译外相关的错误发现及处理的步骤:
D1)在Store操作过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行Store操作中除地址翻译外相关的错误处理;
D2)根据翻译后的地址查询L1-DCache中的标签存储阵列,如果访问时发现错误,根据标签错误的位数进行分别处理;如果错误位数为1,进入步骤D3);否则,错误位数为2,进入步骤D4),否则进入步骤D5);
D3)处理Store操作中L1-DCache发现的1位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误,此外在修改标签时,利用纠错逻辑将纠正后的标签重写写回L1-DCache的标签存储阵列中,结束并退出;
D4)处理Store操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外报告一个异步异常,并记录异常相关的信息,结束并退出;
D5)由于数据非对齐,Store操作需要访问L1-DCache中的数据阵列,如果访问时发现错误,根据数据错误的位数进行分别处理:如果错误位数为1,进入步骤D6);否则,错误位数为2,进入步骤D7);
D6)处理Store操作中L1-DCache发现的1位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在写数据合并时时,利用纠错逻辑将纠正后的数据重写写回L1-DCache的数据阵列中,结束并退出;
D7)处理Store操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,结束并退出。
如图6所示,本实施例还包括Load操作中除地址翻译外相关的错误发现及处理的步骤:
E1)收到Snoop或Evict请求以后,直接开始读取L1-DCache中的标签存储阵列,如果访问时发现错误,根据标签错误的位数进行分别处理:如果错误位数为1,进入步骤E2);否则,错误位数为2,进入步骤E3),否则进入步骤E4);
E2)处理Snoop或Evict操作中L1-DCache发现的1位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在最后修改标签时,利用纠错逻辑将纠正后的标签与新的标签数据进行合并,重写写回L1-DCache的标签存储阵列中,结束并退出;
E3)处理Snoop或Evict操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,结束并退出;
E4)继续访问数据阵列,准备将脏数据写回到L2 Cache等更深的存储层次中,如果访问时发现错误,根据数据错误的位数进行分别处理:如果错误位数为1,进入步骤E5);否则,错误位数为2,进入步骤E6);
E5)处理Snoop或Evict操作中L1-DCache发现的1位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在数据写回到L2Cache等更深的存储层次过程中,利用纠错逻辑将纠正后的数据写回,结束并退出;
E6)处理Snoop或Evict操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,将错误信息一并写回到L2 Cache等更深的存储层次中,结束并退出
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种提高处理器核可靠性的装置,其特征在于,包括:
错误发现及纠正逻辑,分别实现在L1-ICache、L1-DCache和L2-TLB中,包括:在L1-ICache的标签存储阵列中分别对奇数位和偶数位进行奇偶校验的逻辑,用于分别发现奇数位和偶数位中的1位错误;在L1-ICache的数据存储阵列中分别对每m位数据进行奇偶校验的逻辑,用于针对每m位数据发现1位错误;在L1-DCache的标签存储阵列中对每个标签采用多位ECC进行1位错误纠正和2位错误发现的逻辑;在L1-DCache的数据存储阵列中分别对每n位数据采用多位ECC进行1位错误纠正和2位错误发现的逻辑,在L2-TLB的存储阵列中对每个表项进行奇偶校验的逻辑,用于对每个表项发现1位错误;
可纠错误处理逻辑,分别实现在L1-ICache、L1-DCache和L2-TLB中,包括:L1-ICache可纠错误处理逻辑,用于执行重启取指流水线和作废对应cache行的功能;L1-DCache中可纠错误处理逻辑,用于执行包含重启Load操作、数据写回L2 Cache时的纠错、数据读取后合并时的纠错、读取并修改标签时的纠错的功能;L2-TLB可纠错误处理逻辑,用于执行强制L2-TLB查询缺失和作废错误表项的功能;
错误记录和报告逻辑,用于对L1-ICache、L1-DCache和L2-TLB中发现的错误进行统一记录,并对错误进行报告;
异常记录和报告逻辑,用于对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常进行记录和报告。
2.根据权利要求1所述的提高处理器核可靠性的装置,其特征在于,所述错误记录和报告逻辑包含多个用于记录错误信息的寄存器,分别用于记录错误的类型、错误出现的位置、发生错误的程序地址,所述记录错误的类型包括已经纠正的错误和未纠正的错误,所述错误出现的位置包括错误出现的存储体、组/路信息。
3.根据权利要求1所述的提高处理器核可靠性的装置,其特征在于,所述错误记录和报告逻辑采用专门的中断线来分别报告错误,且针对已经纠正的错误和未纠正的错误分别实现中断线。
4.根据权利要求1所述的提高处理器核可靠性的装置,其特征在于,所述异常记录和报告逻辑对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常的判断方式如下:L1-ICache中发现奇偶校验错误时不产生异常;L1-DCache中发现1位错误时不产生异常;L1-DCache中发现2位错误时触发异步异常;L2-TLB发现奇偶校验错误时不产生异常。
5.根据权利要求1所述的提高处理器核可靠性的装置,其特征在于,所述异常记录和报告逻辑对L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常进行记录具体是指将L1-ICache、L1-DCache和L2-TLB中发现的错误引起的异常的信息记录在系统寄存器中,且记录的信息包括异常的类型、错误的类型、错误出现的位置,其中异常的类型是指同步异常或异步异常。
6.一种权利要求1~5中任意一项所述的提高处理器核可靠性的装置的应用方法,其特征在于,包括地址翻译相关的错误发现及处理的步骤:
A1)在取指或者访问数据进行地址翻译时,首先查询TLB进行地址翻译,如果没有命中则跳转下一步进行地址翻译相关的错误处理,否则结束退出,进入正常处理流程;
A2)查询L2-TLB获得更多的地址转换表项,如果在查询L2-TLB的过程中,发现1位错误则进入步骤A3);否则结束退出,取指或数据访问过程正常进行;
A3)处理L2-TLB中发现的1位错误:立即作废出现错误的地址翻译表项,利用所述错误记录和报告逻辑记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,查询结果强制设置为缺失,使得页表查询进入L2 Cache等更深的存储层级,从而实现地址最终可以正常进行翻译。
7.根据权利要求6所述的提高处理器核可靠性的装置的应用方法,其特征在于,还包括取指流程中除地址翻译外相关的错误发现及处理的步骤:
B1)在取指过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行取指流程中除地址翻译外相关的错误处理;
B2)根据翻译后的地址查询L1-ICache,在查询过程中,如果发现L1-ICache中存在1位的错误则进入步骤B3);否则结束退出,进入正常处理流程;
B3)处理L1-ICache中发现的单位错误:立即作废出现错误的表项,利用所述错误记录和报告逻辑记录一个未纠正的错误,并对应记录错误出现的位置、错误的程序地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,启动L1-ICache的重试机制,将该取指行为在流水线中进行重启,再次取指会产生缺失,从而从更深的存储层次中获得正确数据。
8.根据权利要求7所述的提高处理器核可靠性的装置的应用方法,其特征在于,还包括Load操作中除地址翻译外相关的错误发现及处理的步骤:
C1)在Load操作过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行Load操作中除地址翻译外相关的错误处理;
C2)根据翻译后的地址查询L1-ICache,在查询过程中,如果发现L1-DCache中存在1位的错误则进入步骤C3);否则,进入步骤C4);
C3)处理Load操作中L1-DCache发现的1位错误:令Load操作重启,利用Evcit操作将错误表项从L1-DCache中弹出,并在写回到更深的层级过程中利用ECC机制进行纠正,在纠正完毕后结束退出,进入正常处理流程;
C4)判断L1-DCache中是否存在2位的错误,如果存在,进入步骤C5);否则,结束退出,进入正常处理流程;
C5)判断出现2位错误的位置是在标签存储阵列还是在数据存储阵列中,如果在标签存储阵列中则判定为标签错误,进入步骤C6);否则,进入步骤C7);
C6)处理Load操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到所述错误记录寄存器,并通过中断线报告一个未纠正的错误;同时,报告一个异步异常,并记录异常相关的信息;结束退出;
C7)处理Load操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个未纠正的错误,如果对应的cache行为clean状态,直接作废该行;否则,报告一个异步异常,并记录异常相关的信息,结束退出。
9.根据权利要求8所述的提高处理器核可靠性的装置的应用方法,其特征在于,还包括Store操作除地址翻译外相关的错误发现及处理的步骤:
D1)在Store操作过程中首先查询TLB进行地址翻译,如果没有命中则结束退出,进入正常处理流程;否则,跳转下一步进行Store操作中除地址翻译外相关的错误处理;
D2)根据翻译后的地址查询L1-DCache中的标签存储阵列,如果访问时发现错误,根据标签错误的位数进行分别处理;如果错误位数为1,进入步骤D3);否则,错误位数为2,进入步骤D4),否则进入步骤D5);
D3)处理Store操作中L1-DCache发现的1位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误,此外在修改标签时,利用纠错逻辑将纠正后的标签重写写回L1-DCache的标签存储阵列中,结束并退出;
D4)处理Store操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外报告一个异步异常,并记录异常相关的信息,结束并退出;
D5)由于数据非对齐,Store操作需要访问L1-DCache中的数据阵列,如果访问时发现错误,根据数据错误的位数进行分别处理:如果错误位数为1,进入步骤D6);否则,错误位数为2,进入步骤D7);
D6)处理Store操作中L1-DCache发现的1位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在写数据合并时,利用纠错逻辑将纠正后的数据重写回L1-DCache的数据阵列中,结束并退出;
D7)处理Store操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,结束并退出。
10.根据权利要求9所述的提高处理器核可靠性的装置的应用方法,其特征在于,还包括Load操作中除地址翻译外相关的错误发现及处理的步骤:
E1)收到Snoop或Evict请求以后,直接开始读取L1-DCache中的标签存储阵列,如果访问时发现错误,根据标签错误的位数进行分别处理:如果错误位数为1,进入步骤E2);否则,错误位数为2,进入步骤E3),否则进入步骤E4);
E2)处理Snoop或Evict操作中L1-DCache发现的1位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在最后修改标签时,利用纠错逻辑将纠正后的标签与新的标签数据进行合并,重写回L1-DCache的标签存储阵列中,结束并退出;
E3)处理Snoop或Evict操作中L1-DCache发现的2位标签错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,结束并退出;
E4)继续访问数据阵列,准备将脏数据写回到L2 Cache等更深的存储层次中,如果访问时发现错误,根据数据错误的位数进行分别处理:如果错误位数为1,进入步骤E5);否则,错误位数为2,进入步骤E6);
E5)处理Snoop或Evict操作中L1-DCache发现的1位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,在数据写回到L2Cache等更深的存储层次过程中,利用纠错逻辑将纠正后的数据写回,结束并退出;
E6)处理Snoop或Evict操作中L1-DCache发现的2位数据错误:利用所述错误记录和报告逻辑,记录一个未纠正的错误,并对应记录错误出现的位置、错误的数据地址,将错误信息保存到错误记录寄存器,并通过中断线报告一个已纠正的错误;此外,报告一个异步异常,并记录异常相关的信息,将错误信息一并写回到L2 Cache等更深的存储层次中,结束并退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045580.8A CN112181712B (zh) | 2020-09-28 | 2020-09-28 | 一种提高处理器核可靠性的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045580.8A CN112181712B (zh) | 2020-09-28 | 2020-09-28 | 一种提高处理器核可靠性的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181712A CN112181712A (zh) | 2021-01-05 |
CN112181712B true CN112181712B (zh) | 2022-02-22 |
Family
ID=73945669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011045580.8A Active CN112181712B (zh) | 2020-09-28 | 2020-09-28 | 一种提高处理器核可靠性的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181712B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008061558A1 (en) * | 2006-11-21 | 2008-05-29 | Freescale Semiconductor, Inc. | Memory system with ecc-unit and further processing arrangement |
CN104346293A (zh) * | 2013-07-25 | 2015-02-11 | 华为技术有限公司 | 混合内存的数据访问方法、模块、处理器及终端设备 |
CN105022675A (zh) * | 2015-08-19 | 2015-11-04 | 首都师范大学 | 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置与方法 |
CN105138412A (zh) * | 2015-08-19 | 2015-12-09 | 首都师范大学 | 嵌入式微处理器高速缓存的混合纠错装置与方法 |
CN106021011A (zh) * | 2015-03-25 | 2016-10-12 | 瑞萨电子株式会社 | 诊断操作方法、诊断方法以及半导体器件 |
CN108845830A (zh) * | 2018-07-03 | 2018-11-20 | 中国人民解放军国防科技大学 | 一种一对数装载指令的执行方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8640005B2 (en) * | 2010-05-21 | 2014-01-28 | Intel Corporation | Method and apparatus for using cache memory in a system that supports a low power state |
US8533572B2 (en) * | 2010-09-24 | 2013-09-10 | Intel Corporation | Error correcting code logic for processor caches that uses a common set of check bits |
-
2020
- 2020-09-28 CN CN202011045580.8A patent/CN112181712B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008061558A1 (en) * | 2006-11-21 | 2008-05-29 | Freescale Semiconductor, Inc. | Memory system with ecc-unit and further processing arrangement |
CN104346293A (zh) * | 2013-07-25 | 2015-02-11 | 华为技术有限公司 | 混合内存的数据访问方法、模块、处理器及终端设备 |
CN106021011A (zh) * | 2015-03-25 | 2016-10-12 | 瑞萨电子株式会社 | 诊断操作方法、诊断方法以及半导体器件 |
CN105022675A (zh) * | 2015-08-19 | 2015-11-04 | 首都师范大学 | 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置与方法 |
CN105138412A (zh) * | 2015-08-19 | 2015-12-09 | 首都师范大学 | 嵌入式微处理器高速缓存的混合纠错装置与方法 |
CN108845830A (zh) * | 2018-07-03 | 2018-11-20 | 中国人民解放军国防科技大学 | 一种一对数装载指令的执行方法 |
Non-Patent Citations (2)
Title |
---|
Architectural core salvaging in a multi-core processor for hard-error tolerance;Michael D. Powell等;《Proceedings of the 36th annual international symposium on Computer architecture》;20090630;第93–104页 * |
高性能处理器中ECC纠错码的设计及实现;李璋辉等;《第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(A辑)》;20110812;第75-79页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181712A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7328391B2 (en) | Error correction within a cache memory | |
US5267242A (en) | Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing | |
US8977820B2 (en) | Handling of hard errors in a cache of a data processing apparatus | |
JP4019061B2 (ja) | Ecc保護機構における固定ビット障害を解決するための特殊eccマトリクスの適用方法 | |
US6480982B1 (en) | Computer RAM memory system with enhanced scrubbing and sparing | |
US8190973B2 (en) | Apparatus and method for error correction of data values in a storage device | |
KR101374455B1 (ko) | 메모리 에러와 리던던시 | |
CN110352407A (zh) | 纠错码存储器 | |
US9042191B2 (en) | Self-repairing memory | |
US20090327638A1 (en) | Securely clearing an error indicator | |
US20090044086A1 (en) | Error correction in a set associative storage device | |
US8650437B2 (en) | Computer system and method of protection for the system's marking store | |
US7302619B1 (en) | Error correction in a cache memory | |
US10853165B2 (en) | Fault resilient apparatus and method | |
KR20140079850A (ko) | 패리티 및 리던던트 행들을 이용한 동적 에러 핸들링 | |
US20070240021A1 (en) | Method, system and program product for autonomous error recovery for memory devices | |
US9934085B2 (en) | Invoking an error handler to handle an uncorrectable error | |
US20160110250A1 (en) | Cache memory with fault tolerance | |
JP4339914B2 (ja) | エラー訂正コード生成方法及びメモリ管理装置 | |
CN115509609A (zh) | 数据处理装置和方法 | |
US8176388B1 (en) | System and method for soft error scrubbing | |
CN112181712B (zh) | 一种提高处理器核可靠性的方法及装置 | |
JP2011257966A (ja) | キャッシュ装置及び情報処理装置 | |
US8359528B2 (en) | Parity look-ahead scheme for tag cache memory | |
JP2015121944A (ja) | メモリアクセス制御装置、メモリアクセス制御システム、メモリアクセス制御方法、及び、メモリアクセス制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |