CN101714397B - 集成电路的顺序存储电路内单次事件翻转错误的纠正 - Google Patents

集成电路的顺序存储电路内单次事件翻转错误的纠正 Download PDF

Info

Publication number
CN101714397B
CN101714397B CN200910206127.8A CN200910206127A CN101714397B CN 101714397 B CN101714397 B CN 101714397B CN 200910206127 A CN200910206127 A CN 200910206127A CN 101714397 B CN101714397 B CN 101714397B
Authority
CN
China
Prior art keywords
circuit
indication
output
signal
error
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
Application number
CN200910206127.8A
Other languages
English (en)
Other versions
CN101714397A (zh
Inventor
V·钱德拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN101714397A publication Critical patent/CN101714397A/zh
Application granted granted Critical
Publication of CN101714397B publication Critical patent/CN101714397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00392Modifications for increasing the reliability for protection by circuit redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components

Abstract

本发明名称为“集成电路的顺序存储电路内单次事件翻转错误的纠正”。公开一种用于集成电路的顺序存储电路,其包括存储电路、错误检测电路和输出电路,存储电路包含第一存储元件和第二存储元件,错误检测电路包含两个附加存储元件、比较电路和进一步的比较电路,输出电路用于纠正所述存储电路内任何检测到的错误,并且用于输出输出值。

Description

集成电路的顺序存储电路内单次事件翻转错误的纠正
技术领域
本发明的技术领域涉及集成电路的顺序存储电路中的软错误或单次事件翻转错误(single event upset error)的纠正,例如因为中子或阿尔法粒子撞击所产生的错误。
背景技术
软错误或单次事件翻转错误(SEU)是电路内节点的扰乱,起因是高能中子或阿尔法粒子撞击在硅基板上。这种撞击可在例如处理器的集成电路内的敏感节点处产生瞬间电压脉冲或状态的变更。由于SEU,错误可发生,其中它导致在确定集成电路的架构状态的状态保持元件中的状态改变,这些元件例如处理器的架构状态寄存器、寄存器文件、RAM阵列、或控制逻辑内的锁存器(1atch)和触发器(flip-flop)。在本文档的上下文中,我们将由于SEU的错误视为集成电路内部任何状态保持元件中的状态翻转。
用于保护如SRAM阵列的此类元件的传统技术是通过使用错误纠正技术,例如:错误纠正码或ECC可用来标记错误,然后纠正它们。由于SRAM的高密度,这种技术非常有效,因为一般来说这些存储器内部的SEU只导致单次比特翻转,这可轻易用ECC来纠正。不过,由于遍及集成电路的触发器和锁存器的空间扰乱以及由于这些分散的逻辑中的中子和粒子撞击会导致多个顺序存储电路内的分开的比特失效的事实,ECC不适合纠正这些错误。
随着处理技术的缩小,锁存器与触发器对于软错误或这些SEU的敏感性随之增加,并且确实在45nm它能表现得与SRAM的敏感性极为相似。图1显示在标称电压,锁存器对于此类SEU只比SRAM健壮20%。
随着这种装置对SEU的敏感性增加,最近提出许多技术来解决此问题。在面积、性能、功率开销以及这种附加健壮性方面通常存在权衡。
存在可解决此问题的三种主要方式。
第一,触发器/锁存器可设计成使得更难以因SEU而翻转单元。
第二,可设计检测这种软错误的装置。在这种装置中,如果数据因为SEU而损坏,则可检测到该情况并且因此可通过从其清除错误由系统来改正错误。
第三,该装置可设计成即使SEU翻转单元之一时,输出也不会改变。一般而言,这涉及在装置内增加冗余来检测与纠正错误。
第一项技术具有开销,例如重新调整大小、对节点新增容量以及新增与之相关的反馈。
第二项技术涉及对系统增加冗余,并且将存储值与冗余值比较,由此检测错误。错误检测触发器在2008年3月27日提交的共同转让的共同未决的美国申请US12/078189中描述,其完整内容由此通过引用结合。
此项技术有两个主要问题。
首先,此技术检测错误,但是并未纠正错误。因此,需要进行系统级别的复位来清除错误。这在性能与功率方面耗费极大。
第二,该技术会检测到假阳性。例如,冗余元件中发生的SEU将产生错误信号,并且无法区分真与伪错误。
本发明可解决所有这些问题。
第三项技术具有检测与纠正错误而避免需要系统级别复位的优点。
这种错误纠正技术在S.Mitra、N.Seifert、M.Zhang、Q.Shi和K.S.Kim等人的“Sequential Element Design with Built-In Soft ErrorResilience”(IEEE Transactions on VLSI Systems,Vol.14,No.12,2006年12月)中描述。
图2显示这种触发器的示例。其思想是复制主和从锁存器,并且使用C元件比较两个输出。当新数据锁存在锁存器PH2,则它也锁存在锁存器LA内。类似地,当数据锁存在锁存器PH1内,则它也锁存在锁存器LB内。换言之,锁存器LA/LB是锁存器PH2/PH1内锁存器中的实际数据的影子。C元件具有只在两个输入(O1和O2)匹配时才使新数据传播、否则保留旧数据的特性。因此,若在任一个锁存器内有软错误,则不会传播该错误并且由该保持者锁存器在输出保持先前的数据。
除了异步C元件以外,图2的设计还具有五个顺序元件(四个主从式锁存器以及保持者锁存器)。
备选的错误纠正技术是三重模块冗余方案,其中复制存储元件三次并且执行投票来输出大多数支持的数据值。这种技术在A.Drake、A.J.Kleinosowski、A.K.Martin的“A Self-Correcting Soft ErrorTolerant Flop-Flop”(第12届VLSI设计NASA会议,2005年)中描述,并且在图3中示出。Drake的方案是反馈纠正的示例,其中在设计中锁存回数据来进行纠正。
在Drake等人的方案中,在SEU的情况下,时钟信号经过修改来让大多数值回到系统中。修改时钟路径可造成其它问题,例如设置违反(set-up violation)。例如,在时钟的上升沿附近发生SEU的情况下,触发器正忙于纠正错误时可能不会取得新数据。
期望有一种可检测并且纠正SEU、同时限制例如增加面积、功率等等的附加开销的顺序存储元件。
发明内容
从一个方面来看,本发明提供用于集成电路的顺序存储电路,包括存储电路,所述存储电路包含:第一存储元件,用于在时钟信号的第一相位期间,存储由所述顺序存储电路接收的输入数据值的第一指示;第二存储元件,耦合到所述第一存储元件的输出,用于在所述时钟信号的第二相位期间存储所述输入数据值的第二指示;以及错误检测电路,用于检测所述第一和第二存储元件的任一个中的单次事件翻转错误,其包含:两个附加存储元件,用于响应从所述时钟信号得出的脉冲信号而分别存储所述输入数据值的第三和第四指示;比较电路,用于比较所述输入数据值的所述第三和第四指示;以及进一步的比较电路,用于在所述时钟信号的第一相位期间比较所述第一指示和所述第三和第四指示的至少之一,并且用于在所述时钟信号的第二相位期间比较所述第二指示和所述第三和第四指示的至少之一;以及输出电路,用于纠正所述存储电路中任何检测到的错误,并且用于输出输出值;所述输出电路响应所述比较电路的不匹配,在所述时钟信号的第一相位期间输出所述第一指示以及在所述时钟信号的所述第二相位期间输出所述第二指示;以及所述输出电路响应所述比较电路的匹配,根据由所述进一步的比较电路执行的比较来输出值;所述输出电路响应所述时钟信号的第一相位期间所述进一步的比较电路的匹配,在所述第一时钟周期期间输出所述第一指示,以及响应不匹配,输出所述第一指示的反相值;以及所述输出电路响应所述时钟信号的第二相位期间所述进一步的比较电路的匹配,在所述时钟信号的所述第二相位期间输出所述第二指示,以及响应不匹配,输出所述第二指示的反相值。
根据本发明,可检测到发生在顺序存储电路的第一存储元件或第二存储元件中的单次事件翻转错误,并且实时纠正而不改变设计的任何锁存器中的值。实际上,纠正只发生在最后复用器阶段,这产生前馈错误纠正系统并且避免需要将错误纠正反馈到系统中。这提供有效率的系统,其反应能快过将错误反馈给系统中并且改变锁存器内值的系统。而且,因为锁存器不需要翻转,所以功率需求较低。该系统简单利用以下事实,即如果错误存储在锁存器中之一中,则不输出其值,而是简单地输出其值的反相就可提供正确应答。因此,并不需要改变所存储的值。
因而根据本发明,发生在顺序存储电路的第一存储元件或第二存储元件中的单次事件翻转错误可以使用两个附加存储元件以及某些比较电路来检测和纠正。
根据本发明,附加存储元件由从用来控制第一和第二存储元件的时钟信号得出的脉冲信号来驱动。特别是在这种脉冲信号发生时,附加存储元件存储由顺序存储电路所接收的输入数据值的指示。此输入数据值的指示可以是数据值本身,或可以是某些其它指示,例如数据值的反相。
然后使用比较电路形式的错误检测电路来检测任何存储元件中的单次事件翻转错误,若检测到两个附加存储元件的任一个中有这种错误,则不进行错误纠正,因为这样的错误实际上是伪错误,其原因是这些附加存储元件是冗余元件,并且不存储输出的数据。这样,此电路能够检测伪错误并且因而不继续采取动作。
如果在第一或第二存储元件中发生错误,则在时钟信号的第一相位期间,错误检测电路可通过将它与附加存储元件的任一个中存储的值相比较,来检测第一存储元件中的单次事件翻转错误。第一存储元件内存储的值是在时钟信号的第一相位期间输出的值,因此此时单次翻转错误的检测使当前正在输出的值能够被纠正(如果有必要的话)。在时钟信号的第二相位期间,电路通过将第二存储元件存储的值与附加存储元件任一个中的值之一进行比较,来检测第二存储元件中的错误。存储值之间的任何差异指示第二存储元件内的错误,然后在时钟周期的第二相位期间输出的这个值可以被纠正。
这样,若在存储数据的两个顺序存储元件的任一个中发生单次事件翻转错误,则可纠正由电路输出的数据。
在某些实施例中,所述顺序存储电路包含错误检测信号产生电路,用来组合所述比较电路与该进一步的比较电路的输出,以产生要发送到所述输出电路的错误或no_error信号,其中所述比较电路包含响应所述第三和第四指示的差异来输出error_mask(错误屏蔽)信号至所述错误检测信号产生电路的电路,所述错误检测信号产生电路响应所述error_mask信号来产生所述no_error信号,所述输出电路响应所述no_error信号不纠正所述存储电路的输出,所述存储电路的所述输出包含所述时钟周期的第一相位期间的所述第一指示以及所述时钟周期的第二相位期间的所述第二指示。
若由附加存储元件输出的第三和第四指示存在差异,这指示在附加存储元件中已经发生了单次事件翻转错误,这实际上是伪错误,因为这些元件内的数据值是不用作输出数据、而是仅用来检测第一和第二存储元件内错误的冗余值。因此,产生error_mask信号,其向输出电路指示不应对数据值输出执行纠正。应该注意,以此方式,该电路能够检测单次事件翻转错误,但是无法检测两个这种错误发生,因为此类错误发生在附加存储元件内,使得它们无法再用于检测第一和第二存储元件内的错误。因此,如果在那也发生错误,则它无法被纠正。但是,这些软错误一般被称为单次事件翻转错误,因为它们由于中子或阿尔法粒子撞击造成并且通常作为单次事件发生。因此,一般来说无法检测时钟周期内发生的两个错误并不是问题,因为触发器与锁存器中错误如此发生确实很少(由于它们的大布局面积)。
在某些实施例中,所述错误检测信号产生电路响应由所述进一步的比较电路所检测的所述存储电路的输出和所述第三或第四指示的输出间的差异,以及响应未接收到error_mask信号来产生所述错误信号,所述输出电路响应所述错误信号,通过将所述输出反相来纠正所述存储电路的输出。
附加存储指示的任一个的输出与输出电路所输出指示间的差异指示该值输出中的错误,并且这只要通过将其反相就可纠正。因此,仅值输出被改变并且不需改变存储元件内存储的值。
在某些实施例中,用于将数据从所述存储电路输出至所述输出电路的数据输出路径以及包含所述进一步的比较电路和用于将不匹配信号从所述进一步的比较电路输出至所述输出电路的路径的错误纠正路径都已平衡,使得响应于由于所述单次事件错误而切换值的来自所述存储电路的输出,所述输出电路在大约与所述不匹配信号的相同时间接收所述切换的值。
为使本技术有效率地工作而不在信号输出中产生小干扰,则来自进一步的比较电路的不匹配信号必须与切换的值大约同时问到达输出电路。这是因为不匹配信号是到输出电路纠正该值输出的信号。因此,若纠正该值输出的信号大约与错误同时到达输出电路,则几乎立即纠正该值并且无小干扰或极小干扰在系统内发生。若这些路径未很好平衡,则不匹配信号晚到达并且输出值切换至错误值且在稍后被纠正,由此产生小干扰,或者不匹配信号早到达并且正确值切换到不正确值,这在不正确值到达并且它本身被切换时得到纠正。这种小干扰不影响功能性,但是会导致额外的功率消耗。然而,路径的仔细设计与平衡基本上可减少这种问题。
在某些实施例中,到所述输出电路的所述比较电路输出路径短于所述进一步的比较电路至所述输出电路的所述输出路径,使得所述输出电路在所述进一步的比较电路的所述比较结果之前接收所述比较电路的所述比较结果。
此技术的其它潜在问题是在冗余元件内错误的产生,它事实上是伪错误且需要被如此检测,并且该检测在错误纠正输出电路用于纠正不存在的错误之前被发送到错误纠正输出电路。因而,至输出电路的比较电路输出路径比进一步的比较部件至输出电路的输出路径短是重要的。如果情况是输出电路在接收任何潜在伪错误信号之前接收到冗余元件内有软错误的信息,则它在伪错误到达时知道不应该执行纠正。
在某些实施例中,至所述错误检测信号产生电路的所述比较电路输出路径短于所述进一步的比较部件至所述错误检测信号产生电路的所述输出路径,使得所述进一步的电路在所述进一步的比较电路的所述比较结果之前接收所述比较电路的所述比较结果。
在某些实施例中,使用其它电路来组合比较电路与进一步的比较电路的输出,并且产生错误信号,然后发送到输出电路。若使用这种实施例,则从比较部件和进一步的比较部件到此其它电路的输出路径需要仔细被选取,使得在伪错误信号之前在此其它电路接收到错误屏蔽信号,因此实际上屏蔽伪错误信号并且不产生伪错误。若路径未正确平衡,则会有小干扰,因为伪错误将在响应error_mask信号而覆盖纠正之前导致正确值的纠正。
在某些实施例中,所述输出电路包含反相器,用于将所述存储电路输出的信号反相,所述存储电路在所述时钟周期的第一相位期间输出所述第一指示以及在所述时钟周期的第二相位期间输出所述第二指示,以及包含复用器,用于响应所述错误检测电路输出的错误检测信号而在所述输出信号或所述反相的输出信号之间进行选择。
虽然,由输出电路进行的纠正可用许多方式完成,但反相器是将存储电路输出的信号反相的简单方式,其中复用器用于在反相的输出信号和未反相的输出信号之间进行选择。这是纠正第一或第二存储元件内所发生软错误的简单面积与功率效率方式。
在某些实施例中,所述错误检测电路包含错误检测信号产生电路,用于产生所述错误检测信号以响应来自所述比较电路的匹配信号和来自所述进一步的比较电路的不匹配信号。
本发明的其它方面提供一种集成电路,其包含多个根据本发明第一方面的顺序存储电路元件,以及用于响应所述时钟信号的所述第一相位的开始而产生时钟脉冲的时钟脉冲产生器,所述时钟脉冲产生器将所述时钟脉冲供应给所述多个顺序存储电路元件。
在某些实施例中,所述集成电路还包含插入所述多个顺序存储元件之间的组合电路。
本发明还有的其它方面提供一种纠正集成电路的顺序存储电路中单次事件翻转错误的方法,所述集成电路的所述顺序存储电路包含第一存储元件和耦合到所述第一存储元件的输出的第二存储元件,以及第三和第四存储元件,该方法包含以下步骤:在时钟信号的第一相位期间,将由所述顺序存储电路接收的输入数据值的第一指示存储在所述第一存储元件中;在所述时钟信号的第二相位期间,将所述输入数据值的第二指示存储在所述第二存储元件中;在从所述时钟信号得出的脉冲信号发生时,将所述输入数据值的分别的第三和第四指示存储在所述第三和第四存储元件中;通过以下步骤检测所述存储元件的任一个中的单次事件翻转错误:(i)比较所述第三和第四指示并响应差异检测到所述单次事件翻转错误在所述第三或第四存储元件中;(ii)在所述时钟信号的所述第一相位期间比较由所述第一指示所指示的所述输入数据值和所述输入值的所述第三和第四指示的至少之一,并且若有差异以及步骤(i)发现无差异,则检测到所述单次事件翻转错误在所述第一存储元件中:以及(iii)在所述时钟信号的所述第二相位期间比较由所述第二指示所指示的所述输入数据值与所述输入值的所述第三和第四指示的至少之一,并且若有差异以及步骤(i)发现无差异,则检测到所述单次事件翻转错误在所述第二存储元件中:以及通过以下步骤在输出值中纠正所述第一或第二存储元件中检测的单次事件翻转错误,并输出所述输出值:在所述时钟信号的所述第一相位期间,输出所述输入值的所述第一指示,以响应所述第一存储元件中无单次事件翻转错误的检测;或输出所述输入值的所述第一指示的反相值,以响应所述第一存储元件中的单次事件翻转错误的检测;以及在所述时钟信号的所述第二相位期间,输出所述输入值的所述第二指示,以响应所述第二存储元件中无单次事件翻转错误的检测;或输出所述输入值的所述第二指示的反相值,以响应所述第二存储元件中无单次事件翻转错误的检测。
本发明的还有的其它方面提供一种顺序存储部件,其包含:存储部件,用于在时钟信号的第一相位期间将接收的数据的指示存储在第一存储元件中,以及用于在所述时钟信号的第二相位期间将所述数据的指示存储在第二存储元件中;进一步的第三和第四存储部件,用于响应从所述时钟信号得出的脉冲信号而存储所述数据的指示;错误检测部件,用于通过以下步骤检测所述存储部件中的单次事件翻转错误:如果所述存储的值中有差异,则检测到所述单次事件翻转错误在所述第三或第四存储部件中;并且若无差异,则:如果在所述时钟信号的所述第一相位期间,在所述存储值和所述第三和第四存储部件中的所述存储值的至少之一存在差异,则检测到所述单次事件翻转错误在所述第一存储元件中;以及如果在所述时钟信号的所述第二相位期间,在所述存储值和所述第三和第四存储部件中的所述存储值的至少之一存在差异,则检测到所述单次事件翻转错误在所述第二存储元件中;以及输出部件,用于在输出值中纠正发生在所述第一或第二存储元件中的所述单次事件翻转错误,并输出所述输出值,所述输出部件包含:纠正部件,用于将所述存储部件输出的值反相,以响应所述第一或所述第二存储元件中的单次事件翻转错误的检测,以及不反相所述值,以响应未检测到所述单次事件翻转错误。
从下面将结合附图阅读的说明性的实施例的详细说明,将明白本发明的上述和其它目的、特征及优点。
附图说明
图1示意示出对于不同VDD在45nm的锁存器对比特单元稳定性的比率(定义为临界电荷Qcrit);
图2示出根据现有技术的错误纠正触发器设计;
图3示出根据现有技术的备选错误纠正触发器设计;
图4示意示出结合顺序存储电路、组合逻辑和管道架构的集成电路;
图5是示出根据本发明的一个实施例的顺序存储电路的布置的框图;
图6是示出图5的顺序存储电路的一个特定实施例的电路图;
图7是无错误情况下的图6的电路的操作的时序图;
图8是当软错误翻转锁存器a或锁存器b时图6的电路的操作的时序图;
图9和10示出当软错误翻转图6的冗余锁存器的任一个时的错误纠正;以及
图11是示出执行本发明实施例的方法的流程图。
具体实施方式
图4显示集成电路2,其包含在可为触发器形式的顺序边沿触发存储电路8之间延伸的管道阶段(pipeline stage)4、6。在顺序存储电路之间是组合逻辑电路10的各自影响范围(incidence),其用于接收来自一个或多个前面阶段的信号,并且产生要通过一个或多个后续阶段的信号。由顺序存储元件8所进行的信号值的捕获之间的时间期对于连续时钟周期来说,就是对于组合逻辑电路10评估其输入以便产生其输出可用的时间。本发明的实施例提供用于顺序存储电路8的新设计,其可检测并纠正由于中子或阿尔法粒子撞击在顺序存储电路上而在顺序存储电路内发生的SEU或软错误。
集成电路2还包含脉冲产生电路12,其从时钟信号clk产生脉冲,并将此脉冲传输至每个顺序存储电路8。此脉冲电路用于触发冗余锁存器中数据的保持,这将从图5和图6的说明变得更清楚。
图5显示示意示出第4图的顺序存储电路8的框图。顺序存储电路8包含存储部分50,该部分具有与从锁存器22串联的主锁存器20,主锁存器20经由时钟驱动开关31接收输入数据值D。此值D通过时钟驱动开关32传递到从锁存器22,然后继续传递到输出Q。在此实施例中,时钟驱动开关31响应时钟的上升沿,而时钟驱动开关32响应下降沿。本领域技术人员将了解,主锁存器20与从锁存器22是基于电平的装置(level based device),但是通过将它们串联地置于顺序存储电路15内,则变成边沿触发装置。特别是,主锁存器20和从锁存器22由时钟的交替相位驱动,使得在时钟的第一相位期间,主锁存器20存储数据值的第一指示,而时钟驱动开关32将存储的值输出至从锁存器22。在时钟的第一相位内,从锁存器是透明的,并且因此仅将此输入值传递通过到达输出Q。然而,在时钟的第二相位期间,主锁存器100变成透明的并且时钟驱动开关32关闭,从而将到从锁存器22的输入与主锁存器20隔离。在第二相位期间,从锁存器22变成不透明的并且存储数据值以及在输出Q提供该数据值。
在此实施例内,提供两个附加冗余存储锁存器40和42以用于软错误的检测。这些由脉冲驱动开关45来控制。虽然在此实施例中这些脉冲驱动开关显示为两个独立的开关,但本领域技术人员将了解,也可使用具有两个输出的单个开关。脉冲驱动开关45每个时钟周期接收短暂脉冲信号一次,此脉冲信号由脉冲产生电路12产生。脉冲产生电路12从时钟信号clk产生脉冲信号。在此实施例中,脉冲产生电路12在时钟信号的上升沿发生时产生脉冲,但本领域技术人员了解,响应时钟信号的下降沿也可同样很好地产生脉冲。在任一情况下,它每个时钟周期仅产生单个脉冲。虽然在第4图中将脉冲产生电路12显示作为为集成电路2上的所有顺序存储电路8产生脉冲的单个电路,但在其它实施例中,脉冲产生电路12可在顺序存储电路8内,如本图中虚线框所示。
在脉冲发生时,脉冲驱动开关45提供数据D给附加存储锁存器40和42。当脉冲结束时,锁存器40和42变成不透明的,并且存储从脉冲驱动开关45接收的数据。同样,此时关闭脉冲驱动开关,以避免附加存储锁存器40和42接收到任何新值。
顺序存储电路可认为是分成三个部分,它们由虚线框50、53和55所示。部分50是存储部分,并且包含主锁存器20和从锁存器22。部分53可看成是错误检测电路,并且包含冗余存储锁存器40和42。它还包含比较器60和65以及附加逻辑70。部分55是输出部分,如果错误检测电路53检测到错误,则其纠正存储部分50所输出的数据值,并且如果未检测到错误则输出未经纠正的值,或如果已检测到错误则输出纠正过的值。
错误检测电路53具有比较器60,其比较两个附加存储锁存器40和42中存储的值。若这些值不相等,则输出error_mask信号到错误信号产生电路70。该error_mask信号向错误信号产生电路70指示这两个附加存储锁存器之一中已发生软错误,因为它们没有存储相同值,并且因此假设主锁存器与从锁存器中存储的值是正确的。应该注意,即使在主锁存器或从锁存器的任一个中发生软错误,它也无法被纠正,因为不清楚两个附加存储锁存器当中哪一个存储正确值。因此,响应于从比较器60接收错误屏蔽信号,错误信号产生电路70输出no_error信号给输出电路55。输出电路55响应no_error信号,以经由复用器80选择存储电路50的输出,即Q。
若比较电路60未输出error_mask信号,换言之,存储在两附加存储锁存器40和42中的值相等,则可使用比较电路65检测主锁存器20或从锁存器22中的错误。比较电路65比较附加存储锁存器之一中存储的值,在此例中,附加存储锁存器40具有当前正由存储电路50输出的值。在此实施例中,其将是时钟周期的第一相位期间主锁存器20中存储的值,以及时钟周期的第二相位期间从锁存器22中存储的值。若比较电路65检测到附加存储锁存器40中存储的值与存储电路50输出的值的差异,则它产生错误信号给错误信号产生逻辑70,并且如果当前此电路未正在接收error_mask信号,则此错误信号传播至输出电路55内的复用器80。响应于此错误信号,复用器80选择存储元件50的已反相的输出。因此,在此例中,输出电路的反相值被输出,因为知道输出的当前值事实上不正确。若比较电路65发现附加存储锁存器40中存储的值等于存储电路50输出的值Q,则它产生no_error信号并且复用器80响应于此而输出Q。
图6显示图5的顺序存储电路的一个特定实施的电路图。在此电路中,时钟驱动开关31将输入数据D与主锁存器20分离,并且时钟驱动开关32将主锁存器20与从锁存器22分离。如可见的,这些时钟驱动开关设计成在时钟信号的不同相位上操作。还显示有脉冲产生电路12。在此图中,与图5内使用的相同的引用编号用于说明相似特征。因此,图5的比较电路60就是此图中的异或门60,若两个输入不相等时则该门输出1的error_mask信号,若相等时则输出0的信号。类似地,比较存储电路50的输出Q的比较电路65是异或门65,并且若两个输入相等则输出0的Q_diff,若不等则输出1。在此实施例中,错误信号产生电路70是在其输入104上具有反相器的与门。因此,若输出1的error_mask信号,则该信号作为0出现在与门上,因此产生0,也就是no_error信号。
现在将结合图7至图10的时序图来说明图6的电路的操作。
在图7中,当时钟信号上升时,脉冲产生电路12产生脉冲CPLSE。此电路可由多个顺序存储电路8共享,来降低面积开销。脉冲的宽度由反相器13的数量来控制。上升CLK信号锁存主锁存器20中的数据。脉冲CPLSE大约同时锁存两个影子锁存器40、42中的数据。一旦在CPLSE的高相位期间数据得以存储在影子锁存器中,则数据保持稳定直到CLK的下一个上升沿产生下一个脉冲。在不具任何错误的情况下,当CLK为1时,存储在影子或冗余锁存器40和42内的数据将与主锁存器内的相同,当CLK为0时,则与从锁存器内的数据相同,这从图7的时序图中可看到。
因此,在主锁存器20内于时钟的上升沿输入与捕获的数据也在两个影子锁存器40和42中捕获。一旦已锁存,锁存器40和42中的数据将不改变,直到下一个脉冲前都无任何错误,CPLSE发生在CLK的下一个上升沿。在CLK的高周期期间主锁存器20是不透明的,并且在CLK的低周期期间从锁存器22是不透明的。在CLK的两个相位内,Q值反映主锁存器20在CLK的上升沿锁存的数据。在无任何软错误的理想情况中,节点Q、Q1和Q2将具有相同值,如图7中所示,这就是该设计在没有SEU错误的情况下如何操作的。
因为Q1和Q2一致,所以error_mask信号停留在0。同样,因为Q和Q1一致,所以Q_DIFF信号和后续错误信号也停留在0。0错误信号表示SEU并未损坏系统的状态,因此复用器80将Q传播至Qout。因此,在不具任何错误的情况下,Qout遵循D,因而该提出的顺序存储电路的行为类似于传统触发器。
如果粒子撞击改变四个锁存器的任一个中存储的值,则节点Q、Q1和Q2将不同。提出的设计使用两个异或门、与门和2∶1复用器,来确定损坏的数据不会传播至输出。为了理解触发器如何纠正软错误,考虑以下单次比特错误情况。
图8显示其中主锁存器20中发生SEU的第一情况。将明白,这与软错误发生在从锁存器22中将发生的情况一致,除了图8的时序图将显示在时钟相位的低部分期间而非高相位期间发生粒子撞击以外。
从图8的时序图可看见,只有当CLK为高时,主锁存器20才是不透明的。因此在本例中,假设当时钟在高相位内,主锁存器20中发生粒子撞击。从时序图可看到,粒子撞击翻转锁存器20,如星号所标记的,并且在此点,锁存器20从1变为0,因此Q从1切换到0。Qout遵循Q并且它也转换成0。Q与Q1的差异导致Q_diff变成1。error_mask信号保持为0,因为Q1和Q2一致,这指示软错误不在冗余锁存器中之一中。因此,Q_diff的转换导致与门70输出的错误信号变成1。错误信号的高转换导致复用器选择反相器85输出的Q的反相值,Qout得以纠正。如可见到的,输出Qout在短小干扰之后复原正确值。在此有些事项要注意,小干扰的持续时间可通过平衡数据路径与错误路径来最小化或至少减少。因此,当Q翻转时,如果输出此翻转的Q所耗费的时间类似于检测错误并变更复用器的选择所耗费的时间,则它是有利的。换言之,从节点90到复用器80的输入的路径应该类似于从节点90到复用器80的选择输入的路径。
应该注意,对于当主锁存器20从0翻转为1时的情况,以及还对于当在时钟周期的低相位期间在从锁存器内发生粒子撞击时的情况,上面的分析同样保持正确。
因此,如可见到的,用于错误纠正的此方案将纠正时钟的任一相位期间主锁存器或从锁存器内发生的所有单次比特错误。应该注意,对于此电路存在易损性窗口,其在脉冲CPLSE期间发生。如果那个时间发生软错误,则此电路将无法检测它。
图9和图10显示当在冗余锁存器的任一个中发生软错误时将发生什么。在图9中,在冗余锁存器40中发生错误,并且在图10中,在冗余锁存器42中发生错误。
因为锁存器40和42是冗余锁存器,所以关键在于不会将这些锁存器内的软错误标记为真正的错误。图中再次显示为星号的粒子撞击将锁存器40或42从1翻转为0,因此Q1或Q2变更为0。因为Q1和Q2不同,所以error_mask信号转换成1。error_mask信号门控错误,因此这两种情况中的错误将被抑制为0。然而,由于路径长度的差异,因此在错误信号中可能存在小干扰。若路径是平衡的,则错误信号中的小干扰可减少、最小化或去除,并且Qout上的影响将可忽略,如图9和图10中所示。
如注意到的,错误信号中的小干扰的持续时间可通过平衡路径来最小化或完全去除。在此例中,重要的路径是error_mask路径,其应该与通过比较器65的路径平衡或优选为比通过比较器65的路径短。若锁存器40接收来自软错误的撞击,则比较器65将产生伪错误。应该注意,因为锁存器42在输出信号Q的比较中未使用,所以它无法产生伪错误或小干扰。因此,从节点100到102处的与门70的输入的路径应该比从节点100通过比较器60到104处的与门70的输入的路径更长。如果通过比较器60的路径更短,则error_mask信号在Q_diff信号到达与门70之前到达与门70,并且屏蔽掉Q_diff信号产生的任何错误。如果它不是更短的,则Q_diff信号导致从与门70产生错误信号,并且选取Q的反相输出直到error_mask信号到达并且将错误信号纠正为no_error信号,然后选择正确输出Q。
应该注意,对于当冗余锁存器从0翻转为1时的情况,以及当在时钟的低相位期间发生粒子撞击时的情况,上面的分析也有效。
图11显示说明本发明实施例的顺序存储电路的操作方法的流程图。响应于时钟转换的接收,数据存储在第一存储元件中,并且由脉冲产生电路产生脉冲。脉冲的产生触发数据存储在冗余存储元件3和4中。然后执行元件3和4中存储的数据的比较,并且如果数据不相等,则输出元件1中存储的数据。若存储在元件3和4(冗余存储元件)中的数据相同,则这指示这些元件内无软错误,并且将第一存储元件中存储的数据与元件3或4的任一个中存储的数据进行比较。如果它们不相同,则这显示元件1中已经发生软错误,并且应该反相从此元件输出的数据。如果它们相同,则这显示对于元件1中存储的数据并无软错误,并且可输出此数据本身。
接收下一个时钟转换,并且将元件1中的数据存储在元件2中。然后再次检查以查看元件3中的数据以及元件4中的数据是否仍旧相同。换言之,这些元件内是否发生软错误。如果数据不相同,则已发生软错误并且输出元件2中存储的数据。这是因为在这种情况中,在元件3或4的任一个中已经发生单次错误,因此假设元件2中未发生错误。如果数据相同,则将这些元件之一中存储的数据与元件2中存储的数据进行比较。如果它们相同,则输出元件2中存储的数据,并且如果它们不相同,这显示元件2中已经发生软错误并且输出元件2中存储的数据的反相数据。
然后再次接收时钟转换,并且将在输入接收的数据存储在元件1中,然后重复该过程。总的来说,应该注意,本发明的实施例能够纠正主锁存器与从锁存器中的单次事件翻转错误,以及检测它们何时在冗余锁存器中发生,由此避免对伪错误进行纠正。因为这是自行纠正的顺序存储电路,所以系统在软错误事件中不需要被复位,而错误永远不会传播出该存储电路。此外,该设计忽略在冗余锁存器内发生的软错误,并且因此不检测或纠正假阳性。该设计在此顺序存储电路内检测并纠正错误,这比起在电路之外具有检测和/或纠正成本更低。
此外,使用基于脉冲的冗余锁存器可在给定时间有三个锁存器来比较和纠正错误。由于该基于脉冲的方案,所以开销小于其它的提出的现有技术。而且,该设计可轻松适合于无额外需求(例如无额外引脚)的标准设计流程。
虽然本文已经参考附图详细描述了本发明的说明性实施例,但应理解,本发明不受限于这些特定实施例,而且本领域技术人员在不背离所附权利要求所定义的本发明范围或精神的前提下可在其中实现多种变更与修改。例如,在不背离本发明范围的情况下,可进行所附从属权利要求的特征与独立权利要求的特征的各种组合。

Claims (15)

1.一种用于集成电路的顺序存储电路,包括:
存储电路,包括:
第一存储元件,用于在时钟信号的第一相位期间,存储由所述顺序存储电路接收的输入数据值的第一指示;
第二存储元件,耦合到所述第一存储元件的输出,用于在所述时钟信号的第二相位期间存储所述输入数据值的第二指示;以及
错误检测电路,用于检测所述第一和第二存储元件的任一个中的单次事件翻转错误,包括:
两个附加存储元件,用于响应从所述时钟信号得出的脉冲信号分别存储所述输入数据值的第三和第四指示;
比较电路,用于比较所述输入数据值的所述第三和第四指示;以及
进一步的比较电路,用于在所述时钟信号的第一相位期间比较所述第一指示和所述第三和第四指示的至少之一,并且用于在所述时钟信号的第二相位期间比较所述第二指示和所述第三和第四指示的至少之一;以及
输出电路,用于纠正所述存储电路中任何检测到的错误,并且用于输出输出值;
所述输出电路响应所述比较电路的不匹配,在所述时钟信号的第一相位期间输出所述第一指示以及在所述时钟信号的第二相位期间输出所述第二指示,以及
所述输出电路响应所述比较电路的匹配,根据由所述进一步的比较电路执行的比较来输出值;
所述输出电路响应所述时钟信号的第一相位期间所述进一步的比较电路的匹配,在所述第一时钟周期期间输出所述第一指示,以及响应不匹配,输出所述第一指示的反相值;以及
所述输出电路响应所述时钟信号的第二相位期间所述进一步的比较电路的匹配,在所述时钟信号的所述第二相位期间输出所述第二指示,以及响应不匹配,输出所述第二指示的反相值。
2.如权利要求1所述的顺序存储电路,包含:错误检测信号产生电路,用于组合所述比较电路和所述进一步的比较电路的输出,以产生要发送到所述输出电路的错误或no_error信号,
其中,所述比较电路包含下述电路:该电路响应所述第三和第四指示中的差异将error_mask信号输出到所述错误检测信号产生电路,
所述错误检测信号产生电路响应所述error_mask信号来产生no_error信号,所述输出电路响应所述no_error信号不纠正所述存储电路的输出,所述存储电路的所述输出包含所述时钟周期的第一相位期间的所述第一指示以及所述时钟周期的第二相位期间的所述第二指示。
3.如权利要求2所述的顺序存储电路,其中所述错误检测信号产生电路响应所述第三或第四指示的输出和由所述进一步的比较电路检测的所述存储电路的输出之间的差异,以及响应未接收到error_mask信号来产生所述错误信号,所述输出电路响应所述错误信号,通过将所述输出反相来纠正所述存储电路的输出。
4.如权利要求1所述的顺序存储电路,其中所述存储电路包含主从触发器,所述第一存储元件包含主锁存器并且该第二存储元件包含从锁存器。
5.如权利要求1所述的顺序存储电路,其中数据输出路径和错误纠正路径被平衡,所述数据输出路径用于将数据从所述存储电路输出至所述输出电路,所述错误纠正路径包含所述进一步的比较电路和用于将不匹配信号从所述进一步的比较电路输出至所述输出电路的路径,使得:响应来自所述存储电路的、由于所述单次事件错误而切换值的输出,所述输出电路在大约与所述不匹配信号相同的时间接收所述切换的值。
6.如权利要求1所述的顺序存储电路,其中到所述输出电路的所述比较电路输出路径短于所述进一步的比较电路到所述输出电路的所述输出路径,使得所述输出电路在所述进一步的比较电路的所述比较结果之前接收所述比较电路的所述比较结果。
7.如权利要求3所述的顺序存储电路,其中到所述错误检测信号产生电路的所述比较电路输出路径短于所述进一步的比较电路到所述错误检测信号产生电路的所述输出路径,使得所述错误检测信号产生电路在所述进一步的比较电路的所述比较结果之前接收所述比较电路的所述比较结果。
8.如权利要求1所述的顺序存储电路,其中所述输出电路包含反相器及复用器,所述反相器用于将所述存储电路输出的信号反相,所述存储电路在所述时钟周期的第一相位期间输出所述第一指示以及在所述时钟周期的第二相位期间输出所述第二指示,所述复用器用于响应由所述错误检测电路输出的错误检测信号而在所述输出信号或所述反相的输出信号之间进行选择。
9.如权利要求8所述的顺序存储电路,其中所述错误检测电路包含错误检测信号产生电路,用于产生所述错误检测信号以响应来自所述比较电路的匹配信号和来自所述进一步的比较电路的不匹配信号。
10.一种集成电路,包括多个如权利要求1所述的顺序存储电路元件,以及用于响应所述时钟信号的所述第一相位的开始而产生时钟脉冲的时钟脉冲产生器,所述时钟脉冲产生器将所述时钟脉冲供应到所述多个顺序存储电路元件。
11.如权利要求10所述的集成电路,还包括插入所述多个顺序存储元件之间的组合电路。
12.一种纠正集成电路的顺序存储电路中的单次事件翻转错误的方法,所述集成电路的所述顺序存储电路包括第一存储元件和耦合到所述第一存储元件的输出的第二存储元件,以及第三和第四存储元件,所述方法包含以下步骤:
在时钟信号的第一相位期间,将由所述顺序存储电路接收的输入数据值的第一指示存储在所述第一存储元件中;
在所述时钟信号的第二相位期间,将所述输入数据值的第二指示存储在所述第二存储元件中;
在从所述时钟信号得出的脉冲信号发生时,将所述输入数据值的分别的第三和第四指示存储在所述第三和第四存储元件中;
通过以下步骤检测所述存储元件的任一个中的单次事件翻转错误:
(i)比较所述第三和第四指示并且响应差异检测到所述单次事件翻转错误处于所述第三或第四存储元件中;
(ii)在所述时钟信号的所述第一相位期间比较由所述第一指示所指示的所述输入数据值和所述输入值的所述第三和第四指示的至少之一,并且如果存在差异以及步骤(i)发现无差异,则检测到所述单次事件翻转错误在所述第一存储元件中:以及
(iii)在所述时钟信号的所述第二相位期间比较由所述第二指示所指示的所述输入数据值和所述输入值的所述第三和第四指示的至少之一,并且如果存在差异以及步骤(i)发现无差异,则检测到所述单次事件翻转错误在所述第二存储元件中:以及
通过以下步骤在输出值中纠正所述第一或第二存储元件中检测的单次事件翻转错误,并输出所述输出值:
在所述时钟信号的所述第一相位期间:
输出所述输入值的所述第一指示,以响应所述第一存储元件中无单次事件翻转错误的检测;或
输出所述输入值的所述第一指示的反相值,以响应所述第一存储元件中的单次事件翻转错误的检测;以及
在所述时钟信号的所述第二相位期间:
输出所述输入值的所述第二指示,以响应所述第二存储元件中无单次事件翻转错误的检测;或
输出所述输入值的所述第二指示的反相值,以响应所述第二存储元件中无单次事件翻转错误的检测。
13.一种顺序存储部件,包括:
存储部件,用于在时钟信号的第一相位期间将接收的数据的指示存储在第一存储元件中,以及用于在所述时钟信号的第二相位期间将所述数据的指示存储在第二存储元件中;
进一步的第三和第四存储部件,用于响应从所述时钟信号得出的脉冲信号而存储所述数据的指示;
错误检测部件,用于通过以下步骤检测所述存储部件中的单次事件翻转错误:
如果在所述存储的值中存在差异,则检测到所述单次事件翻转错误在所述第三和第四存储部件中;并且如果不存在差异,则
如果在所述时钟信号的所述第一相位期间,在所述存储的值和所述第三和第四存储部件中所述存储的值的至少之一中存在差异,则检测到所述单次事件翻转错误在所述第一存储元件中;以及
如果在所述时钟信号的所述第二相位期间,在所述存储的值和所述第三和第四存储部件中所述存储的值的至少之一中存在差异,则检测到所述单次事件翻转错误在所述第二存储元件中;以及
输出部件,用于在输出值中纠正发生在所述第一或第二存储元件中的所述单次事件翻转错误,并输出所述输出值,所述输出部件包括:
纠正部件,用于将所述存储部件输出的值反相,以响应所述第一或所述第二存储元件中的单次事件翻转错误的检测,以及不反相所述值,以响应未检测到所述单次事件翻转错误。
14.如权利要求13所述的顺序存储部件,其中所述存储部件用于在时钟信号的所述第一相位期间输出所述第一存储元件中接收的数据的所述指示,以及用于在所述时钟信号的第二相位期间输出所述第二存储元件中的所述数据的指示。
15.如权利要求14所述的顺序存储部件,其中所述输出部件包括反相部件,用于将所述存储部件输出的所述值反相;以及选择部件,用于选择所述反相的值以响应所述第一或所述第二存储元件中单次事件翻转错误的检测,以及用于选择所述输出值以响应未检测到所述单次事件翻转错误。
CN200910206127.8A 2008-10-07 2009-10-09 集成电路的顺序存储电路内单次事件翻转错误的纠正 Active CN101714397B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/285517 2008-10-07
US12/285,517 US8161367B2 (en) 2008-10-07 2008-10-07 Correction of single event upset error within sequential storage circuitry of an integrated circuit

Publications (2)

Publication Number Publication Date
CN101714397A CN101714397A (zh) 2010-05-26
CN101714397B true CN101714397B (zh) 2014-06-04

Family

ID=42076753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910206127.8A Active CN101714397B (zh) 2008-10-07 2009-10-09 集成电路的顺序存储电路内单次事件翻转错误的纠正

Country Status (3)

Country Link
US (1) US8161367B2 (zh)
CN (1) CN101714397B (zh)
TW (1) TWI492242B (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185812B2 (en) * 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
US8650470B2 (en) 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
US8171386B2 (en) * 2008-03-27 2012-05-01 Arm Limited Single event upset error detection within sequential storage circuitry of an integrated circuit
US8161367B2 (en) 2008-10-07 2012-04-17 Arm Limited Correction of single event upset error within sequential storage circuitry of an integrated circuit
US8402328B2 (en) * 2009-07-24 2013-03-19 StarDFX Technologies, Inc. Apparatus and method for protecting soft errors
EP2582046B1 (en) * 2010-06-11 2019-05-01 National University Corporation Kyoto Institute of Technology Flip-flop circuit, semiconductor device and electronic apparatus
US8493120B2 (en) 2011-03-10 2013-07-23 Arm Limited Storage circuitry and method with increased resilience to single event upsets
US8791718B2 (en) 2011-06-02 2014-07-29 Arizona Board Of Regents For And On Behalf Of Arizona State University Sequential state elements in triple-mode redundant (TMR) state machines
US9041429B2 (en) 2011-06-02 2015-05-26 Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University Sequential state elements for triple-mode redundant state machines, related methods, and systems
US9104639B2 (en) 2012-05-01 2015-08-11 SEAKR Engineering, Inc. Distributed mesh-based memory and computing architecture
US9378098B2 (en) * 2012-06-06 2016-06-28 Qualcomm Incorporated Methods and systems for redundant data storage in a register
US8975933B1 (en) * 2012-07-02 2015-03-10 Marvell Israel (M.I.S.L.) Ltd. Systems and methods for a bypass flip flop with transparency
US8847621B2 (en) * 2012-07-16 2014-09-30 The Boeing Company Single event transient and upset mitigation for silicon-on-insulator CMOS technology
US9054688B2 (en) * 2012-09-19 2015-06-09 Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University Sequential state elements radiation hardened by design
US9583218B1 (en) * 2014-01-24 2017-02-28 Altera Corporation Configurable register circuitry for error detection and recovery
US9734272B2 (en) 2014-06-13 2017-08-15 Arizona Board Of Regents On Behalf Of Arizona State University Techniques for generating physical layouts of in silico multi mode integrated circuits
US9760438B2 (en) 2014-06-17 2017-09-12 Arm Limited Error detection in stored data values
US9264021B1 (en) * 2014-08-29 2016-02-16 Freescale Semiconductor, Inc. Multi-bit flip-flop with enhanced fault detection
US9891976B2 (en) 2015-02-26 2018-02-13 Arm Limited Error detection circuitry for use with memory
US9780788B2 (en) * 2015-10-23 2017-10-03 Arizona Board Of Regents On Behalf Of Arizona State University Muller C-element as majority gate for self-correcting triple modular redundant logic with low-overhead modes
CN106100617B (zh) 2016-06-27 2017-11-07 东南大学 一种面向超宽电压的在线监测单元及其控制电路
US10579536B2 (en) 2016-08-09 2020-03-03 Arizona Board Of Regents On Behalf Of Arizona State University Multi-mode radiation hardened multi-core microprocessors
EP3361637A1 (en) * 2017-02-09 2018-08-15 Nxp B.V. A method, and a synchronous digital circuit, for preventing propagation of set-up timing data errors
CN109217864B (zh) * 2017-06-30 2022-04-15 龙芯中科技术股份有限公司 触发器及芯片
CN109065087A (zh) * 2018-08-15 2018-12-21 孙雷 一种检测fpga的时钟资源单粒子动态翻转的装置及方法
US11025252B2 (en) * 2018-09-24 2021-06-01 Stmicroelectronics International N.V. Circuit for detection of single bit upsets in generation of internal clock for memory
US20200136595A1 (en) * 2018-10-29 2020-04-30 Stmicroelectronics International N.V. Schmitt trigger circuit with independent control over high and low trip points using a split architecture
US10896081B2 (en) * 2018-12-13 2021-01-19 International Business Machines Corporation Implementing SEU detection method and circuit
FR3101448B1 (fr) 2019-09-27 2021-10-15 St Microelectronics Sa Procédé de détection d'erreurs
FR3101449B1 (fr) * 2019-09-27 2021-10-15 St Microelectronics Sa Détection et correction d'erreurs
CN111181545B (zh) * 2020-01-08 2023-11-24 中国人民武装警察部队海警学院 一种流水结构的软错误自检电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043990A (en) * 1987-12-04 1991-08-27 Hitachi, Ltd. Semiconductor integrated circuit device
US6453431B1 (en) * 1999-07-01 2002-09-17 International Business Machines Corporation System technique for detecting soft errors in statically coupled CMOS logic
US6831496B2 (en) * 2002-03-25 2004-12-14 Aeroflex Utmc Microelectronic Systems, Inc. Error correcting latch
US7023235B2 (en) * 2003-12-12 2006-04-04 Universities Research Association, Inc. Redundant single event upset supression system

Family Cites Families (103)

* Cited by examiner, † Cited by third party
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
US3893070A (en) * 1974-01-07 1975-07-01 Ibm Error correction and detection circuit with modular coding unit
GB1577916A (en) * 1978-01-18 1980-10-29 Ibm Data recognition apparatus
SU809350A1 (ru) 1979-05-31 1981-02-28 Московский Ордена Трудовогокрасного Знамени Текстильныйинститут Запоминающее устройство
US4339657A (en) * 1980-02-06 1982-07-13 International Business Machines Corporation Error logging for automatic apparatus
US4635223A (en) * 1983-05-16 1987-01-06 Motorola, Inc. Fail safe protection circuitry for a commerical microprocessor in encryption equipment
EP0130428B1 (de) 1983-06-24 1987-05-27 Siemens Aktiengesellschaft Störungserkennungs- und -aufzeichnungssystem
FR2571566B1 (fr) * 1984-10-09 1987-01-23 Labo Electronique Physique Dispositif de reception de donnees numeriques comportant un dispositif de recuperation adaptative de rythme
US4633465A (en) 1985-03-27 1986-12-30 At&T Bell Laboratories Eye violation detectors
GB8605366D0 (en) 1986-03-05 1986-04-09 Secr Defence Digital processor
GB8605367D0 (en) * 1986-03-05 1986-04-09 Secr Defence Bit-slice digital processor
US4756005A (en) * 1986-05-27 1988-07-05 American Telephone And Telegraph Company At&T Bell Laboratories Digital signal regenerator arranged for fault location
GB2213684A (en) * 1987-12-11 1989-08-16 Philips Electronic Associated Data demodulator baud clock phase locking
US4994993A (en) 1988-10-26 1991-02-19 Advanced Micro Devices, Inc. System for detecting and correcting errors generated by arithmetic logic units
US4975930A (en) 1988-11-02 1990-12-04 Digital Equipment Corporation Digital phase locked loop
US4926374A (en) 1988-11-23 1990-05-15 International Business Machines Corporation Residue checking apparatus for detecting errors in add, subtract, multiply, divide and square root operations
JPH03142629A (ja) * 1989-10-30 1991-06-18 Toshiba Corp マイクロコントローラ
US5291496A (en) * 1990-10-18 1994-03-01 The United States Of America As Represented By The United States Department Of Energy Fault-tolerant corrector/detector chip for high-speed data processing
US5321705A (en) * 1990-11-21 1994-06-14 Motorola, Inc. Error detection system
US5203003A (en) * 1991-03-28 1993-04-13 Echelon Corporation Computer architecture for conserving power by using shared resources and method for suspending processor execution in pipeline
US5313625A (en) * 1991-07-30 1994-05-17 Honeywell Inc. Fault recoverable computer system
JPH05298134A (ja) * 1991-12-16 1993-11-12 Internatl Business Mach Corp <Ibm> コンピュータシステムにおける処理誤りの処理機構及び方法
US5276690A (en) * 1992-01-30 1994-01-04 Intel Corporation Apparatus utilizing dual compare logic for self checking of functional redundancy check (FRC) logic
US5414722A (en) * 1992-07-14 1995-05-09 Wangtek, Inc. Selective data synchronizer
US6148423A (en) * 1992-07-22 2000-11-14 Alcatel Cit Signal transmission performance optimization device in a system for transmitting digital data, especially on an optical link
US5402273A (en) * 1992-10-01 1995-03-28 Conner Peripherals, Inc. Circuit for determining window margin for data transitions in a streaming data device
US5408200A (en) * 1992-12-18 1995-04-18 Storage Technology Corporation Intelligent phase detector
US5376894A (en) * 1992-12-31 1994-12-27 Pacific Communication Sciences, Inc. Phase estimation and synchronization using a PSK demodulator
JPH06216655A (ja) * 1993-01-13 1994-08-05 Nec Corp 復調回路
US5400370A (en) * 1993-02-24 1995-03-21 Advanced Micro Devices Inc. All digital high speed algorithmic data recovery method and apparatus using locally generated compensated broad band time rulers and data edge position averaging
ES2183808T3 (es) * 1993-10-12 2003-04-01 Cit Alcatel Circuito sincronizador.
EP0653708B1 (en) 1993-10-15 2000-08-16 Hitachi, Ltd. Logic circuit having error detection function, redundant resource management method, and fault tolerant system using it
US5504859A (en) * 1993-11-09 1996-04-02 International Business Machines Corporation Data processor with enhanced error recovery
US5509076A (en) * 1994-05-02 1996-04-16 General Instrument Corporation Of Delaware Apparatus for securing the integrity of a functioning system
US5553232A (en) * 1994-06-13 1996-09-03 Bull Hn Informations Systems Inc. Automated safestore stack generation and move in a fault tolerant central processor
JPH0863365A (ja) * 1994-08-23 1996-03-08 Fujitsu Ltd データ処理装置
US5463351A (en) * 1994-09-29 1995-10-31 Motorola, Inc. Nested digital phase lock loop
US5630154A (en) * 1994-10-11 1997-05-13 Hughes Aircraft Company Programmable systolic array system arranged in a found arrangement for passing data through programmable number of cells in a time interleaved manner
US5734585A (en) * 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
US5615263A (en) * 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5737369A (en) * 1996-02-28 1998-04-07 Motorola, Inc. Apparatus and method for recovering data in the presence of error transients
US5870446A (en) * 1996-03-11 1999-02-09 Adtran, Inc. Mechanism for automatically adjusting the phase of a transmission strobe clock signal to correct for misalignment of transmission clock and data signals
US5862141A (en) * 1996-06-14 1999-01-19 Lucent Technologies Inc. Variable bitrate radio modem system to enhance data transmission and reduce error rates
JP3669796B2 (ja) * 1996-12-03 2005-07-13 富士通株式会社 ディジタルpll回路
US5896391A (en) * 1996-12-19 1999-04-20 Northern Telecom Limited Forward error correction assisted receiver optimization
FR2759796B1 (fr) * 1997-02-19 2001-12-07 Bull Sa Dispositif et procede de detection d'erreurs sur un circuit integre comportant un port parallele serie
US6114880A (en) * 1997-03-14 2000-09-05 Philips Semiconductor Vlsi, Inc. Dynamic over frequency detection and protection circuitry
US6076175A (en) * 1997-03-31 2000-06-13 Sun Microsystems, Inc. Controlled phase noise generation method for enhanced testability of clock and data generator and recovery circuits
JP3494849B2 (ja) * 1997-05-29 2004-02-09 富士通株式会社 半導体記憶装置のデータ読み出し方法、半導体記憶装置及び半導体記憶装置の制御装置
US6078627A (en) * 1997-12-18 2000-06-20 Advanced Micro Devices, Inc. Circuit and method for multilevel signal decoding, descrambling, and error detection
CN1202530C (zh) * 1998-04-01 2005-05-18 三菱电机株式会社 在低电源电压下高速动作的静态型半导体存储装置
US6222660B1 (en) * 1998-06-09 2001-04-24 Tektronix, Inc. Adaptive power supply for avalanche photodiode
US6650661B1 (en) * 1998-06-15 2003-11-18 International Business Machines Corporation System that compensates for variances due to process and temperature changes
US6247151B1 (en) * 1998-06-30 2001-06-12 Intel Corporation Method and apparatus for verifying that data stored in a memory has not been corrupted
US6127864A (en) * 1998-08-19 2000-10-03 Mission Research Corporation Temporally redundant latch for preventing single event disruptions in sequential integrated circuits
US6167526A (en) 1998-12-29 2000-12-26 Adaptec, Inc. Method and apparatus for synchronizing a decoder circuit with a phase-encoded data signal in a data storage device
US6977910B1 (en) 1998-12-31 2005-12-20 Texas Instruments Incorporated Power control with space time transmit diversity
JP2000228094A (ja) * 1999-02-04 2000-08-15 Toshiba Corp 不揮発性半導体記憶装置
US6282661B1 (en) * 1999-02-16 2001-08-28 Agere Systems Guardian Corp. Apparatus and method for adaptive reduction of power consumption in integrated circuits
WO2000052832A1 (fr) * 1999-03-01 2000-09-08 Fujitsu Limited Dispositif de turbo-decodage
US6802033B1 (en) * 1999-04-06 2004-10-05 International Business Machines Corporation Low-power critical error rate communications controller
US6523201B1 (en) * 1999-05-04 2003-02-25 Eliza A. De Michele Sleep support system
US6985547B2 (en) * 1999-09-27 2006-01-10 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method of digital system performance enhancement
US6834367B2 (en) 1999-12-22 2004-12-21 International Business Machines Corporation Built-in self test system and method for high speed clock and data recovery circuit
US6696873B2 (en) * 1999-12-23 2004-02-24 Intel Corporation Single event upset hardened latch
JP2001255356A (ja) * 2000-03-08 2001-09-21 Matsushita Electric Ind Co Ltd 半導体集積回路のテストパターン生成方法及びテスト方法
JP3450814B2 (ja) * 2000-09-26 2003-09-29 松下電器産業株式会社 情報処理装置
FR2815197B1 (fr) * 2000-10-06 2003-01-03 St Microelectronics Sa Circuit asynchrone pour la detection et la correction de l'erreur induite et procede de mise en oeuvre
US6958627B2 (en) * 2000-10-23 2005-10-25 Trustees Of Columbia University In The City Of New York Asynchronous pipeline with latch controllers
US6693985B2 (en) * 2000-10-27 2004-02-17 Silicon Image Clock and data recovery method and apparatus
GB0026614D0 (en) * 2000-10-31 2000-12-13 Lsi Logic Europ Ltd A method and apparatus for estimation of error in data recovery schemes
US6772388B2 (en) * 2000-12-06 2004-08-03 Motorola, Inc Apparatus and method for providing optimal adaptive forward error correction in data communications
JP4526194B2 (ja) * 2001-01-11 2010-08-18 ルネサスエレクトロニクス株式会社 オーバーサンプリングクロックリカバリ方法及び回路
JP4630478B2 (ja) * 2001-03-16 2011-02-09 株式会社東芝 半導体記憶装置
US7116744B2 (en) * 2001-03-29 2006-10-03 Fujitsu Limited Clock recovery circuit and receiver circuit for improving the error rate of signal reproduction
JP4054550B2 (ja) 2001-06-29 2008-02-27 株式会社エヌ・ティ・ティ・ドコモ 送信電力制御方法及び装置
US7061294B1 (en) * 2001-08-31 2006-06-13 Integrated Device Technology, Inc. Clock processing logic and method for determining clock signal characteristics in reference voltage and temperature varying environments
US6952123B2 (en) * 2002-03-22 2005-10-04 Rambus Inc. System with dual rail regulated locked loop
US6741110B2 (en) * 2002-05-28 2004-05-25 Lsi Logic Corporation Method and/or circuit for generating precision programmable multiple phase angle clocks
US7142623B2 (en) 2002-05-31 2006-11-28 International Business Machines Corporation On-chip system and method for measuring jitter tolerance of a clock and data recovery circuit
US7085993B2 (en) * 2002-07-29 2006-08-01 International Business Machine Corporation System and method for correcting timing signals in integrated circuits
US7073080B2 (en) * 2002-07-31 2006-07-04 Broadcom Corporation System and method for dynamically regulating voltage in a wireless interface device while maintaining an acceptable bit error rate
US20040201647A1 (en) * 2002-12-02 2004-10-14 Mark Jackson Pulver Stitching of integrated circuit components
US7260742B2 (en) * 2003-01-28 2007-08-21 Czajkowski David R SEU and SEFI fault tolerant computer
US8185812B2 (en) * 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
WO2004084070A1 (en) * 2003-03-20 2004-09-30 Arm Limited Systematic and random error detection and recovery within processing stages of an integrated circuit
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
WO2004105241A1 (ja) * 2003-05-21 2004-12-02 Fujitsu Limited 多数決論理回路を有するフリップフロップ回路
US7002358B2 (en) * 2003-12-10 2006-02-21 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring jitter
US7236555B2 (en) * 2004-01-23 2007-06-26 Sunrise Telecom Incorporated Method and apparatus for measuring jitter
US7257173B2 (en) * 2004-04-28 2007-08-14 Agilent Technologies, Inc. Bounding box signal detector
US7278076B2 (en) * 2004-06-30 2007-10-02 Intel Corporation System and scanout circuits with error resilience circuit
US7278074B2 (en) * 2005-01-26 2007-10-02 Intel Corporation System and shadow circuits with output joining circuit
US7188284B2 (en) * 2004-06-30 2007-03-06 Intel Corporation Error detecting circuit
US7415645B2 (en) * 2005-07-28 2008-08-19 International Business Machines Corporation Method and apparatus for soft-error immune and self-correcting latches
US7323946B2 (en) * 2005-10-20 2008-01-29 Honeywell International Inc. Lock detect circuit for a phase locked loop
US7594150B2 (en) * 2006-05-10 2009-09-22 Alcatel-Lucent Usa Inc. Fault-tolerant architecture of flip-flops for transient pulses and signal delays
US7482831B2 (en) * 2006-05-10 2009-01-27 Alcatel-Lucent Usa Inc. Soft error tolerant flip flops
US7546519B2 (en) * 2006-11-16 2009-06-09 International Business Machines Corporation Method and apparatus for detecting and correcting soft-error upsets in latches
US7797575B2 (en) * 2007-04-04 2010-09-14 International Business Machines Corporation Triple voting cell processors for single event upset protection
US7671627B1 (en) * 2007-04-23 2010-03-02 Iowa State University Research Foundation, Inc. Superscale processor performance enhancement through reliable dynamic clock frequency tuning
JP2009200739A (ja) * 2008-02-20 2009-09-03 Panasonic Corp 半導体集積回路
US8161367B2 (en) 2008-10-07 2012-04-17 Arm Limited Correction of single event upset error within sequential storage circuitry of an integrated circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043990A (en) * 1987-12-04 1991-08-27 Hitachi, Ltd. Semiconductor integrated circuit device
US6453431B1 (en) * 1999-07-01 2002-09-17 International Business Machines Corporation System technique for detecting soft errors in statically coupled CMOS logic
US6831496B2 (en) * 2002-03-25 2004-12-14 Aeroflex Utmc Microelectronic Systems, Inc. Error correcting latch
US7023235B2 (en) * 2003-12-12 2006-04-04 Universities Research Association, Inc. Redundant single event upset supression system

Also Published As

Publication number Publication date
TWI492242B (zh) 2015-07-11
US20100088565A1 (en) 2010-04-08
US8161367B2 (en) 2012-04-17
CN101714397A (zh) 2010-05-26
TW201015577A (en) 2010-04-16

Similar Documents

Publication Publication Date Title
CN101714397B (zh) 集成电路的顺序存储电路内单次事件翻转错误的纠正
US7482831B2 (en) Soft error tolerant flip flops
US7702992B2 (en) Semiconductor integrated circuit with flip-flops having increased reliability
TWI434172B (zh) 在積體電路之序列儲存電路內之單一事件擾動錯誤偵測
US10312888B2 (en) Systems and methods for a robust double node upset tolerant latch
US7546519B2 (en) Method and apparatus for detecting and correcting soft-error upsets in latches
US8185812B2 (en) Single event upset error detection within an integrated circuit
US7301362B2 (en) Duplicated double checking production rule set for fault-tolerant electronics
CN108011628B (zh) 一种可容忍三节点翻转的锁存器
US7474116B2 (en) Latch circuit
CN108134597B (zh) 一种三个内部节点翻转完全免疫的锁存器
US9041429B2 (en) Sequential state elements for triple-mode redundant state machines, related methods, and systems
US9768757B1 (en) Register circuitry with asynchronous system reset
US9780788B2 (en) Muller C-element as majority gate for self-correcting triple modular redundant logic with low-overhead modes
US9467144B2 (en) Radiation hardened digital circuit
Augustin et al. Reducing the area overhead of TMR-systems by protecting specific signals
JP2002539543A (ja) 過渡擾乱に対して保護された論理回路
JP2010045610A (ja) 半導体集積回路
US8044695B2 (en) Semiconductor integrated circuit including a master-slave flip-flop
Yang et al. Self-repairing digital system based on state attractor convergence inspired by the recovery process of a living cell
US8219864B2 (en) Circuit arrangement
Shokry et al. Error detection and recovery in FPGA-based pipelined architectures
Winstead et al. Error Correction via Restorative Feedback in M-ary Logic Circuits.
Shokry et al. Work-in-Progress: Triple Event Upset Tolerant Area-Efficient FPGA-Based System for Space Applications and Nuclear Plants
EP3975424A1 (en) Corrigible comparator for triple modular redundancy cell

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant