CN101198935B - 基于位电平错误计数的错误抑制的选择性激活 - Google Patents

基于位电平错误计数的错误抑制的选择性激活 Download PDF

Info

Publication number
CN101198935B
CN101198935B CN2006800209538A CN200680020953A CN101198935B CN 101198935 B CN101198935 B CN 101198935B CN 2006800209538 A CN2006800209538 A CN 2006800209538A CN 200680020953 A CN200680020953 A CN 200680020953A CN 101198935 B CN101198935 B CN 101198935B
Authority
CN
China
Prior art keywords
error
bit level
level error
wrong
threshold value
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.)
Expired - Fee Related
Application number
CN2006800209538A
Other languages
English (en)
Other versions
CN101198935A (zh
Inventor
A·比斯瓦斯
S·拉世基
S·慕克吉
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101198935A publication Critical patent/CN101198935A/zh
Application granted granted Critical
Publication of CN101198935B publication Critical patent/CN101198935B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了基于位电平错误计数来选择性地激活错误抑制的装置和方法的实施例。在一个实施例中,一种装置包括多个状态元件、错误计数器以及激活逻辑。所述错误计数器用于对状态元件中的位电平错误的数量进行计数。所述激活逻辑在所述位电平错误的数量超过阈值时增强错误抑制。

Description

基于位电平错误计数的错误抑制的选择性激活
技术领域
本公开涉及数据处理领域,并且尤其涉及数据处理装置中的错误抑制领域。
背景技术
由于集成电路制造技术中的改进继续提供较小尺寸和较低工作电压的微处理器和其它的数据处理装置,所以这些设备的制造者和使用者变得越来越关注软错误的现象。当α粒子和高能中子撞击集成电路并且改变电路节点上存储的电荷时就会出现软错误。如果电荷改变足够大,则结点上的电压会从表示一个逻辑状态的电平改变为表示不同逻辑状态的电平,在这种情况下,存储在该结点上的信息被破坏。通常,软错误率(“SER”)随着电路尺寸的减小而增大,这是因为当电路密度增大时,撞击粒子击中电压结点的可能性会增大。同样地,当工作电压减小时,表示不同的逻辑状态的电压电平之间的差也减小,所以需要更少的能量来改变电路节点上的逻辑状态,因此出现更多的软错误。
阻滞引起软错误的粒子是非常困难的,因此,数据处理装置常常包括用于检测以及间或纠正软错误的技术。这些错误抑制技术包括使用纠错码(“ECC”),清理高速缓存,以及以锁步(lockstep)的方式运行处理器。然而,错误抑制技术的使用会降低性能并且增大功耗。此外,使用错误抑制的必要性或合意性会根据使用设备的时间和地点而改变,这是因为诸如海拔、磁场强度和方向、太阳活动之类的环境因素会影响SER。
因此,人们希望可以有选择性地激活错误抑制。发明内容根据本发明的一个方面,提供了一种用于选择性激活错误抑制的装置。该装置包括:多个扫描单元;错误计数器,用于对所述多个扫描单元中的位电平错误的数量进行计数;以及激活逻辑,用于在所述位电平错误的数量超过阈值时增强错误抑制。根据本发明的另一个方面,提供了另一种用于选择性激活错误抑制的装置。该装置包括:多个执行内核,其中所述多个执行内核中的第一个包括多个扫描单元;错误计数器,用于对所述多个扫描单元中的位电平错误的数量进行计数;以及激活逻辑单元,用于在所述位电平错误的数量超过阈值时激活所述多个执行内核中的第一个和第二个执行内核的锁步。根据本发明的另一个方面,提供了一种用于选择性激活错误抑制的方法。该方法包括:对多个扫描单元中的位电平错误的数量进行计数;以及在所述位电平错误的数量超过阈值时增强错误抑制。根据本发明的另一个方面,提供了一种用于选择性激活错误抑制的系统。该系统包括:处理器,其包括多个扫描单元、用于对所述多个扫描单元中的位电平错误的数量进行计数的错误计数器、和用于指示所述位电平错误的数量是否超过阈值的控制逻辑;以及系统控制器,用于在所述控制逻辑指示所述位电平错误的数量超过所述阈值时增强错误抑制。根据本发明的另一个方面,提供了另一种用于选择性激活错误抑制的系统。该系统包括:动态随机存取存储器;处理器,其包括多个扫描单元、用于对所述多个扫描单元中的位电平错误的数量进行计数的错误计数器、和用于指示所述位电平错误的数量是否超过阈值的控制逻辑;以及激活逻辑单元,用于在所述控制逻辑指示所述位电平错误的数量超过所述阈值时增强错误抑制。
附图说明
通过示例来描述本发明,并且本发明不受限于附图。
图1示出了处理器中的本发明的实施例;
图2示出了根据本发明实施例的多核处理器;
图3示出了根据本发明实施例的系统;
图4示出了本发明的、基于位电平(bit level)错误计数来有选择地激活错误抑制的方法的实施例。
具体实施方式
以下描述基于位电平错误计数来有选择地激活错误抑制的实施例。在下面的描述中,可以阐述诸如部件和系统配置之类的许多的具体细节,以便更彻底地理解本发明。然而,应该知道,对于本领域技术人员来讲,可以在不使用这些具体细节的情况下实践本发明。另外,没有详细地描述一些公知的结构、电路、技术等等,以避免不必要地使本发明不清楚。
由于导致软错误的粒子通量的随机特性,对SER的合理评估会需要相对较大的面积用于错误检测。本发明会是可取的,因为它提供了使用诸如高速缓冲存储器和扫描单元之类的、已经占有许多处理器和其它设备的晶模(die)尺寸的重要部分的结构用于错误检测。因此,可以在不需要会显著增加晶模尺寸及由此造成的成本的、额外的错误检测结构的情况下来实现本发明。
图1示出了处理器100中的本发明的实施例。处理器100可以是各种不同类型的处理器中的任何一种,例如英特尔公司的处理器系列的处理器,
Figure GA20173545200680020953801D00032
处理器系列的处理器或其它处理器系列的处理器,或者来自另一个公司的处理器。本发明还可以体现为除了处理器以外的装置,例如存储设备。处理器100包括存储器阵列110、存储器错误计数单元120和存储器错误抑制单元130。
存储器阵列110可以是任意数量的行和任意数量的列的任意类型的存储单元(例如静态随机存取存储单元),所述存储单元可以用于诸如高速缓冲存储器之类的任何功能。存储器阵列110包括错误检测电路111,以使用诸如奇偶校验或者ECC之类的任何已知的技术来检测存储器阵列110中的位电平错误。许多处理器和其它的设备设计包括用于高速缓存或其它存储器阵列的相对较大的面积,并且这些阵列中的许多已经包括奇偶校验或者ECC。因此,晶模的主要面积可以低成本用于根据本发明的错误检测。
存储器错误计数单元120包括阵列错误计数器121、阵列读取计数器122和阵列计数控制模块123。阵列错误计数器121可以是同步的或异步的、并且具有计数输入端、计数输出端和重置的任何已知的计数器电路。阵列错误计数器121的计数输入端耦合到错误检测电路111以接收指示在读取存储器阵列110时检测到位电平错误的信号,从而使得阵列错误计数器121的计数输出端指示在读取存储器阵列110时检测到的位电平错误的总数,这是因为阵列错误计数器121已经被重置。
阵列读取计数器122也可以是同步的或异步的、并且具有计数输入端、计数输出端和重置的任何已知的计数器电路。阵列读取计数器122的输入端耦合到存储器阵列110以接收指示正在读取存储器阵列110的信号,从而使得阵列读取计数器122的计数输出指示已经读取存储器阵列110的总次数,这是因为阵列读取计数器122已经被重置。
在该实施例中,无论何时由阵列读取计数器122计数的存储器阵列110的读取次数达到某一限度(例如每1,000次读取),阵列错误计数器121和阵列读取计数器122将都被重置。该阵列读取限度值可以是固定的或可编程的。可以基于存储器阵列110的尺寸、位数和面积,合理地精确测定SER所需的读取的预期数量以及任何其它的因素来选择适当的阵列读取限度值。在特定的时间(例如按秒计量的时间)过去之后,阵列错误计数器121和阵列读取计数器122也被重置,因此即使存储器阵列110是相对不活跃的,也可以检测到SER中的改变。在其它的实施例中,也可以或替代性地根据任何其它的事件或信号重置计数器。
在此实施例中,阵列错误计数器121的输出端耦合到阵列计数控制模块123,以使得无论何时阵列错误计数器121和阵列读取计数器122被重置,阵列计数控制模块123都接收该次达到阵列读取限度值时的位电平错误的数量。在其它的实施例中,可以将位电平错误的数量持续提供给阵列计数控制模块123,或者可以基于任何其它的事件或信号而将位电平错误的数量发送到阵列计数控制模块123。
阵列计数控制模块123还包括阵列错误阈值寄存器124,其可以被编程以保存阵列错误阈值。在其它的实施例中,阵列错误阈值可以是固定的。如果位电平错误的数量超过了阵列错误阈值,则将激活或增强错误抑制。可以基于与合意的SER阈值相对应的每次达到阵列读取限度值时的位电平错误的数量来选择适当的阵列错误阈值。其它的实施例可以包括根据计数器121和122的输出来计算SER的逻辑。可以使用诸如比较器电路之类的任何已知的方法来判断位电平错误的数量是否超过了阵列错误阈值。
阵列计数控制模块123向存储器错误抑制单元130指示位电平错误的数量是否超过了阵列错误阈值。所述指示可以基于信号(“高SER”信号)的状态或转变,或任何其它的已知的方法。如果阵列计数控制模块123指示阵列错误阈值已经被超出,则存储器错误抑制单元130通过多种已知方法中的任意一种或多种来激活或增强错误抑制。例如,存储器错误抑制单元130可以激活存储器阵列110的清理,或者可以增大周期性清理存储器阵列110的频率。
如图2所示,还可以使用用于错误检测的时序逻辑代替存储器阵列来实现本发明。图2示出了根据本发明实施例的多核处理器200。通常,多核处理器是包括多于一个执行内核的单个集成电路。执行内核包括用于执行指令的逻辑。除执行内核之外,多核处理器可以包括本发明范围内的专用或共享资源的任何组合。专用资源可以是专用于单个内核的资源,例如专用的一级高速缓存,或者可以是专用于多个内核的任何子集的资源。共享资源可以是由所有内核共享的资源,例如共享的二级高速缓存或者共享的外部总线单元(该外部总线单元支持多核处理器和另一个部件之间的接口),或者可以是由多个内核的任何子集共享的资源。
多核处理器200包括执行内核201和执行内核202。执行内核201包括扫描链210、时序错误计数单元220以及时序错误抑制单元230。
扫描链210可以是串联布置(例如菊花链或移位寄存器布置)的任何数量的扫描单元。扫描单元是时序元件,例如锁存器或触发器,其被添加到许多集成电路上以提供用于测试和调试时序逻辑的冗余状态信息。所述扫描单元被布置为链,其可以用来顺序地将数据移出设备,或者通过顺序地将数据传输进入设备来将设备设置为已知状态。一般地,在设备离开工厂之前禁用扫描单元。
许多处理器设计包括扫描单元,并且许多具有“全扫描”能力,其意味着对于处理器的所有时序状态存在扫描单元。因此,处理器晶模的主要面积(其也许大致与处理器的时序电路的面积相同)可以低成本用于根据本发明的错误检测。为了进一步增强检错能力,可以改变现有的扫描单元设计,以增大它们的对软错误的灵敏度。这些设计修改,例如增加或者减少电容以及增加通道长度,可以在不妨碍正常扫描操作功能的情况下进行,并且可以按照以下方式来进行,即,对于正常扫描操作可以禁用它们,并且对于软错误检测可以启用它们。因此,还可以或替代性地将包含在处理器或其它设备上的用于测试和调试的扫描单元配置为用于软错误检测。
可以通过持续地将已知的数据值移入扫描链210的输入端并且观察输出端来执行错误检测。将由到达扫描链210的输出端的不同值来指示错误。例如,扫描链210的输入可以被设置为二进制零。到达扫描链210的输出端的每个二进制一指示一个位电平错误。在n-阱(n-well)进程中,观察到从零到一、而不是一到零的转变是合意的,其中,零到一的转变可以由α粒子和中子粒子撞击所引起,但是一到零的转变只能由中子所引起。
时序错误计数单元220包括时序错误计数器221和时序计数控制模块223。时序错误计数器221可以是同步的或异步的、并且具有计数输入端、计数输出端和重置的任何已知的计数器电路。时序错误计数器221的计数输入端耦合到扫描链210的输出端,以使得时序错误计数器221的计数输出指示由扫描链210检测到的位电平错误的总数,这是因为时序错误计数器221已经被重置。在该实施例中,在扫描链210的每一个全位移(full shift)(即,在输入端注入的值到达输出端所需要的时钟周期的数量)之后重置时序错误计数器221。在其它的实施例中,也可以或可替代地基于任何其它的事件或信号来重置计数器。
在该实施例中,时序错误计数器221的输出端耦合到时序计数控制模块223,以使得无论何时时序错误计数器221被重置,时序计数控制模块223都接收该次全扫描的位电平错误的数量。在其它的实施例中,可以将位电平错误的数量持续提供给时序计数控制模块223,或者可以基于任何其它的事件或信号而将位电平错误的数量发送到时序计数控制模块223。
时序计数控制模块223还包括时序错误阈值寄存器224,其可以被编程来保存时序错误阈值。在其它的实施例中,阵列错误阈值可以是固定的。如果位电平错误的数量超过了时序错误阈值,则将激活或增强错误抑制。可以基于扫描链210中的扫描单元的数量来选择适当的时序错误阈值。其它的实施例可以包括对部分或全扫描数量进行计数的扫描计数器,以及根据错误计数器和扫描计数器的输出来计算SER的逻辑。可以使用诸如比较器电路之类的任何已知的方法来判断位电平错误的数量是否超过了时序错误阈值。
时序计数控制模块223向时序错误抑制单元230指示位电平错误的数量是否超过了时序错误阈值。所述指示可以基于高SER信号的状态或转变、或任何其它的已知方法。如果时序计数控制模块223指示时序错误阈值已经被超出,则时序错误抑制单元230通过多种已知方法中的任意一种或多种来激活或增强错误抑制。例如,时序错误抑制单元230可以激活执行内核202以与执行内核201锁步的方式运行。
本发明还可以体现为使用存储器阵列、扫描链,或任何其它结构的任意组合的装置,所述其它的结构具有其中检测到位电平错误的状态元件。例如,处理器可以包括两个或更多个存储器阵列,其中每个具有其自己对应的错误计数和抑制单元,或者两个或更多个执行内核,其中每个有其自己对应的扫描链以及错误计数和抑制单元。每一个错误计数单元可以包括一个或多个阈值寄存器,以使阈值得到校准,所述校准考虑到了诸如进程和结构脆弱性之类的因素。阈值寄存器可以是可编程的,以允许阈值的调整。
在一些实施例中,单个错误计数单元可以包括多个用于不同的源或错误类型的计数器,并且/或者来自多个错误计数单元的高SER信号可以一同被处理以确定是否激活何种类型以及何种级别的错误抑制。在一个这样的实施例中,高SER信号可以与OR′d一起。例如,如果阵列错误阈值和时序错误阈值之一或两者都已被超出,则可以激活错误抑制。在另一个这样的实施例中,可以基于来自超过一个计数器的错误计数的组合来判断是否已经超出错误阈值。计数可以被直接加到一起,或者一个计数可以比另一个权重更大,这是因为一种类型的错误或错误源需要更可靠地关注。在本发明的范围内,其它形式的处理错误计数和/或高SER信号也是可能的,例如提供一个特定的高SER信号以否定或覆盖另一个特定的高SER信号。
在这些实施例中的任何一个或任何其它的实施例中,根据高SER信号的源和/或处理可以激活或增强各个级别或类型的错误抑制。例如,在具有用于高速缓存和时序逻辑的错误检测的实施例中,仅来自高速缓存的高SER信号可以激活高速缓存清理,仅来自时序逻辑的高SER信号可以激活锁步,来自这两者的高SER信号都可以激活工作电压的增大。
此外,实施例可以包括用于单个错误计数单元的多个错误阈值,因此,可以根据SER的检测大小来选择错误抑制的类型或级别。在一个这样的实施例中,多级错误抑制是可用的,例如,不同的高SER信号可以用来指示基于哪一错误阈值已经被超出来选择哪一级错误抑制。这些级可以通过单一技术的不同级别来区分,例如高速缓存清理的变化频率,或者可以通过使用多种不同的技术来区分,例如在一级中进行高速缓存清理并且在另一级中增加工作电压。在一个或多个级中,一个或多个错误抑制技术可以是不活跃的或者处于关闭状态。在其它级中的每一个中,相同的错误抑制状态可以是开启的,或者在单个或多个级别之一上是激活的。
本发明的实施例可以包括以上所述的任何组合。实施例可以包括多个错误计数器,其中每个具有多个错误阈值,并且基于高SER信号的处理来选择多级错误抑制。可以执行处理以给予特定类型的错误或者特定的错误源更大的权重。例如,如果来自大容量存储器的高SER信号被断言,或者来自两个较小存储器阵列的高SER信号均被断言,则可以进入特定级别的错误抑制。作为另一个例子,如果来自扫描链的高SER信号被断言,则可以进入特定级别的错误抑制,以及如果来自存储器阵列的高SER信号被断言,则可以进入甚至更高级或级别的错误抑制,这是因为存储器阵列表示比扫描链更大的晶模面积部分。
在一些实施例中,高SER信号的定时、计数器输出以及其它的信号并不重要,因为目标可以是检测高SER的持续周期,而不是短的尖峰。因此,信号可以是通过管线的或者延迟的,并且可以从不同的单元在不同的时间到达。另外,高SER信号中的滞后现象可能是合意的,并且/或者在激活、增强、解除激活或减小错误抑制之前可以执行多次重复的错误检测,以避免错误抑制模式之间的系统颠簸。
图3示出了根据本发明实施例的系统300。系统300包括处理器310、系统控制器320、持久存储器330和系统存储器340。处理器310可以是如上所述的任何处理器,包括功能单元311和错误计数控制单元312。功能单元311包括存储器阵列、时序逻辑或者具有其中检测到位电平错误的状态元件的任何其它的结构。错误计数控制单元312对功能单元311中的位电平错误的数量进行计数并且指示功能单元311中的位电平错误的数量是否超过了错误阈值。在该实施例中,如果功能单元311中的位电平错误的数量超过了错误阈值,则错误计数控制单元312断言高SER信号313。
系统控制器320可以是任何耦合到处理器310以接收高SER信号313的芯片组部件或者其它的部件。在该实施例中,如果高SER信号313被断言,则系统控制器320激活或者增强错误抑制。例如,系统控制器320可以包括或者耦合到电压控制器,所述电压控制器将提高系统、处理器或者其它的电压电平以抑制软错误。
系统控制器320还可以包括或者耦合到持久存储器330,用于存储高SER信号313的状态,或者用于保留有关检测到的SER的信息。持久存储器330可以是任何能够在系统300或者处理器310处于关闭或其它非活动状态时保留信息的存储器。例如,持久存储器330可以是闪速存储器或非易失性存储器,或电池支援随机存取存储器。因此,如果系统300由于软错误或其它原因崩溃,当重新启动时系统控制器320可以读取持久存储器330,以确定最近检测的SER是否为高,并且如果是这样的话,则重新启动系统300,同时激活错误抑制。
系统存储器340可以是任何类型的存储器,例如静态或动态随机存取存储器、磁盘存储器或光盘存储器。系统存储器340可以用来存储将由处理器320执行的指令以及将在处理器320上操作的数据,或者任何形式的任何信息,例如操作系统软件、应用软件或用户数据。
处理器310、系统控制器320、持久存储器330以及系统存储器340可以使用总线或直接或点对点的连接的任意组合、通过任何其他的部件以任何布置互相耦合。系统300还可以包括图3中未显示的任何总线(例如外围总线)或部件(例如输入/输出设备)。
图4示出了本发明的、基于位电平错误计数来有选择地激活错误抑制的方法的实施例。在图4的实施例中,错误抑制可以是两种模式(高或低)中的一种。高模式可以是开启模式并且低模式可以是关闭模式,或者错误抑制可以在两个模式中为开启,但是在高模式中比在低模式中工作在更高级别或频率下。图4的实施例中的错误抑制可以包括任何已知的方法。例如,高模式可以包括高速缓存清理,以锁步方式运行两个或更多个处理器内核,或者在两个工作电压中的较高电压下运行设备或者设备的一部分。低模式可以包括较低频率的高速缓存清理或者不包括高速缓存清理,单独运行单个处理器内核或者不以锁步方式运行两个或更多个处理器内核,或者在两个工作电压中的较低电压下运行设备。
在框410中,将重复限度编程进入重复限度寄存器,用于处理器或其它设备中的功能块。所述功能块包括存储器阵列、时序逻辑或任何其它的具有状态元件的结构。重复限度可以基于功能块中的状态元件的数量,功能块的尺寸、面积、配置、结构或功能,用于制造设备的工艺技术,设备的预期用途或使用设备的环境,或任何其它的因素。
在框411中,将错误阈值编程进入功能块的错误阈值寄存器。错误阈值可以基于与重复限度相同的因素,以及诸如重复限度本身和预期SER之类的附加因素。
在框420中,当功能块在使用中时,对事件重复的数量进行计数。事件可以是在误码率计算中作为分母而计数的任何事件。例如,事件可以是到存储器阵列的读取访问,或者对扫描链的全扫描。可以使用任何类型的计数器来对重复的数量进行计数。
在框421,当功能块在使用中时,对状态元件中的位电平错误的数量进行计数。可以使用任何已知的技术来检测位电平错误,例如用于存储器阵列的奇偶校验或者将已知值注入扫描链的输入端并且观察时序逻辑的输出端。可以使用任何类型的计数器来对位电平错误的数量进行计数。
在框430中,判断在框420中计数的重复数量是否已经达到重复限度。可以根据任何已知的方法进行判断,例如将其基于重复计数器输出的特定位,或者将重复计数器输出与重复限度寄存器的内容进行比较。当重复数量达到重复限度时,方法继续到框431。然后,方法继续框420。
在框431,判断在框421中计数的错误数量是否超过了错误阈值。可以根据任何已知的方法进行判断,例如将错误计数器输出与错误阈值寄存器的内容进行比较。如果计数的错误数量超过阈值,则方法继续到框440。如果未超过,则方法继续到框441。
在框440和441中,判断错误抑制是在高模式还是在低模式。如果在低模式,则方法从框440继续到框450,或从框441继续到框460。如果在高模式,则方法从框440继续到框451,或从框441继续到框460。
在框450,激活错误抑制或者从低模式增强到高模式。在框451,解除激活错误抑制或者从高模式减弱到低模式。从框450和451,方法继续到框460。在框460,重复和错误计数被重置。从框460,方法返回到框420。
在本发明的范围内,可以不同的次序执行图4所示的方法,可以省略所示出的步骤,添加额外的步骤或者利用重新排序、省略或附加步骤的组合。例如,在一个实施例中,可以省略框410以及对重复计数的所有引用,其中,基于通过扫描链的单独的全位移来将错误计数与阈值进行比较。作为另一个例子,在一个实施例中,可以省略判断错误抑制是在高模式还是在低模式中,其中,在停留在高模式的实现与从低模式进入高模式的实现之间没有差别。此外,本发明可以体现在其中可以基于来自多于一个功能单元的多于一个的错误计数来判断是否激活错误抑制的方法中;或者可以体现在包括多于两个错误抑制模式的方法中。
根据本发明的实施例设计的处理器100、处理器200或任何其它的部件或部件的部分可以在从创建到仿真到制造的各种阶段中进行设计。表示设计的数据可以多种方式表示设计。首先,由于在仿真中有用,硬件可以使用硬件描述语言或其它功能描述语言来表示。可附加或可替代地,在设计过程的某些阶段上,可以产生具有逻辑和/或晶体管门的电路级模型。此外,大多数设计,在某一阶段,到达一级别,其中可以利用表示各个设备的物理布置的数据来对它们建模。在使用传统的半导体制造技术的情况中,表示器件布置模型的数据可以是为用于产生集成电路的掩模指定不同的掩膜层上各个特征是否存在的数据。
在所述设计的任何表示中,数据可以机器可读介质的任何形式存储。调制的或其它方式生成的用于传输这种信息的光波或电波、存储器、磁或光存储介质(例如盘片)可以是机器可读介质。任何这些介质中都可以“携带”或“指示”设计、或者在本发明的实施例中使用的其它信息,例如错误恢复例程中的指令。当指示或者携带信息的电载波被传送以执行电信号的复制、缓冲或者重传输时,制成新的副本。因此,通信提供者或者网络提供者的动作可以是制造对象(例如载波)副本的动作,从而体现本发明的技术。
以上公开了基于位电平错误计数来有选择性的激活错误抑制。尽管已经描述了特定实施例,并且显示在附图中,但是应该理解这种实施例对于本发明的范围仅仅是说明性的而非限制性的,本发明不限于这里所显示和描述的具体的结构和布置,因为当本领域技术人员研究本公开后,可以对其进行修改。例如,增强错误抑制可以包括从关闭模式到开启模式增强错误抑制,以及当错误计数超过错误阈值时增强错误抑制可以包括当错误计数等于或者超过错误阈值时增强错误抑制。
在该技术领域,发展很快并且难以预见未来的进步,因此可以在不脱离本公开的原理或者所附权利要求的范围的情况下,利用这些技术进步来便于显而易见地在布置以及细节上对所公开的实施例进行修改。

Claims (15)

1.一种用于选择性激活错误抑制的装置,包括:
多个扫描单元;
错误计数器,用于对所述多个扫描单元中的位电平错误的数量进行计数;以及
激活逻辑,用于在所述位电平错误的数量超过阈值时增强错误抑制。
2.根据权利要求1所述的装置,其中,所述激活逻辑从关闭模式转换到开启模式以增强错误抑制。
3.根据权利要求1所述的装置,还包括:
可编程寄存器,用于存储所述阈值。
4.根据权利要求1所述的装置,其中,配置所述多个扫描单元以用于软错误检测。
5.根据权利要求1所述的装置,其中,将所述多个扫描单元布置在扫描链中。
6.根据权利要求5所述的装置,其中,基于通过所述扫描链的全位移来重置所述错误计数器。
7.一种用于选择性激活错误抑制的装置,包括:
多个执行内核,其中,所述多个执行内核中的第一个包括多个扫描单元;
错误计数器,用于对所述多个扫描单元中的位电平错误的数量进行计数;以及
激活逻辑单元,用于在所述位电平错误的数量超过阈值时激活所述多个执行内核中的第一个和第二个执行内核的锁步。
8.一种用于选择性激活错误抑制的方法,包括:
对多个扫描单元中的位电平错误的数量进行计数;以及
在所述位电平错误的数量超过阈值时增强错误抑制。
9.根据权利要求8所述的方法,其中,增强错误抑制包括从关闭模式转换到开启模式以增强错误抑制。
10.根据权利要求8所述的方法,还包括将所述阈值存储在可编程寄存器中。
11.根据权利要求8所述的方法,其中,将所述多个扫描单元设置在扫描单元链中,所述方法还包括在通过所述扫描单元链的全位移之后重置对所述位电平错误的数量的计数。
12.一种用于选择性激活错误抑制的系统,包括:
处理器,包括:
多个扫描单元;
错误计数器,用于对所述多个扫描单元中的位电平错误的数量进行计数;以及
控制逻辑,用于指示所述位电平错误的数量是否超过阈值;以及
系统控制器,用于在所述控制逻辑指示所述位电平错误的数量超过所述阈值时增强错误抑制。
13.根据权利要求12所述的系统,其中,所述激活逻辑从关闭模式转换到开启模式以增强错误抑制。
14.根据权利要求12所述的系统,还包括持久存储器,用于存储所述位电平错误的数量是否超过所述阈值的指示。
15.一种用于选择性激活错误抑制的系统,包括:
动态随机存取存储器;
处理器,包括:
多个扫描单元;
错误计数器,用于对所述多个扫描单元中的位电平错误的数量进行计数;以及
控制逻辑,用于指示所述位电平错误的数量是否超过阈值;以及
激活逻辑单元,用于在所述控制逻辑指示所述位电平错误的数量超过所述阈值时增强错误抑制。
CN2006800209538A 2005-06-13 2006-06-13 基于位电平错误计数的错误抑制的选择性激活 Expired - Fee Related CN101198935B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/151,818 US20070011513A1 (en) 2005-06-13 2005-06-13 Selective activation of error mitigation based on bit level error count
US11/151,818 2005-06-13
PCT/US2006/023634 WO2006135937A2 (en) 2005-06-13 2006-06-13 Selective activation of error mitigation based on bit level error count

Publications (2)

Publication Number Publication Date
CN101198935A CN101198935A (zh) 2008-06-11
CN101198935B true CN101198935B (zh) 2012-11-07

Family

ID=37192294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800209538A Expired - Fee Related CN101198935B (zh) 2005-06-13 2006-06-13 基于位电平错误计数的错误抑制的选择性激活

Country Status (6)

Country Link
US (1) US20070011513A1 (zh)
JP (1) JP2008546123A (zh)
KR (1) KR100954730B1 (zh)
CN (1) CN101198935B (zh)
DE (1) DE112006001233T5 (zh)
WO (1) WO2006135937A2 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
JP4944518B2 (ja) * 2006-05-26 2012-06-06 富士通セミコンダクター株式会社 タスク遷移図表示方法及び表示装置
US8260035B2 (en) * 2006-09-22 2012-09-04 Kla-Tencor Corporation Threshold determination in an inspection system
US8122323B2 (en) * 2007-03-08 2012-02-21 Intel Corporation Method, apparatus, and system for dynamic ECC code rate adjustment
JP5265883B2 (ja) * 2007-05-24 2013-08-14 株式会社メガチップス メモリアクセスシステム
US8327245B2 (en) 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
US8271515B2 (en) * 2008-01-29 2012-09-18 Cadence Design Systems, Inc. System and method for providing copyback data integrity in a non-volatile memory system
US7849387B2 (en) * 2008-04-23 2010-12-07 Intel Corporation Detecting architectural vulnerability of processor resources
US7937625B2 (en) * 2008-09-26 2011-05-03 Microsoft Corporation Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
KR20100102925A (ko) * 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
JP2010237822A (ja) * 2009-03-30 2010-10-21 Toshiba Corp メモリコントローラおよび半導体記憶装置
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
JP5198375B2 (ja) 2009-07-15 2013-05-15 株式会社日立製作所 測定装置及び測定方法
KR20110100465A (ko) 2010-03-04 2011-09-14 삼성전자주식회사 메모리 시스템
US8448027B2 (en) * 2010-05-27 2013-05-21 International Business Machines Corporation Energy-efficient failure detection and masking
US8549379B2 (en) * 2010-11-19 2013-10-01 Xilinx, Inc. Classifying a criticality of a soft error and mitigating the soft error based on the criticality
US8719647B2 (en) 2011-12-15 2014-05-06 Micron Technology, Inc. Read bias management to reduce read errors for phase change memory
US9081719B2 (en) 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Selective memory scrubbing based on data type
US9141451B2 (en) 2013-01-08 2015-09-22 Freescale Semiconductor, Inc. Memory having improved reliability for certain data types
US9141552B2 (en) 2012-08-17 2015-09-22 Freescale Semiconductor, Inc. Memory using voltage to improve reliability for certain data types
US9081693B2 (en) 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Data type dependent memory scrubbing
US9548135B2 (en) * 2013-03-11 2017-01-17 Macronix International Co., Ltd. Method and apparatus for determining status element total with sequentially coupled counting status circuits
US9280412B2 (en) * 2013-03-12 2016-03-08 Macronix International Co., Ltd. Memory with error correction configured to prevent overcorrection
US9075904B2 (en) 2013-03-13 2015-07-07 Intel Corporation Vulnerability estimation for cache memory
US9032261B2 (en) * 2013-04-24 2015-05-12 Skymedi Corporation System and method of enhancing data reliability
US10055272B2 (en) * 2013-10-24 2018-08-21 Hitachi, Ltd. Storage system and method for controlling same
US9529671B2 (en) * 2014-06-17 2016-12-27 Arm Limited Error detection in stored data values
US9760438B2 (en) * 2014-06-17 2017-09-12 Arm Limited Error detection in stored data values
US20150169441A1 (en) * 2015-02-25 2015-06-18 Caterpillar Inc. Method of managing data of an electronic control module of a machine
US9823962B2 (en) 2015-04-22 2017-11-21 Nxp Usa, Inc. Soft error detection in a memory system
US10013192B2 (en) 2016-08-17 2018-07-03 Nxp Usa, Inc. Soft error detection in a memory system
KR102393427B1 (ko) 2017-12-19 2022-05-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10866280B2 (en) 2019-04-01 2020-12-15 Texas Instruments Incorporated Scan chain self-testing of lockstep cores on reset
KR20230072336A (ko) 2021-11-17 2023-05-24 에스케이하이닉스 주식회사 반도체장치
US11720444B1 (en) * 2021-12-10 2023-08-08 Amazon Technologies, Inc. Increasing of cache reliability lifetime through dynamic invalidation and deactivation of problematic cache lines

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3341628A1 (de) * 1983-11-17 1985-05-30 Polygram Gmbh, 2000 Hamburg Geraeteanordnung zur fehlerermittlung bei plattenfoermigen informationstraegern
US5218691A (en) * 1988-07-26 1993-06-08 Disk Emulation Systems, Inc. Disk emulation system
US5689689A (en) * 1992-12-17 1997-11-18 Tandem Computers Incorporated Clock circuits for synchronized processor systems having clock generator circuit with a voltage control oscillator producing a clock signal synchronous with a master clock signal
JPH07177130A (ja) * 1993-12-21 1995-07-14 Fujitsu Ltd エラーカウント回路
US5974576A (en) * 1996-05-10 1999-10-26 Sun Microsystems, Inc. On-line memory monitoring system and methods
US6043946A (en) * 1996-05-15 2000-03-28 Seagate Technology, Inc. Read error recovery utilizing ECC and read channel quality indicators
JPH10312340A (ja) * 1997-05-12 1998-11-24 Kofu Nippon Denki Kk 半導体記憶装置におけるエラー検出,訂正方式
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
JP2001325155A (ja) * 2000-05-18 2001-11-22 Nec Eng Ltd データ記憶装置の誤り訂正方法
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法
JP2004186856A (ja) * 2002-12-02 2004-07-02 Pioneer Electronic Corp 誤り訂正方法、装置及びプログラム
US7080305B2 (en) * 2002-12-23 2006-07-18 Sun Microsystems, Inc. System and method for correcting data errors
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US6704230B1 (en) * 2003-06-12 2004-03-09 International Business Machines Corporation Error detection and correction method and apparatus in a magnetoresistive random access memory
EP1639454A2 (de) * 2003-06-24 2006-03-29 Robert Bosch GmbH Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
US7370260B2 (en) * 2003-12-16 2008-05-06 Freescale Semiconductor, Inc. MRAM having error correction code circuitry and method therefor
US7210077B2 (en) * 2004-01-29 2007-04-24 Hewlett-Packard Development Company, L.P. System and method for configuring a solid-state storage device with error correction coding
US20060075296A1 (en) * 2004-09-30 2006-04-06 Menon Sankaran M Method, apparatus and system for data integrity of state retentive elements under low power modes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode

Also Published As

Publication number Publication date
WO2006135937A2 (en) 2006-12-21
CN101198935A (zh) 2008-06-11
US20070011513A1 (en) 2007-01-11
DE112006001233T5 (de) 2008-04-17
WO2006135937A3 (en) 2007-02-15
KR100954730B1 (ko) 2010-04-23
KR20080011228A (ko) 2008-01-31
JP2008546123A (ja) 2008-12-18

Similar Documents

Publication Publication Date Title
CN101198935B (zh) 基于位电平错误计数的错误抑制的选择性激活
Stoddard et al. A hybrid approach to FPGA configuration scrubbing
Patel et al. Bit-exact ECC recovery (BEER): Determining DRAM on-die ECC functions by exploiting DRAM data retention characteristics
US8397130B2 (en) Circuits and methods for detection of soft errors in cache memories
Su et al. An integrated ECC and redundancy repair scheme for memory reliability enhancement
Goessel et al. New methods of concurrent checking
CN101063948B (zh) 可编程装置的软差错定位和敏感度检测
KR101322064B1 (ko) 의사 에러 발생 장치
CN101566958B (zh) 检测处理器资源的架构易损性
CN101017193B (zh) 一种存储器辐照测试方法以及实现该方法的装置
Suh et al. Soft error benchmarking of L2 caches with PARMA
Suh et al. MACAU: A Markov model for reliability evaluations of caches under single-bit and multi-bit upsets
CN105304144A (zh) 存储器错误检测方法及装置
US11586496B2 (en) Electronic circuit with integrated SEU monitor
Stoddard et al. High-speed PCAP configuration scrubbing on Zynq-7000 all programmable SoCs
Simevski et al. Scalable and configurable multi-chip SRAM in a package for space applications
Mikhail et al. The reliability of memory with single-error correction
JP6045351B2 (ja) 検証装置及び検証方法
Gill et al. Radiation induced single-word multiple-bit upsets correction in SRAM
Lee et al. Evaluation of error detection coverage and fault-tolerance of digital plant protection system in nuclear power plants
Tarrillo et al. Analyzing the effects of TID in an embedded system running in a flash-based FPGA
Sazeides et al. A real-time error detection (rtd) architecture and its use for reliability and post-silicon validation for f/f based memory arrays
Mayuga et al. Highly reliable memory architecture using adaptive combination of proactive aging-aware in-field self-repair and ECC
CN110007738B (zh) 适用于敏感电路的抗瞬时电离辐射复位后运行状态重构方法
Nunes et al. Evaluating xilinx SEU controller macro for fault injection

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121107

Termination date: 20130613