CN109872150B - 具有时钟同步操作的数据处理*** - Google Patents
具有时钟同步操作的数据处理*** Download PDFInfo
- Publication number
- CN109872150B CN109872150B CN201811468840.5A CN201811468840A CN109872150B CN 109872150 B CN109872150 B CN 109872150B CN 201811468840 A CN201811468840 A CN 201811468840A CN 109872150 B CN109872150 B CN 109872150B
- Authority
- CN
- China
- Prior art keywords
- core
- fault
- processing
- processing core
- signal
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 172
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 48
- 238000012360 testing method Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 12
- 230000000873 masking effect Effects 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 239000004020 conductor Substances 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 9
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 9
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 101001081555 Homo sapiens Plasma protease C1 inhibitor Proteins 0.000 description 6
- 102100027637 Plasma protease C1 inhibitor Human genes 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 229920000729 poly(L-lysine) polymer Polymers 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- 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/16—Error detection or correction of the data by redundancy in hardware
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1695—Error detection or correction of the data by redundancy in hardware which are operating with time diversity
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开一种数据处理***以及用于操作该数据处理***的方法。该方法包括通过比较来自第一处理核心和第二处理核心的输出信号来检测故障;基于检测到该故障而进入安全模式;在处于该安全模式时完成交易;以及确定该故障是否对应于硬错误。基于该故障对应于硬错误,处理核心中的一个处理核心被识别为故障核心。阻止该故障核心执行指令并且允许另一处理核心执行指令。
Description
技术领域
本公开大体上涉及数据处理***,且更确切地说,涉及一种具有时钟同步操作的数据处理***。
背景技术
随着时间推移,集成电路的复杂性不断增加。正开发片上***(System-on-Chip,SoC)和其它多核集成电路,以便支持各种应用,例如,汽车、工业和医疗应用等。设计用于这些应用的***通常需要非常注意安全性。因此,需要改进的安全性处理技术。
发明内容
根据本发明的第一方面,提供一种操作数据处理***的方法,包括:
通过比较来自第一处理核心和第二处理核心的输出信号来检测故障;
基于检测到所述故障而进入安全模式;
当处于所述安全模式时完成交易;
确定所述故障是否对应于硬错误;以及
基于所述故障对应于硬错误:
将处理核心中的一个处理核心识别为故障核心,所述故障核心与所述硬错误相关联;以及
阻止所述故障核心执行指令并且允许另一处理核心恢复执行指令。
在一个或多个实施例中,所述方法进一步包括在时钟同步模式下操作所述第一处理核心和所述第二处理核心,所述第二处理核心遮蔽所述第一处理核心。
在一个或多个实施例中,所述方法进一步包括在控制器处接收对应于所述故障的中断信号;以及响应于所述中断信号,调用服务例程来分析所述故障。
在一个或多个实施例中,确定所述故障是否对应于硬错误进一步包括:
在耦合到所述第一处理核心的第一处理器的第一高速缓冲存储器和耦合到所述第二处理核心的第二处理器的第二高速缓冲存储器中的至少一个高速缓冲存储器上执行存储器内建自测试(MBIST);以及
在所述第一处理器和所述第二处理器中的至少一个处理器上执行逻辑内建自测试(LBIST)。
在一个或多个实施例中,当所述MBIST或LBIST失败时确定所述硬错误。
在一个或多个实施例中,所述方法进一步包括将第一核心域耦合到所述数据处理***的***总线,所述核心域包括所述第一处理核心和所述第二处理核心。
在一个或多个实施例中,所述安全模式包括将所述第一处理核心和所述第二处理核心与所述***总线隔离。
在一个或多个实施例中,所述方法进一步包括基于所述故障不对应于硬错误,将所述第一核心域复位,所述处理***的其它部分在所述第一核心域的复位期间继续正常操作。
在一个或多个实施例中,通过比较输出信号来检测所述故障包括延迟来自所述第一处理核心的输出信号,以与来自所述第二处理核心的输出信号在时间上对准。
根据本发明的第二方面,提供一种数据处理***,包括:
耦合到***总线的核心域,所述核心域包括:
第一处理核心,其包括耦合到第一高速缓冲存储器的第一处理器,
第二处理核心,其包括耦合到第二高速缓冲存储器的第二处理器,以及
时钟同步控制电路,其耦合到所述第一处理核心和所述第二处理核心,所述时钟同步控制电路被配置成通过比较来自所述第一处理核心和所述第二处理核心的输出信号来检测故障、基于检测到的故障而进入安全模式、以及在处于所述安全模式时完成交易;以及
耦合到所述时钟同步控制电路的控制器,所述控制器被配置成确定所述故障是否对应于硬错误,以及响应于所述故障对应于所述硬错误,允许所述第一处理核心和第二处理核心中的一个处理核心不与所述硬错误相关联以继续执行指令。
在一个或多个实施例中,所述时钟同步控制电路包括比较电路,所述比较电路被配置成当来自所述第一处理核心和所述第二处理核心的输出信号不匹配时检测到故障。
在一个或多个实施例中,所述安全模式包括将所述第一处理核心和所述第二处理核心与所述***总线隔离。
在一个或多个实施例中,所述控制器被配置成接收对应于所述故障的中断信号;以及响应于所述中断信号,调用服务例程来分析所述故障。
在一个或多个实施例中,用于分析所述故障的所述服务例程包括将在所述第一高速缓冲存储器和所述第二高速缓冲存储器中的至少一个高速缓冲存储器上执行的存储器内建自测试(MBIST),以及将在所述第一处理器和所述第二处理器中的至少一个处理器上执行的逻辑内建自测试(LBIST)。
在一个或多个实施例中,基于所述故障不对应于硬错误,所述控制器被配置成将第一核心域复位,并且允许所述处理***的其它部分在所述核心域的复位期间继续正常操作。
根据本发明的第三方面,提供一种操作数据处理***的方法,包括:
在时钟同步模式下操作核心域,所述核心域包括遮蔽第二处理核心的第一处理核心;
通过比较来自所述第一处理核心和所述第二处理核心的输出信号来检测故障;
基于检测到所述故障而进入安全模式,所述安全模式将所述核心域与***总线隔离;
确定所述故障是否对应于硬错误;
将处理核心中的一个处理核心识别为故障核心,所述故障核心与所述硬错误相关联;以及
基于所述故障对应于硬错误,阻止所述故障核心执行指令并且允许所述处理核心不与所述硬错误相关联以恢复执行指令。
在一个或多个实施例中,通过比较输出信号来检测所述故障包括延迟来自所述第二处理核心的输出信号,以与来自所述第一处理核心的输出信号在时间上对准。
在一个或多个实施例中,所述方法进一步包括生成对应于所述故障的中断信号;以及响应于控制器处的所述中断信号,调用服务例程来分析所述故障。
在一个或多个实施例中,确定所述故障是否对应于硬错误进一步包括:
在耦合到所述第一处理核心的第一处理器的第一高速缓冲存储器和耦合到所述第二处理核心的第二处理器的第二高速缓冲存储器中的至少一个高速缓冲存储器上执行存储器内建自测试(MBIST);以及
在所述第一处理器和所述第二处理器中的至少一个处理器上执行逻辑内建自测试(LBIST);
其中当所述MBIST或LBIST失败时确定所述硬错误。
在一个或多个实施例中,所述方法进一步包括基于所述故障不对应于硬错误,将所述核心域复位并且允许所述数据处理***的其它部分在所述核心域的复位期间继续正常操作。
本发明的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。
附图说明
本发明借助于例子示出并且不受附图的限制,在附图中类似标记指示类似元件。为简单和清晰起见,示出图中的元件,并且这些元件未必按比例绘制。
图1以简化框图形式示出根据本发明的实施例的示例性数据处理***。
图2以简化示意图形式示出根据本发明的实施例的示例性时钟同步控制块。
图3以时序图形式示出根据本发明的实施例的示例性时钟同步故障信号计时。
图4以流程图图解形式示出根据本发明的实施例的示例性时钟同步故障流。
具体实施方式
一般来说,提供数据处理***以及用于在时钟同步模式下操作的方法。在时钟同步模式期间比较从核心域的两个处理核心产生的输出信号。当检测到故障时,核心域进入安全模式并且确定故障是由软错误还是由硬错误引起。当处于安全模式时,在完成未决交易之后,核心域与数据处理***的***总线分离。通过在耦合到每个处理核心的处理器的高速缓冲存储器上执行存储器内建自测试(memory built-in self-test,MBIST)以及在每个处理核心的处理器上执行逻辑内建自测试(logic built-in self-test,LBIST)来分析故障。当MBIST或LBIST失败时确定硬错误,并且当MBIST和LBIST都通过时确定软错误。当确定硬错误时,故障分析还识别哪个核心是故障核心。
基于故障对应于硬错误,阻止故障核心并允许非故障核心继续操作。通过阻止故障核心并允许非故障核心继续执行,数据处理***可以在安全性应用中所期望的降低或降级操作模式下继续操作。基于故障对应于软错误,执行核心域的复位,同时允许数据处理***的其它部分正常操作。因为核心域的复位不会影响数据处理***的其它部分,所以可以实现在安全性应用中也期望的显著停机时间节省。
图1以简化框图形式示出根据本发明的实施例的示例性数据处理***100。在一些实施例中,数据处理***100可以表征为片上***(system-on-a-chip,SoC)。处理***100包括***总线102、核心域104和106、控制器108、存储器110,以及其它***设备112。核心域104包括处理核心114和116,以及时钟同步控制块118。时钟同步控制块118、控制器108、存储器110和其它***设备112各自借助于相应的通信总线双向耦合到***总线102。核心114和116各自借助于时钟同步控制块118和相应的通信总线双向耦合到***总线102。
***总线102可以包括任何类型的总线、交换结构、片上网络(network on chip,NoC)等,用于互连和传送任何类型的信息,例如,数据、地址、指令、中断和控制。***总线102为写入到存储器、数据传送等交易,以及其它信息的通信提供通信骨干。具体来说,***总线102为核心域104和106、控制器108、存储器110,以及其它***设备112之间的交易提供通信骨干。
核心域104包括核心114和116,该核心114和116借助于时钟同步控制块118耦合到***总线102。处理核心114和116分别各自包括处理器(120、124)和高速缓冲存储器(122、126)。标记为CPU1的处理器120耦合到标记为CACHE1的高速缓冲存储器122,并且标记为CPU2的处理器124耦合到标记为CACHE2的高速缓冲存储器126。例如逻辑内建自测试(logicbuilt-in self-test,LBIST)的试验电路耦合到CPU1和CPU2中的每个处理器,并且存储器内建自测试(memory built-in self-test,MBIST)耦合到CACHE1和CACHE2中的每个处理器。CPU1和CPU2可以包括用于处理、计算等的任何类型的电路,例如,状态机、微处理器单元(microprocessor unit,MPU)、微控制器单元(microcontroller unit,MCU)、数字信号处理器(digital signal processor,DSP),以及其它合适类型的处理单元。在此实施例中,核心114和116实际上彼此相同,例如,具有相似架构和电路。
处理***100可以包括类似于核心域104的多核域(例如,核心域106),每个核心域包括类似于核心114和116的处理核心、共享存储器(未示出)、类似于时钟同步控制块108的时钟同步控制电路、中断电路(未示出),以及其它***设备。例如,核心域106可以类似于核心域104,该核心域104包括类似于核心114和116的电路、时钟同步控制块118等。核心域106可以独立于核心域104操作,例如,在多处理或多线程处理***中。在一些实施例中,核心域106可以具有不同核心、存储器和其它电路。在一些实施例中,核心域104中的核心114和116可以各自包括类似于核心114和116的多个核心。例如,核心114可以包括具有两个处理器的两个核心,该两个处理器类似于耦合到类似于CACHE1的两个高速缓冲存储器的CPU1,并且核心116可以包括具有两个处理器的两个核心,该两个处理器类似于耦合到类似于CACHE2的两个高速缓冲存储器的CPU2。
核心114和116一般被配置成执行指令集,以便实施指定任务。在实施指令的过程中,核心114和116可以生成例如,写入到存储器、数据传送等交易。核心114和116可以被配置成在性能模式下独立地操作,或可以被配置成在时钟同步模式下一起操作。核心114和116还可以被配置成在降级模式下操作,在该降级模式下,一个核心停用并且另一核心独立地操作。在时钟同步模式中,一个核心可以通过执行相同指令并生成相同交易来遮蔽另一核心。例如,标记为CORE1的核心114和标记为CORE2的核心116可以被配置成使用时钟同步控制块118在时钟同步模式下操作(例如,作为时钟同步对),使得CORE2遮蔽CORE1,从而允许每个核心的输出彼此比较出不一致。通过比较时钟同步对的输出,可以保证数据处理***100中的安全性水平,因为可检测到硬错误和软错误。在此实施例中,当CORE2遮蔽CORE1时,CORE2的输出仅用于比较并且因此从***总线102解耦。如本文所使用的术语“遮蔽”指执行相同指令并生成相同交易。
时钟同步控制块118包括电路,该电路被配置成基于由控制器108提供的控制信号而在CORE1和CORE2与***总线102之间选择性地路由信号。时钟同步控制块118包括输入和输出,该输入和输出被耦合成将信号提供到CORE1和CORE2、***总线102以及控制器108,并且从CORE1和CORE2、***总线102以及控制器108接收信号。时钟同步控制块118还包括电路,该电路被配置成将从CORE1和CORE2中的每个核心产生的输出信号相比较,以确定此类输出信号是否彼此一致。借助于耦合在控制器108与时钟同步控制块118之间的控制信号线传输一组控制信号。
控制器108耦合到***总线102和时钟同步控制块118。控制器108包括用于处理、计算等的电路,例如,状态机、处理核心等。控制器108一般被配置成执行指令,并且将响应提供到所接收中断信号以便实施指定任务。控制器108被配置成将控制信号提供到时钟同步控制块118,并且被配置成从时钟同步控制块118接收故障指示信号和/或中断信号。
存储器110可以包括任何类型的易失性或非易失性存储器阵列单元,例如,静态随机存取存储器(static random-access memory,SRAM)、动态随机存取存储器(dynamicrandom-access memory,DRAM)、闪存存储器等。处理***100可以包括类似于存储器110的多个存储器,或不同存储器类型的组合。例如,除了SRAM 110之外,处理***100还可以包括闪存存储器。
例如,处理***100的其它***设备112可以包括任何数目的其它电路和功能硬件块,例如,加速器、计时器、计数器、通信装置、接口、模/数转换器、数/模转换器、PLL等。包括在其它***设备112中的其它电路和功能硬件块中的每一个可以借助于相应的通信总线耦合到***总线102。
图2以简化示意图形式示出根据本发明的实施例的图1的示例性时钟同步控制块118。时钟同步控制块118包括用于从***总线102接收信号的标记为C1IN和C2IN的输入、用于从CORE1和CORE2接收输出信号的标记为C1OUT和C2OUT的输入、用于将输出信号提供到***总线102的标记为C1OUTX和C2OUTX的输出,以及用于将输入信号提供到CORE1和CORE2的标记为C1IN和C2INX的输出。时钟同步控制块118还包括用于从控制器108接收控制信号的标记为SEL1、SEL2和LS的控制输入,以及用于将一个或多个故障指示信号和/或中断信号提供到控制器108的标记为FAULT的控制输出。在此实施例中,时钟同步控制块118包括复用器电路202-206、延迟电路208和210,以及比较单元212。
延迟电路208和210可以被配置成将相应信号延迟预定的固定延迟量。固定延迟量可以由从0(零)到N的值表示,其中0对应于零延迟并且N对应于N数目个时钟循环延迟。在一些实施例中,延迟电路208和210可以被配置成借助于控制信号输入(例如,DLYI、DLYO)将相应信号延迟可编程延迟量。例如,延迟电路208可以被编程为基于由控制器108提供的控制信号值将信号延迟预定量(例如,两个时钟循环)。可编程延迟量还可以由从0(零)到N的值表示,其中0对应于零延迟并且N对应于N数目个时钟循环延迟。
复用器电路202-206可以各自被配置成基于控制信号的值而选择将路由到输出的多个输入中的一个输入。在此实施例中,复用器电路202-206中的每个复用器电路被配置为双输入、单输出开关电路。复用器电路202-206还可以被称为选择器电路。在其它实施例中可以使用其它复用器电路配置和布置。
复用器电路202-206被耦合成接收控制信号LS、SEL1和SEL2,以将所选择输入耦合到相应的复用器输出。控制信号LS、SEL1和SEL2中的每个控制信号可以具有对应于CORE1和CORE2的操作模式的值。例如,在CORE2遮蔽CORE1的时钟同步模式中,控制信号LS、SEL1和SEL2可以各自设定成第一值,从而允许输入信号C1IN借助于复用器202路由到CORE1和CORE2,来自CORE1的输出信号C1OUT借助于复用器204路由到***总线102,以及来自CORE2的输出信号C2OUT借助于复用器206阻止。因为相同输入信号路由到CORE1和CORE2两者,所以来自CORE1和CORE2两者的输出信号可以在比较单元212中彼此进行比较。
在CORE1和CORE2独立地操作的性能模式中,控制信号LS和SEL2可以各自设定成第二值(同时SEL1设定成第一值),从而允许C2IN输入信号路由到CORE2并且输出信号C2OUT路由到***总线102。在第一降级模式中,CORE1被阻止并且CORE2可操作。控制信号LS、SEL1和SEL2可以各自设定成第二值,从而允许C2IN输入信号路由到CORE2并且输出信号C2OUT路由到***总线102,同时在复用器204处阻止CORE1输出信号C1OUT。在第二降级模式中,CORE1可操作并且CORE2被阻止。控制信号SEL1和SEL2可以各自设定成第一值(同时LS设定成第二值),从而允许输出信号C1OUT路由到***总线102,同时在复用器206处阻止CORE2输出信号C2OUT。当处于第一或第二降级模式中时,可以减小数据处理***100中的安全性水平,因为硬错误和软错误不像在时钟同步模式中那样可以容易检测到。
比较单元212包括用于接收第一组信号(例如,C1OUTD)和第二组信号(例如,C2OUT)的输入,以及用于提供一个或多个故障指示信号(例如,FAULT)的一个或多个输出。比较单元212包括电路,该电路被配置成将第一组信号与第二组信号相比较并在出现失配时生成故障指示。一般来说,预期第一组信号和第二组信号相同。然而,可能出现故障(还称为错误情况),其中第一组中的信号中的一个信号不同于第二组中的对应信号,并且因此生成故障指示。故障指示可以采用标志、信号和/或中断请求形式,控制器108通过该中断请求以另外的动作作出响应。
图3以简化时序图形式示出根据本发明的实施例的示例性时钟同步故障信号计时300。与时间在X轴上示出相对,各种信号在Y轴上示出。借助于实例,在时序图300中描绘对应于图1和2的时钟同步操作。出于参考目的,CLOCK信号波形包括编号的时钟循环。在图3中所描绘的实施例中,核心域116的CORE1和CORE2在时钟同步模式中操作,由此CORE2遮蔽CORE1。在此实施例中,将输入信号C1IN路由到CORE1。将C1IN信号延迟一个时钟循环以形成路由到CORE2的C1IND信号。因此,CORE2基于与CORE1相同的输入信号而稍后及时操作一个时钟循环。因此,将CORE1输出信号C1OUT延迟一个时钟循环以形成C1OUTD信号来与CORE2输出信号C2OUT进行比较。
在时钟循环3处,将C1OUTD波形描绘为C1OUT波形的一个时钟循环延迟。例如,C1OUT信号包括在时钟循环2中标记为D1的数据值,并且延迟的信号C1OUTD包括在时钟循环3中的数据值D1。因为将到达CORE2的输入信号延迟一个时钟循环(C1IND),所以CORE2输出信号C2OUT与C1OUTD信号在时间上对准。因此,C1OUTD和C2OUT信号在比较单元212中彼此进行比较。例如,在时钟循环3和4中,输出信号C2OUT与C1OUTD信号匹配,并且并未生成故障指示(FAULT)。然而,在时钟循环5中,C1OUTD信号包括数据值D3,而C2OUT信号包括数据值DX,该数据值DX被检测为故障,因此生成故障指示作为FAULT波形上的逻辑高信号。FAULT波形上的故障指示的上升边缘进而导致准备信号(C1RDY、C2RDY)对于CORE1和CORE2两者无效。在C1RDY和C2RDY信号两者无效的情况下,核心域104可以过渡到安全模式。
当处于安全模式时,CORE1和CORE2与***总线102分离并且允许完成任何未决交易。未决交易可以包括面向尚未完成的******设备(例如,存储器110、其它***设备112)的负载或存储请求。当核心域104处于安全模式时,其它核心域(例如,核心域106)和其它电路以及功能块(例如,控制器108、存储器110和其它***设备112)可以正常操作。标记为TRANS的波形描绘多个未决交易。例如,在时钟循环5处,当核心1和CORE2进入安全模式时,剩余三个未决交易。在时钟循环8处,CORE1和CORE2已完成两个交易,其中如TRANS波形中所示剩余一个交易。在时钟循环9处,如通过TRANS波形中的0(零)指示,已完成所有未决交易。在已完成未决交易之后,C1RDY和C2RDY信号在时钟循环10处有效。
图4以流程图图解形式示出根据本发明的实施例的简化时钟同步故障流。在以下步骤中描述对应于图1和图2中所描绘的块和电路的示例性时钟同步操作。
在步骤402处,使核心域104通电。在核心域104的通电期间,CORE1和CORE2、时钟同步控制块108、相关联存储器,以及其它核心域电路中的每一个复位。在核心域104的通电和复位之后,CORE1和CORE2可以开始独立地执行。因为核心域104可以是片上***(system-on-chip,SoC)等的一部分,所以核心域104可以在SoC的通电期间通电。同样,核心域104可以在SoC的复位操作(例如,通电复位)期间复位。
在步骤404处,进入核心域104的时钟同步模式。控制器108将一个或多个控制信号提供到核心域104,以使CORE1和核心2以及时钟同步控制块118在时钟同步模式下操作。例如LS、SEL1和SEL2的控制信号用于配置到达/来自相应核心的信号流,并且例如DLYI和DLYO的控制信号用于从0(零)时钟循环延迟到N数目个时钟循环延迟配置相应信号延迟量。
例如,在时钟同步模式中,控制信号LS用于借助于复用器202将信号C1IND路由到C2INX作为CORE2输入信号。因为CORE1和CORE2在时钟同步模式中接收相同输入信号(例如,指令),CORE1和CORE2预期执行相同操作并且提供相同输出信号,除非出现故障。控制信号SEL1用于借助于复用器204将C1OUT信号路由到C1OUTX作为CORE1输出信号,并且控制信号SEL2用于借助于复用器206阻止C2OUT信号路由到核心域104外部。控制信号DLYI用于选择延迟量(例如,一个时钟循环),延迟电路210将C1IN信号延迟该延迟量以形成C1IND信号。同样,控制信号DLYO用于选择延迟量(例如,一个时钟循环),延迟电路208将C1OUT信号延迟该延迟量以形成C1OUTD信号。
在步骤406处,将CORE1输出信号与CORE2输出信号相比较。将CORE1输出信号C1OUT延迟(例如,一个循环),以形成C1OUTD信号来将CORE1与CORE2输出信号在时间上对准。因此,C1OUTD信号在比较单元212中与CORE2输出信号C2OUT进行比较。C1OUTD和C2OUT信号可以各自包括数十个或数百个个别信号。比较单元212的电路被配置成将数十个或数百个C1OUTD信号中的每个信号与一个时钟循环中的相应C2OUT信号相比较。可能发生故障,其中C1OUTD信号中的信号中的一个信号不同于C2OUT信号中的对应信号。故障可以对应于软错误或硬错误。软错误或硬错误一般与CORE1或CORE2电路以及其***设备(例如,高速缓冲存储器)相关联。当检测到故障时,故障指示以标志、信号和/或中断请求的形式生成并且在控制器108处接收到。
在步骤408处,检测故障并生成故障指示。当C1OUTD信号中的信号中的一个信号不同于C2OUT信号中的对应信号时,通过比较单元212检测故障。故障可以由于软错误或硬错误而发生。硬错误还可以被称为永久性错误(例如,电气过应力或潜在缺陷)。软错误还可以被称为不会损坏装置的瞬态错误(例如,电磁干扰、α粒子或电压尖峰)。进而,故障指示以标志、信号和/或中断请求的形式生成。
在步骤410处,进入安全模式并且完成未决交易。响应于故障指示,核心域104进入安全模式。当处于安全模式时,CORE1和CORE2与***总线102分离并且完成任何未决交易。核心域106可以继续处理交易,并且在核心域104处于安全模式时,处理***100的其它部分可以继续正常操作。当完成所有未决交易时,将中断请求传输到控制器108以进行另外的动作。
在步骤412处,通过执行测试,例如,存储器内建自测试(memory built-in self-test,MBIST)、逻辑内建自测试(logic built-in self-test,LBIST)等分析故障。当在控制器108处接收到中断请求时,起始中断服务例程(interrupt service routine,ISR)或其它软件例程开始在控制器108处执行以分析故障。例如,MBIST在耦合到CORE1和CORE2中的每一个的存储器(例如,高速缓存器)上执行。当完成MBIST时,LBIST在CORE1和CORE2中的每一个上执行。在一些实施例中,可以执行其它测试以确定哪个(如果存在的话)核心或核心***设备发生故障。
在步骤414处,确定故障类型以及哪个核心(如果存在的话)发生故障。在分析故障之后,可以确定故障类型(例如,软错误或硬错误)。当MBIST失败或LBIST失败时,故障类型表征为硬错误。为了识别哪个核心发生故障,硬错误可以对应于具有CORE1或CORE2中的任一个的错误,或与CORE1或CORE2相关联的存储器(例如,高速缓存器)错误。例如,与CORE1相关联的高速缓冲存储器错误可以表征为硬错误,并且因为高速缓冲存储器错误与CORE1相关联,所以CORE1被视为故障核心。当MBIST和LBIST通过时,故障类型表征为软错误。
在步骤416处,确定故障类型是否表征为硬错误。当故障类型不表征为硬错误时,故障类型可以被视为软错误并且流程在步骤418处继续。当故障类型表征为硬错误时,流程在420处继续。
在步骤418处,核心域104复位。当确定软错误时,核心域104复位。当核心域104复位时,核心域106和处理***100的其它部分可以继续正常操作。在完成核心域104复位之后,退出安全模式。在核心域104复位之后,流程在步骤404处通过进入时钟同步模式而继续。
在步骤420处,核心域104复位。当确定硬错误时,核心域104复位。当核心域104复位时,核心域106和处理***100的其它部分可以继续正常操作。在完成核心域104复位之后,退出安全模式并且流程在步骤422处通过进入降级模式而继续。
在步骤422处,停用故障核心并且在降级模式下运行另一核心。因为故障对应于硬错误,所以CORE1和CORE2中的一个被识别为故障核心且另一个以及时钟同步控制块118被配置成在降级操作模式下操作(例如,当处于时钟同步模式下时不保证安全性)。例如,基于故障对应于硬错误并且CORE2被识别为故障核心,CORE1恢复执行指令并且CORE2被阻止执行指令。
一般来说,提供一种操作数据处理***的方法,该方法包括:通过比较来自第一处理核心和第二处理核心的输出信号来检测故障;基于检测故障而进入安全模式;在处于安全模式时完成交易;确定故障是否对应于硬错误;以及基于故障对应于硬错误:将处理核心中的一个处理核心识别为故障核心,该故障核心与硬错误相关联;以及阻止故障核心执行指令并允许另一处理核心恢复执行指令。该方法可以另外包括在时钟同步模式下操作第一处理核心和第二处理核心,该第二处理核心遮蔽该第一处理核心。该方法可以另外包括在控制器处接收对应于故障的中断信号;以及响应于中断信号,调用服务例程来分析故障。确定故障是否对应于硬错误可以另外包括:在耦合到第一处理核心的第一处理器的第一高速缓冲存储器和耦合到第二处理核心的第二处理器的第二高速缓冲存储器中的至少一个高速缓冲存储器上执行存储器内建自测试(memory built-in self-test,MBIST);以及在第一处理器和第二处理器中的至少一个处理器上执行逻辑内建自测试(logic built-inself-test,LBIST)。当MBIST或LBIST失败时可以确定硬错误。该方法可以另外包括将第一核心域耦合到数据处理***的***总线,核心域包括第一处理核心和第二处理核心。安全模式可以包括将第一处理核心和第二处理核心与***总线隔离。该方法可以另外包括基于故障不对应于硬错误,将第一核心域复位,处理***的其它部分在第一核心域的复位期间继续正常操作。通过比较输出信号检测故障可以包括延迟来自第一处理核心的输出信号,以与来自第二处理核心的输出信号在时间上对准。
在另一实施例中,提供一种处理***,该处理***包括耦合到***总线的核心域,该核心域包括:第一处理核心,其包括耦合到第一高速缓冲存储器的第一处理器;第二处理核心,其包括耦合到第二高速缓冲存储器的第二处理器;以及时钟同步控制电路,其耦合到第一处理核心和第二处理核心,该时钟同步控制电路被配置成通过比较来自第一处理核心和第二处理核心的输出信号来检测故障、基于检测到的故障进入安全模式,以及在安全模式下完成交易;以及耦合到时钟同步控制电路的控制器,该控制器被配置成确定故障是否对应于硬错误,以及响应于故障对应于硬错误,允许第一处理核心和第二处理核心中的一个处理核心不与硬错误相关联以继续执行指令。时钟同步控制电路可以包括比较电路,该比较电路被配置成当来自第一处理核心和第二处理核心的输出信号不匹配时检测到故障。安全模式可以包括将第一处理核心和第二处理核心与***总线隔离。控制器可以被配置成接收对应于故障的中断信号;以及响应于中断信号,调用服务例程来分析故障。用于分析故障的服务例程可以包括将在第一高速缓冲存储器和第二高速缓冲存储器中的至少一个高速缓冲存储器上执行的存储器内建自测试(memory built-in self-test,MBIST),以及将在第一处理器和第二处理器中的至少一个处理器上执行的逻辑内建自测试(logic built-in self-test,LBIST)。基于故障不对应于硬错误,控制器可以被配置成将第一核心域复位并且允许处理***的其它部分在核心域的复位期间正常操作。
在又一实施例中,提供一种操作数据处理***的方法,该方法包括在时钟同步模式下操作核心域,该核心域包括遮蔽第二处理核心的第一处理核心;通过比较来自第一处理核心和第二处理核心的输出信号来检测故障;基于检测到故障而进入安全模式,该安全模式将核心域与***总线隔离;确定故障是否对应于硬错误;将处理核心中的一个处理核心识别为故障核心,该故障核心与硬错误相关联;基于故障对应于硬错误,阻止故障核心执行指令并且允许处理核心不与硬错误相关联以恢复执行指令。通过比较输出信号检测故障可以包括延迟来自第二处理核心的输出信号,以与来自第一处理核心的输出信号在时间上对准。该方法可以另外包括生成对应于故障的中断信号;以及响应于控制器处的中断信号,调用服务例程来分析故障。确定故障是否对应于硬错误可以另外包括在耦合到第一处理核心的第一处理器的第一高速缓冲存储器和耦合到第二处理核心的第二处理器的第二高速缓冲存储器中的至少一个高速缓冲存储器上执行存储器内建自测试(memory built-inself-test,MBIST);以及在第一处理器和第二处理器中的至少一个处理器上执行逻辑内建自测试(logic built-in self-test,LBIST),其中当MBIST或LBIST失败时确定硬错误。该方法可以另外包括基于故障不对应于硬错误,将核心域复位并且允许数据处理***的其它部分在核心域的复位期间继续正常操作。
因此,到目前为止,可以了解,已提供数据处理***以及用于在时钟同步模式下操作的方法。在时钟同步模式期间比较从核心域的两个处理核心产生的输出信号。当检测到故障时,核心域进入安全模式并且确定故障是由软错误还是由硬错误引起。当处于安全模式时,核心域与数据处理***的***总线分离并且完成未决交易。通过在耦合到每个处理核心的处理器的高速缓冲存储器上执行存储器内建自测试(memory built-in self-test,MBIST)以及在每个处理核心的处理器上执行逻辑内建自测试(logic built-in self-test,LBIST)来分析故障。当MBIST或LBIST失败时确定硬错误,并且当MBIST和LBIST都通过时确定软错误。当确定硬错误时,故障分析还识别哪个核心是故障核心。
基于故障对应于硬错误,阻止故障核心并且允许非故障核心继续操作。通过阻止故障核心并允许非故障核心继续执行,数据处理***可以在安全性应用中所期望的降低或降级操作模式下继续操作。基于故障对应于软错误,执行核心域的复位,同时允许数据处理***的其它部分正常操作。因为核心域的复位不会影响数据处理***的其它部分,所以可以实现在安全性应用中也期望的显著停机时间节省。
如本文所使用,术语“总线”用于指代多个信号或导体,该多个信号或导体可以用于传送一个或多个各种类型的信息,例如数据、地址、控制或状态。如本文中所论述的导体可以参考单个导体、多个导体、单向导体或双向导体示出或描述。然而,不同的实施例可以改变导体的实施方案。例如,可以使用单独的单向连接而不是双向连接,且反之亦然。而且,多个导体可以用串行地或以时分复用的方式传送多个信号的单个导体替换。同样地,载送多个信号的单个导体可以被分成载送这些信号的子集的各种不同导体。因此,存在用于传送信号的许多选择方案。
本文中在参考使信号、状态位或类似设备呈现为其逻辑真或逻辑假状态时分别使用术语“使有效”或“设定”和“取消”(或“使无效”或“清除”)。如果逻辑真状态为逻辑电平一,那么逻辑假状态为逻辑电平零。并且如果逻辑真状态是逻辑电平零,那么逻辑假状态是逻辑电平一。
本文中所描述的每个信号可以被设计为正逻辑或负逻辑。在负逻辑信号的情况下,信号为低电平有效,其中逻辑真状态对应于逻辑电平零。在正逻辑信号的情况下,信号为高电平有效,其中逻辑真状态对应于逻辑电平一。应注意,本文中所描述的的任何信号均可以被设计为负逻辑信号或正逻辑信号。因此,在替代实施例中,描述为正逻辑信号的那些信号可以实施为负逻辑信号,且描述为负逻辑信号的那些信号可以实施为正逻辑信号。
因为实施本发明的设备大部分由本领域的技术人员已知的电子组件和电路组成,所以为了理解和了解本发明的基本概念并且为了不混淆或偏离本发明的教示,将不会以比上文所示出的认为必要的任何更大程度阐述电路细节。
在适当时,以上实施例中的一些可以使用多种不同信息处理***实施。例如,尽管图1和其论述描述示例性数据处理架构,但呈现这种示例性架构仅为了在论述本发明的各种方面时提供有用的参考。当然,出于论述的目的,该架构的描述已被简化,并且其只是可根据本发明使用的适当架构的许多不同类型中的一种。本领域技术人员将认识到,逻辑块之间的边界仅仅是说明性的,且替代实施例可以合并逻辑块或电路元件,或对各种逻辑块或电路元件施加功能性的替代分解。
而且,例如,在一个实施例中,数据处理***100的所示元件是位于单个集成电路上或同一装置内的电路。或者,数据处理***100可以包括任何数目的单独集成电路或彼此互连的单独装置。
虽然本文中参考具体实施例描述了本发明,但是可以在不脱离如所附权利要求书中所阐述的本发明的范围的情况下进行各种修改和改变。因此,说明书和图式应视为说明性而不是限制性意义,并且预期所有这些修改都包括在本发明的范围内。并不意图将本文中关于具体实施例所描述的任何益处、优点或问题的解决方案理解为任何或所有权利要求的关键、必需或必不可少的特征或元素。
此外,如本文中所使用,术语“一”被定义为一个或多于一个。另外,权利要求书中对例如“至少一个”和“一个或多个”等引导性短语的使用不应被解释为暗示由不定冠词“一”引导的另一权利要求要素将含有此类引导的权利要求要素的任何特定权利要求限制于仅含有一个此类要素的发明,即使是当同一权利要求包括引导性短语“一个或多个”或“至少一个”和例如“一”等不定冠词时也如此。上述同样适用于定冠词的使用。
除非另外说明,否则例如“第一”和“第二”等术语用于任意地区别此类术语所描述的元件。因此,这些术语不一定预期指示此类元件的时间或其它优先级。
Claims (10)
1.一种操作数据处理***的方法,其特征在于,包括:
在第一处理核心处从时钟同步控制电路接收第一输入信号,以及在第二处理核心处从时钟同步控制电路接收第二输入信号;第一输入信号和第二输入信号用以产生输出信号中的第一输出信号和第二输出信号;
将基于第一输入信号和第二输入信号而产生的第一输出信号和第二输出信号提供到比较器,以检测第一输出信号和第二输出信号之间的故障;
通过比较来自第一处理核心和第二处理核心的输出信号中的第一输出信号和第二输出信号来检测故障;
基于检测到所述故障而进入安全模式;
当处于所述安全模式时完成交易;
确定所述故障是否对应于硬错误;以及
基于所述故障对应于硬错误:
将处理核心中的一个处理核心识别为故障核心,所述故障核心与所述硬错误相关联;以及
阻止所述故障核心执行指令并且允许另一处理核心恢复执行指令。
2.根据权利要求1所述的方法,其特征在于,进一步包括在时钟同步模式下操作所述第一处理核心和所述第二处理核心,所述第二处理核心遮蔽所述第一处理核心。
3.根据权利要求1所述的方法,其特征在于,进一步包括在控制器处接收对应于所述故障的中断信号;以及响应于所述中断信号,调用服务例程来分析所述故障。
4.根据权利要求1所述的方法,其特征在于,确定所述故障是否对应于硬错误进一步包括:
在耦合到所述第一处理核心的第一处理器的第一高速缓冲存储器和耦合到所述第二处理核心的第二处理器的第二高速缓冲存储器中的至少一个高速缓冲存储器上执行存储器内建自测试(MBIST);以及
在所述第一处理器和所述第二处理器中的至少一个处理器上执行逻辑内建自测试(LBIST)。
5.根据权利要求1所述的方法,其特征在于,进一步包括将第一核心域耦合到所述数据处理***的***总线,所述核心域包括所述第一处理核心和所述第二处理核心。
6.根据权利要求5所述的方法,其特征在于,所述安全模式包括将所述第一处理核心和所述第二处理核心与所述***总线隔离。
7.根据权利要求5所述的方法,其特征在于,进一步包括基于所述故障不对应于硬错误,将所述第一核心域复位,所述处理***的其它部分在所述第一核心域的复位期间继续正常操作。
8.根据权利要求1所述的方法,其特征在于,通过比较输出信号来检测所述故障包括延迟来自所述第一处理核心的输出信号,以与来自所述第二处理核心的输出信号在时间上对准。
9.一种数据处理***,其特征在于,包括:
耦合到***总线的核心域,所述核心域包括:
第一处理核心,其包括耦合到第一高速缓冲存储器的第一处理器,
第二处理核心,其包括耦合到第二高速缓冲存储器的第二处理器,以及
时钟同步控制电路,其耦合到所述第一处理核心和所述第二处理核心,所述时钟同步控制电路被配置成向第一处理核心和第二处理核心提供输入信号,所述输入信号是第一输入信号和第二输入信号,用以产生输出信号中的第一输出信号和第二输出信号,基于第一输入信号和第二输入信号产生的第一输出信号和第二输出信号提供到比较器以检测第一输出信号和第二输出信号之间的故障,以及通过比较来自所述第一处理核心和所述第二处理核心的输出信号中的第一输出信号和第二输出信号来检测故障、基于检测到的故障而进入安全模式、以及在处于所述安全模式时完成交易;以及
耦合到所述时钟同步控制电路的控制器,所述控制器被配置成确定所述故障是否对应于硬错误,以及响应于所述故障对应于所述硬错误,允许所述第一处理核心和第二处理核心中的一个处理核心不与所述硬错误相关联以继续执行指令。
10.一种操作数据处理***的方法,其特征在于,包括:
在时钟同步模式下操作核心域,所述核心域包括遮蔽第二处理核心的第一处理核心;
在第一处理核心处从时钟同步控制电路接收第一输入信号,以及在第二处理核心处从时钟同步控制电路接收第二输入信号;第一输入信号和第二输入信号用以产生输出信号中的第一输出信号和第二输出信号;
将基于第一输入信号和第二输入信号而产生的第一输出信号和第二输出信号提供到比较器,以检测第一输出信号和第二输出信号之间的故障;
通过比较来自所述第一处理核心和所述第二处理核心的输出信号中的第一输出信号和第二输出信号来检测故障;
基于检测到所述故障而进入安全模式,所述安全模式将所述核心域与***总线隔离;
确定所述故障是否对应于硬错误;
将处理核心中的一个处理核心识别为故障核心,所述故障核心与所述硬错误相关联;以及
基于所述故障对应于硬错误,阻止所述故障核心执行指令并且允许所述处理核心不与所述硬错误相关联以恢复执行指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/830,154 | 2017-12-04 | ||
US15/830,154 US10802932B2 (en) | 2017-12-04 | 2017-12-04 | Data processing system having lockstep operation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109872150A CN109872150A (zh) | 2019-06-11 |
CN109872150B true CN109872150B (zh) | 2024-06-21 |
Family
ID=64559441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811468840.5A Active CN109872150B (zh) | 2017-12-04 | 2018-12-04 | 具有时钟同步操作的数据处理*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US10802932B2 (zh) |
EP (1) | EP3493062B1 (zh) |
CN (1) | CN109872150B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6832787B2 (ja) * | 2017-04-28 | 2021-02-24 | ルネサスエレクトロニクス株式会社 | 半導体装置および半導体装置のテスト方法 |
US10628277B2 (en) * | 2018-03-29 | 2020-04-21 | Arm Ltd. | Device, system and process for redundant processor error detection |
JP6981920B2 (ja) * | 2018-05-25 | 2021-12-17 | ルネサスエレクトロニクス株式会社 | 半導体装置、およびデバッグ方法 |
US11263322B2 (en) * | 2018-08-27 | 2022-03-01 | Infineon Technologies Ag | Secure x-modular redundancy |
CN112015599B (zh) * | 2019-05-31 | 2022-05-13 | 华为技术有限公司 | 错误恢复的方法和装置 |
FR3102268B1 (fr) * | 2019-10-18 | 2023-03-10 | St Microelectronics Rousset | Procédé d’authentification d’un circuit sur puce et système sur puce associé |
EP4055481A1 (en) * | 2019-11-11 | 2022-09-14 | Huawei Technologies Co., Ltd. | Fault detection system |
US11424621B2 (en) | 2020-01-28 | 2022-08-23 | Qualcomm Incorporated | Configurable redundant systems for safety critical applications |
US11422185B2 (en) | 2020-06-30 | 2022-08-23 | Nxp Usa, Inc. | System and method for testing critical components on system-on-chip |
US11175340B1 (en) * | 2021-02-15 | 2021-11-16 | Nxp B.V. | System and method for managing testing and availability of critical components on system-on-chip |
US11645155B2 (en) | 2021-02-22 | 2023-05-09 | Nxp B.V. | Safe-stating a system interconnect within a data processing system |
US11550684B2 (en) | 2021-04-19 | 2023-01-10 | Nxp B.V. | Testing of lockstep architecture in system-on-chips |
JP2023035739A (ja) * | 2021-09-01 | 2023-03-13 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6948092B2 (en) * | 1998-12-10 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | System recovery from errors for processor and associated components |
CN101243407A (zh) * | 2005-08-08 | 2008-08-13 | 罗伯特·博世有限公司 | 用于控制具有至少两个执行单元和一个比较单元的计算器***的方法和装置 |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3905023A (en) * | 1973-08-15 | 1975-09-09 | Burroughs Corp | Large scale multi-level information processing system employing improved failsaft techniques |
US4965717A (en) | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
US5295258A (en) | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5418736A (en) | 1994-03-11 | 1995-05-23 | Nexgen, Inc. | Optimized binary adders and comparators for inputs having different widths |
US5838899A (en) | 1994-09-20 | 1998-11-17 | Stratus Computer | Digital data processing methods and apparatus for fault isolation |
US6625749B1 (en) * | 1999-12-21 | 2003-09-23 | Intel Corporation | Firmware mechanism for correcting soft errors |
US6636981B1 (en) * | 2000-01-06 | 2003-10-21 | International Business Machines Corporation | Method and system for end-to-end problem determination and fault isolation for storage area networks |
US6975629B2 (en) | 2000-03-22 | 2005-12-13 | Texas Instruments Incorporated | Processing packets based on deadline intervals |
US7225244B2 (en) | 2000-05-20 | 2007-05-29 | Ciena Corporation | Common command interface |
US20020001307A1 (en) | 2000-05-20 | 2002-01-03 | Equipe Communications Corporation | VPI/VCI availability index |
US7266595B1 (en) | 2000-05-20 | 2007-09-04 | Ciena Corporation | Accessing network device data through user profiles |
US20020116485A1 (en) | 2001-02-21 | 2002-08-22 | Equipe Communications Corporation | Out-of-band network management channels |
US20020057018A1 (en) | 2000-05-20 | 2002-05-16 | Equipe Communications Corporation | Network device power distribution scheme |
US6880086B2 (en) | 2000-05-20 | 2005-04-12 | Ciena Corporation | Signatures for facilitating hot upgrades of modular software components |
US7240364B1 (en) | 2000-05-20 | 2007-07-03 | Ciena Corporation | Network device identity authentication |
US7143153B1 (en) | 2000-11-09 | 2006-11-28 | Ciena Corporation | Internal network device dynamic health monitoring |
US7020696B1 (en) | 2000-05-20 | 2006-03-28 | Ciena Corp. | Distributed user management information in telecommunications networks |
US7349960B1 (en) | 2000-05-20 | 2008-03-25 | Ciena Corporation | Throttling distributed statistical data retrieval in a network device |
US6934749B1 (en) | 2000-05-20 | 2005-08-23 | Ciena Corporation | Tracking distributed data retrieval in a network device |
US6802039B1 (en) * | 2000-06-30 | 2004-10-05 | Intel Corporation | Using hardware or firmware for cache tag and data ECC soft error correction |
US20030120822A1 (en) | 2001-04-19 | 2003-06-26 | Langrind Nicholas A. | Isolated control plane addressing |
US7693976B2 (en) | 2000-07-11 | 2010-04-06 | Ciena Corporation | Granular management of network resources |
US6874052B1 (en) | 2000-09-29 | 2005-03-29 | Lucent Technologies Inc. | Expansion bridge apparatus and method for an I2C bus |
US7263597B2 (en) | 2001-04-19 | 2007-08-28 | Ciena Corporation | Network device including dedicated resources control plane |
US6985975B1 (en) | 2001-06-29 | 2006-01-10 | Sanera Systems, Inc. | Packet lockstep system and method |
US6938183B2 (en) | 2001-09-21 | 2005-08-30 | The Boeing Company | Fault tolerant processing architecture |
EP1398700A1 (de) | 2002-09-12 | 2004-03-17 | Siemens Aktiengesellschaft | Verfahren und Schaltungsanordnung zur Synchronisation redundanter Verarbeitungseinheiten |
WO2005101996A2 (en) | 2004-04-16 | 2005-11-03 | Goldman Sachs & Co. | Apparatus, method and system for a designing and trading macroeconomic investment views |
US7555703B2 (en) * | 2004-06-17 | 2009-06-30 | Intel Corporation | Method and apparatus for reducing false error detection in a microprocessor |
US7720822B1 (en) * | 2005-03-18 | 2010-05-18 | Beyondcore, Inc. | Quality management in a data-processing environment |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
WO2007094808A1 (en) | 2005-08-05 | 2007-08-23 | Honeywell International Inc. | Monitoring system and methods for a distributed and recoverable digital control system |
JP2007079817A (ja) * | 2005-09-13 | 2007-03-29 | Canon Inc | Cpuクロックとシリアルidによる装置の起動判定 |
US7587663B2 (en) * | 2006-05-22 | 2009-09-08 | Intel Corporation | Fault detection using redundant virtual machines |
US7568138B2 (en) * | 2006-07-26 | 2009-07-28 | International Business Machines Corporation | Method to prevent firmware defects from disturbing logic clocks to improve system reliability |
US7434096B2 (en) * | 2006-08-11 | 2008-10-07 | Chicago Mercantile Exchange | Match server for a financial exchange having fault tolerant operation |
US20080086515A1 (en) * | 2006-10-06 | 2008-04-10 | International Business Machines Corporation | Method and System for a Soft Error Collection of Trace Files |
US20080235454A1 (en) * | 2007-03-22 | 2008-09-25 | Ibm Corporation | Method and Apparatus for Repairing a Processor Core During Run Time in a Multi-Processor Data Processing System |
WO2008131446A2 (en) | 2007-04-23 | 2008-10-30 | Scrutiny, Inc. | Computing infrastructure |
US8706914B2 (en) | 2007-04-23 | 2014-04-22 | David D. Duchesneau | Computing infrastructure |
US7987385B2 (en) | 2007-07-24 | 2011-07-26 | Ge Aviation Systems Llc | Method for high integrity and high availability computer processing |
WO2009015276A2 (en) | 2007-07-24 | 2009-01-29 | Ge Aviation Systems Llc | High integrity and high availability computer processing module |
US7818500B2 (en) | 2007-11-01 | 2010-10-19 | Pubali Ray | Apparatus and method for using one core for RAID control in multi-core CPU |
US20090177866A1 (en) * | 2008-01-08 | 2009-07-09 | Choate Michael L | System and method for functionally redundant computing system having a configurable delay between logically synchronized processors |
TWI476610B (zh) | 2008-04-29 | 2015-03-11 | Maxiscale Inc | 同級間冗餘檔案伺服器系統及方法 |
US20100005218A1 (en) | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhanced cascade interconnected memory system |
US8090984B2 (en) * | 2008-12-10 | 2012-01-03 | Freescale Semiconductor, Inc. | Error detection and communication of an error location in multi-processor data processing system having processors operating in Lockstep |
EP2367129A1 (en) | 2010-03-19 | 2011-09-21 | Nagravision S.A. | Method for checking data consistency in a system on chip |
RU2585262C2 (ru) * | 2010-03-23 | 2016-05-27 | Континенталь Тевес Аг Унд Ко. Охг | Контрольно-вычислительная система, способ управления контрольно-вычислительной системой, а также применение контрольно-вычислительной системы |
EP2466466B1 (de) * | 2010-12-09 | 2013-10-16 | Siemens Aktiengesellschaft | Verfahren zur Fehlererkennung bei der Ausführung eines Echtzeit-Betriebssystems |
US8635492B2 (en) * | 2011-02-15 | 2014-01-21 | International Business Machines Corporation | State recovery and lockstep execution restart in a system with multiprocessor pairing |
US9208036B2 (en) * | 2011-04-19 | 2015-12-08 | Freescale Semiconductor, Inc. | Dynamic lockstep cache memory replacement logic |
CN102841828B (zh) * | 2011-06-21 | 2016-01-20 | 西屋电气有限责任公司 | 逻辑电路中的故障检测和减轻 |
US8447897B2 (en) | 2011-06-24 | 2013-05-21 | Freescale Semiconductor, Inc. | Bandwidth control for a direct memory access unit within a data processing system |
GB2497967B (en) | 2011-12-23 | 2018-02-21 | Reinhausen Maschf Scheubeck | Fault-tolerant control systems |
GB2497968A (en) | 2011-12-23 | 2013-07-03 | Amantys Ltd | Switching very large numbers of power semiconductor devices in synchronisation |
US9658930B2 (en) * | 2011-12-30 | 2017-05-23 | Intel Corporation | Method and device for managing hardware errors in a multi-core environment |
US8819485B2 (en) * | 2012-03-12 | 2014-08-26 | Infineon Technologies Ag | Method and system for fault containment |
US10346095B2 (en) * | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US9702349B2 (en) | 2013-03-15 | 2017-07-11 | ClearMotion, Inc. | Active vehicle suspension system |
WO2014145018A2 (en) | 2013-03-15 | 2014-09-18 | Levant Power Corporation | Active vehicle suspension improvements |
GB2520503A (en) * | 2013-11-21 | 2015-05-27 | Ibm | Virtual machine backup |
US9374194B2 (en) * | 2013-12-31 | 2016-06-21 | General Electric Company | Transmission system error detection and correction system and method |
US9465746B2 (en) | 2014-01-24 | 2016-10-11 | International Business Machines Corporation | Diagnostics for transactional execution errors in reliable transactions |
US9317379B2 (en) | 2014-01-24 | 2016-04-19 | International Business Machines Corporation | Using transactional execution for reliability and recovery of transient failures |
US9304935B2 (en) | 2014-01-24 | 2016-04-05 | International Business Machines Corporation | Enhancing reliability of transaction execution by using transaction digests |
US9424071B2 (en) | 2014-01-24 | 2016-08-23 | International Business Machines Corporation | Transaction digest generation during nested transactional execution |
JP2017509059A (ja) * | 2014-03-24 | 2017-03-30 | インテル・コーポレーション | 電力消費を低減するための割り込み処理の同期化 |
US9130566B1 (en) | 2014-09-24 | 2015-09-08 | Xilinx, Inc. | Programmable IC with power fault tolerance |
TWI621942B (zh) * | 2015-01-16 | 2018-04-21 | 緯創資通股份有限公司 | 作業系統層次之工作階段容錯移轉方法以及使用該方法的系統 |
US10761925B2 (en) * | 2015-03-24 | 2020-09-01 | Nxp Usa, Inc. | Multi-channel network-on-a-chip |
US9870253B2 (en) | 2015-05-27 | 2018-01-16 | International Business Machines Corporation | Enabling end of transaction detection using speculative look ahead |
US10120802B2 (en) | 2015-09-23 | 2018-11-06 | International Business Machines Corporation | Transactional memory coherence control |
US9697121B2 (en) | 2015-09-29 | 2017-07-04 | International Business Machines Corporation | Dynamic releasing of cache lines |
US9952932B2 (en) * | 2015-11-02 | 2018-04-24 | Chicago Mercantile Exchange Inc. | Clustered fault tolerance systems and methods using load-based failover |
US9535696B1 (en) | 2016-01-04 | 2017-01-03 | International Business Machines Corporation | Instruction to cancel outstanding cache prefetches |
US10089194B2 (en) * | 2016-06-08 | 2018-10-02 | Qualcomm Incorporated | System and method for false pass detection in lockstep dual core or triple modular redundancy (TMR) systems |
US10303566B2 (en) * | 2017-07-10 | 2019-05-28 | Arm Limited | Apparatus and method for checking output data during redundant execution of instructions |
-
2017
- 2017-12-04 US US15/830,154 patent/US10802932B2/en active Active
-
2018
- 2018-11-26 EP EP18208393.1A patent/EP3493062B1/en active Active
- 2018-12-04 CN CN201811468840.5A patent/CN109872150B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6948092B2 (en) * | 1998-12-10 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | System recovery from errors for processor and associated components |
CN101243407A (zh) * | 2005-08-08 | 2008-08-13 | 罗伯特·博世有限公司 | 用于控制具有至少两个执行单元和一个比较单元的计算器***的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3493062A3 (en) | 2019-06-19 |
EP3493062A2 (en) | 2019-06-05 |
EP3493062B1 (en) | 2024-05-29 |
US20190171536A1 (en) | 2019-06-06 |
CN109872150A (zh) | 2019-06-11 |
US10802932B2 (en) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109872150B (zh) | 具有时钟同步操作的数据处理*** | |
US10628275B2 (en) | Runtime software-based self-test with mutual inter-core checking | |
US10761925B2 (en) | Multi-channel network-on-a-chip | |
US7506217B2 (en) | Apparatus and method for software-based control flow checking for soft error detection to improve microprocessor reliability | |
US9449717B2 (en) | Memory built-in self-test for a data processing apparatus | |
EP3198725B1 (en) | Programmable ic with safety sub-system | |
US10331531B2 (en) | Self-testing in a processor core | |
US10078565B1 (en) | Error recovery for redundant processing circuits | |
EP2824573B1 (en) | Microcomputer test | |
WO2006043227A1 (en) | Data processing system and method for monitoring the cache coherence of processing units | |
US7568138B2 (en) | Method to prevent firmware defects from disturbing logic clocks to improve system reliability | |
US20040216003A1 (en) | Mechanism for FRU fault isolation in distributed nodal environment | |
US20160147545A1 (en) | Real-Time Optimization of Many-Core Systems | |
US20060224906A1 (en) | Fault resilient boot of complex multi-rail processors in an information handling system | |
US10303566B2 (en) | Apparatus and method for checking output data during redundant execution of instructions | |
US20030126531A1 (en) | Deterministic hardware reset for FRC machine | |
US9130566B1 (en) | Programmable IC with power fault tolerance | |
US9495239B1 (en) | User-configurable error handling | |
Yiu | Design of SOC for high reliability systems with embedded processors | |
Szurman et al. | Coarse-grained TMR soft-core processor fault tolerance methods and state synchronization for run-time fault recovery | |
Floridia et al. | Parallel software-based self-test suite for multi-core system-on-chip: Migration from single-core to multi-core automotive microcontrollers | |
Szurman et al. | Run-Time Reconfigurable Fault Tolerant Architecture for Soft-Core Processor NEO430 | |
US9734032B1 (en) | Diagnostic coverage of registers by software | |
Clarke et al. | IBM System z10 design for RAS | |
Sander et al. | Architectural measures against radiation effects in multicore SoC for safety critical applications |
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 |