CN101063948B - 可编程装置的软差错定位和敏感度检测 - Google Patents
可编程装置的软差错定位和敏感度检测 Download PDFInfo
- Publication number
- CN101063948B CN101063948B CN2007101013988A CN200710101398A CN101063948B CN 101063948 B CN101063948 B CN 101063948B CN 2007101013988 A CN2007101013988 A CN 2007101013988A CN 200710101398 A CN200710101398 A CN 200710101398A CN 101063948 B CN101063948 B CN 101063948B
- Authority
- CN
- China
- Prior art keywords
- mistake
- error
- data
- configuration data
- sensitivity
- 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
Links
Images
Classifications
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/17764—Structural details of configuration resources for reliability
Abstract
检测所储存的配置数据中发生的软差错是否为可被忽略的假肯定以使不必执行重新加载配置数据或其他补救措施的电路、方法和装置。一个示例提供了包括检错电路和敏感度处理器的集成电路。检错电路检测差错的存在。敏感度处理器判断检测到的差错是否可被忽略,或者是否应发起诸如提供差错标志、重新配置装置或纠正差错等补救动作。敏感度处理器可基于差错是否在配置未使用电路的存储单元中发生来作出这一判断。敏感度处理器可利用差错日志来跟踪可被忽略的已知差错,使得该判断无需在每次检查配置数据时进行。
Description
相关申请的交叉引用
本申请要求2006年4月21日提交的美国临时专利第60/793,946号的优先权,该申请通过引用结合于此。本申请与2006年4月19日提交的美国专利申请第11/407,519号相关,该申请通过引用结合于此。
技术领域
本发明一般涉及可编程装置,尤其涉及用于检测可编程装置中的配置差错的系统和方法。
背景技术
可编程装置通常包括由可被配置成执行用户定义的逻辑功能的逻辑门或查找表构成的上千个可编程逻辑元件。可编程装置通常还包括适用于特定功能的多个专用电路,诸如加法器、乘法和累加电路、锁相环和存储器。这些可编程逻辑元件和专用电路可使用可编程互连线来互连。可编程互连线选择性地在可编程逻辑元件和专用之间对连接布线。通过配置可编程逻辑元件、专用电路和可编程互连线的组合,可编程装置可适用于执行实际上任何类型的信息处理功能。
可编程装置的配置通常由储存在一组配置RAM(CRAM)单元或配置存储器中的配置数据来控制。通常,CRAM单元中的数据包括用于查找表的条目、用于可编程逻辑元件中所包括的多路复用器的控制信号、控制可编程互连线的值、以及控制可编程装置的其它方面,诸如可编程装置的工作模式的值。
配置数据通常储存在与该可编程装置在同一芯片封装内或在连接到该可编程存储器装置的外部配置装置上的诸如闪存或ROM等非易失性存储器中。在通电时、复位或其它适当的条件下,该配置数据从闪存加载到可编程装置的CRAM单元中以配置该可编程装置。
由于制造工艺的进步,每一个新一代的可编程装置是由比其代装置小的晶体管构成的。当CRAM单元的物理尺寸减小时,它们变得更易于受到自发的“软差错”的影响。软差错可由诸如α粒子或宇宙射线等背景辐射引入,并且导致CRAM单元自发地将状态从“0”改为“1”或从“1”改为“0”。软差错被如此命名是因为存储单元中的错误信息可通过重新编程来纠正,这与其中存储单元永久地无法工作的硬差错形成对比。由于可编程装置的功能是由储存在CRAM单元中的数据来确定的,因此甚至是CRAM单元的状态中的单个改变也可改变或禁用可编程装置的功能。另外,当可编程装置变得越来越复杂时,需要另外的CRAM单元来储存配置数据。这进一步增大了软差错的频率。
纠正软差错的先前的方法包括使用从CRAM单元中读取配置数据并确定差错的存在的检错电路。在检测到差错时,检错电路通常引发一使得可编程装置重新加载其配置数据并可被重新配置以进行正确的操作的差错信号。在另一种方法中,装置上也包括可纠正已知差错的纠错电路。该电路可用于纠正CRAM中的配置数据而无需重新加载整组配置数据。
运行在可编程装置上的许多应用程序不使用该装置的大部分电路。例如,典型的应用程序可能仅使用所包括的电路的一半,这意味着只需大约一半的CRAM单元来配置由该应用程序使用的可编程逻辑元件、专用电路和可编程互连线的操作。可被设为某一已知的逻辑值的剩余的CRAM单元并不影响可编程装置的功能。控制未被应用程序使用的可编程逻辑元件、专用电路和可编程互连线的CRAM单元被称为未使用CRAM单元。未使用CRAM单元中的软差错是不重要的且通常被忽略。
由于检错电路不在已使用和未使用CRAM单元之间区分,因此采用常规技术的可编程装置一般在检测到CRAM单元中的任何差错时重新加载配置数据。然而,由于大部分CRAM可能未被可编程装置的应用程序使用,因此这些软差错的许多是对可编程装置的功能没有任何影响的“假肯定”。由此,由于假肯定,可编程装置通常不必要地重新加载配置数据,这降低了可编程装置的性能-由于配置数据的加载期间的停机时间-并增加了功耗-由于配置数据的不必要的加载和储存。
因此,所需的是检测假肯定软差错以避免诸如纠错或装置重配置等不必要的补救活动的电路、方法和装置。
发明内容
因此,本发明的实施例提供了检测所储存的配置数据中的软差错是否为可被忽略的假肯定使得无需执行重新加载配置数据或其它补救措施的电路、方法和设备。
本发明的一个示例性实施例提供了一种具有检错电路和敏感度处理器的集成电路。该检错电路检测所储存的配置数据中的软差错的存在。敏感度处理器判断检测到的软差错是否可被忽略,或者是否需要发起诸如提供差错标志、重新配置装置或纠正差错等补救动作。敏感度处理器可基于配置未使用电路的存储单元中发生的差错来作出这一判断。敏感度处理器可利用差错日志来跟踪可被忽略的已知差错,使得该判断无需在每次检查配置数据时完成。
在本发明的一个特定实施例中,由可编程装置接收一比特流并储存在其上。该比特流包括用于配置形成该可编程装置的可编程逻辑元件、专用电路和可编程互连线的配置数据。该比特流还包括通常从配置数据中导出的检错比特。这些检错比特可用于确定配置比特中的一个或多个是否被破坏并且已变为所谓的软差错。检错比特可用于确定软差错的存在和位置。通常,确定软差错的精确位置,即,精确的CRAM单元,尽管在某些情况下或本发明的某些实施例中,软差错的位置被发现为在多个或一组CRAM单元中。此外,在多个差错的情况下,这些差错位置可能是不可确定的。
在本发明的一个特定实施例中,该比特流还包括敏感度数据。该敏感度数据指示可编程装置上的某些电路是否是该可编程装置正被配置供其使用的应用程序所需要或使用的。更具体地,敏感度数据的每一比特指示一个或多个CRAM单元中的差错是否不会对总体电路性能具有十分有害的影响以使得该差错可被忽略。如果差错导致对装置性能没有十分有害的影响的错误配置,则该差错可被忽略。这允许诸如提供差错指示、执行纠错以及经历装置重新配置等补救措施可被避免。
在本发明的各实施例中,对电路何时被错误地配置使得它对装置性能具有十分有害的影响的准则可以变化。例如,敏感度可以基于电路是否由应用程序使用。在本发明的一个特定实施例中,如果可编程逻辑元件未被应用程序使用,则该应用程序对用于配置该可编程逻辑元件的CRAM单元中的差错是不敏感的。然而,在其它实施例中,未使用电路中的某些差错可能会对已被使用的其它电路有不利的影响。例如,这一差错可能会不必要地加载已使用的驱动程序、可能会增加功耗、或可能会具有使得性能被不合需要地降低的其它影响。因此,在本发明的各实施例中,这些和其它准则可在生成敏感度数据时使用。
例如,敏感度数据的每一比特可指示应用程序对于一个CRAM单元中的差错的敏感度。然而,这需要使用较大的敏感度数据库。因此,在本发明的一个特定实施例中,每一敏感度比特指示应用程序对一组CRAM单元中的任一个CRAM单元中的差错的敏感度。
在本发明的一个特定实施例中,可编程逻辑元件包括查找表部分和寄存器部分。因此,对用于配置可编程逻辑元件的查找表或寄存器部分的一组CRAM单元的差错的敏感度可使用一个比特来跟踪。或者,一个敏感度比特可指示应用程序对用于配置一个可编程逻辑元件或诸如逻辑阵列块等一组逻辑元件的任一个CRAM单元中的差错的敏感度。
同样,在该特定实施例中,布线是使用布线多路复用器来配置的。这些多路复用器可在通常是6-15个CRAM单元的控制之下。因此,应用程序对这一组CRAM中的任一个比特中的差错的敏感度可用一个敏感度比特来跟踪。或者,对用于一组布线多路复用器的CRAM单元中的差错的敏感度可用一个敏感度比特来跟踪。例如,逻辑阵列块中的局部布线多路复用器可用一个敏感度比特来跟踪。再一次,在本发明的这些实施例的任一个中,应用程序对CRAM比特中的差错的敏感度可通过该CRAM比特是否配置由该应用程序使用的电路来确定。
如果应用程序对发生的差错敏感,则敏感度处理器可向外部装置提供一标志,以使可编程装置被重新配置。如果应用程序对差错不敏感,则该差错可被忽略。在任一情况下,可能期望跟踪差错供应用程序进行数据收集和分析。
一旦确定有差错的配置比特可被忽略,则期望不必在每次检查配置数据时都作出同一判断。因此,本发明的另一示例性实施例包括跟踪可被忽略的软差错的差错日志。当检测到差错时,检查该日志来看该差错是否可被忽略。如果该差错未被记入日志,则参考敏感度数据来看该差错是否可被忽略。如果差错可被忽略,则该差错然后被记入日志以供将来参考。
在本发明的各实施例中,还包括了纠错电路。如果应用程序对差错敏感,则除纠正之外的进一步动作可能是必要的,诸如软或硬复位。同样,如果发生了多个差错,则如果纠正电路不能纠正这多个差错,则可能需要复位。即使应用程序对差错不敏感,但这些差错通常也应被纠正,以免它们累积并导致稍后的差错不能被纠正的情况。再一次,在任一情况下,可能需要跟踪差错以供应用程序分析。
本发明的各实施例可结合此处所描述的这些或其它特征中的一个或多个。参考以下详细描述和附图可以获得对本发明的特性和优点的更好的理解。
附图说明
图1示出了用于可编程装置的示例配置存储器和相关联的电路。
图2示出了根据本发明的一个实施例的用于可编程装置的配置存储器的示例;
图3示出了根据本发明的一个实施例的软差错检测单元和相关联的电路的示例;
图4是根据本发明的一个实施例的检测配置存储器中的差错的方法的流程图;
图5是根据本发明的一个实施例的检测配置存储器中的差错的方法的另一流程图;
图6是通过结合本发明的实施例改进的可编程逻辑装置的简化框图;以及
图7是通过结合本发明的实施例改进的电子系统的框图。
具体实施方式
图1是用于典型的可编程装置100的CRAM阵列110和编程结构的概观。可编程装置100包含被组织成行和列的阵列110的多个CRAM单元。地址寄存器120包含一组线,每一条线对CRAM单元110的一列寻址。数据寄存器130包含要写入CRAM单元110的一列或对其编程的数据,或已从CRAM单元110的一列读回的数据。
当数据被写入CRAM单元110时,配置控制器150从配置存储器读取或接受配置数据,配置存储器可以在采用配置装置140的形式的单独芯片上,或者可被包含在与可编程装置100相同的芯片上。数据从配置存储器中读取并被提供给数据寄存器130。当完整的一列数据可用时,通过选通由地址寄存器120寻址的线之一来对一列编程。
在本发明的一个特定实施例中,地址寄存器120被预设为全0,且对单个1移位以选择要编程的列。在其它变化中,地址寄存器可使用不同的编码。可编程装置可被排列成较小的地址或数据块;数据可一次在单个比特或若干比特中读取;以及其它可能的变化。
在写入了CRAM单元之后,配置控制器150可周期性地读回CRAM数据并检查差错。配置控制器150再次顺序通过一个或多个列并将数据读回到数据寄存器130中。在读取每一列之后,配置控制器150使用该数据来执行检错计算的某一步,这通常是通过将数据移位到配置控制器150中以执行CRC校验来进行的。或者,它可计算构成列或行中的数据的各个子集的CRAM单元的块上的检错或纠错码。或者,可横跨任意数目的CRAM单元的行和列的CRAM单元块也可包含检错或纠错码。或者,区域可跨多行和多列交错以使给定纠错块中的CRAM单元不必是相邻的。
如果检测到差错,则配置控制器150可引发一差错标志152,该标志可以是可编程装置100内部或外部的逻辑信号。监视可编程装置100的外部逻辑(未示出)可使用这一标志来重新配置可编程装置100。在检测到差错的情况下,可编程装置100的状态不能被信任,因为不知道自从发生差错及其检测以来已经过了多少时间,且因此可编程装置100的状态可能以不可预测的方式被破坏。重新配置和初始化可编程装置100通常是这些情况下的唯一选择。
示例可编程装置100的其它变化还可包括用于内部地纠正CRAM 110的内容的纠错电路,但是这并没有解决假肯定的问题。另外,某些配置控制器150还可提供读回配置数据并将其驱离可编程装置例如到线154上的能力。
再一次,如果软差错是假肯定,即它是配置未使用电路的CRAM单元中的差错,则该差错可被忽略。由此,不期望在检测到其中差错是假肯定的差错之后重新配置装置。因此,本发明的一个示例性实施例通过忽略不会显著影响可编程装置的操作的CRAM中的软差错来减少对可编程装置的不必要的重新配置。本发明的一个实施例首先使用检错比特来检测并定位可能会影响该装置的操作的软差错。在这之后,判断该软差错是否是会在不合需要的程度上显著影响装置性能的差错,或者它是否是可被忽略的差错。
在本发明的一个实施例中,纠错码(ECC)单元对储存在CRAM中的配置数据的比特的块或子集执行检错。尽管该子集可能是可编程装置中的所有CRAM器件,但是典型的纠错码只能纠正单个差错,因此有利的是将可编程装置划分成多个较小的配置数据块,每一块可容许单个软差错。
在本发明的一个实施例中,ECC单元能够标识单个差错的位置。其它实施例也能至少以高概率来标识是否发生了一个以上差错。这允许可编程装置容许许多软差错,只要每一块中的软差错的数目没有超过ECC单元标识差错的一个或多个位置的能力。
图2示出了根据本发明的一个实施例的可编程装置的示例配置存储器。该图包括用于配置装置的CRAM单元210、地址寄存器220、数据寄存器230和用于储存检错比特的CRAM单元240。
在本发明的该实施例中,CRAM单元210的每一块具有相关联的用于储存检错比特的一个或多个附加CRAM单元240的集合。这些CRAM单元240不用于控制可编程装置的任何部分,而是用于储存用于CRAM单元210的该块的检错比特。在本发明的一个实施例中,位置子集是CRAM单元210的列,而检错比特垂直地扩展超过通常是列的末端之处。检错比特被储存在这些附加CRAM单元240中。其它变化也是可能的,且包括可有效地作为相关的数据块来对待的CRAM单元的列的部分、一个以上列或任何区域。
图3是根据本发明的一个实施例的包括软差错检测单元和相关联的电路的框图。该图包括FPGA或其它可编程装置300,它们进一步包括配置控制器310、纠错码单元320、敏感度处理器330、可任选差错日志340以及敏感度数据数据库或存储器350,以及外部配置装置360。
在配置期间,配置控制器310从配置装置360中读取配置数据。配置控制器310将配置数据写入CRAM单元(未示出)中。在配置之后,周期性地对CRAM单元中的数据检查软差错。这可通过ECC单元320从CRAM单元读取配置数据和检错比特来完成。
如果检测到软差错,则ECC单元320确定该差错的位置。某些类型的ECC计算能够标识一个以上差错位置,因此本公开内容中对“位置”的引用应当被认为是指一个或多个位置。在一个实施例中,由代码指定的位置无需如失效比特的确切索引那样精确,但是可以精确到足以提供充分地定位差错以便能够在差错对应于不影响用户电路的操作的位置有良好的概率的意义上利用统计量的某些好处。
在本发明的一个实施例中,位置可以是特定的失效比特的确切索引。在另一实施例中,它可能是构成一列的一组比特对的索引。由此,应当注意,在以上段落中描述了两种不同的粒度水平:(1)形成每一ECC计算中使用的块大小的配置数据的量,(2)标识块内发生软差错的位置时的分辨率水平。在本发明的一个特定实施例中,差错的位置包括失效比特的块号以及该比特在该块内的位置。
当检错电路对每一块执行差错计算时,如果发生差错,则它可在线332上引发一标志。如上所述,当发现差错时,ECC单元320还确定差错的位置。在诸如Hamming码等纠错码的情况下,这自然可以是ECC计算的一部分。在CRC计算的情况下,可进行进一步的计算以确定差错的位置。ECC单元也可发信号通知是否超出ECC单元能够标识的能力发生了一个或多个差错,例如只能标识单个比特差错的位置但是能检测双差错的ECC单元中的双比特差错。
在确定差错的位置之后,ECC单元320的一个实施例将该标志和软差错的位置传递给敏感度处理器330。敏感度处理器330访问具有对应于所检测到的差错的位置的地址的敏感度数据存储器350。所得的敏感度数据是指定用户电路是否对指定位置中的差错敏感的值。
再一次,可使用各种准则来定义敏感度。在本发明的一个特定实施例中,如果差错是对当前配置的可编程装置的操作十分有害,使得应当采取补救动作且该差错不应当被忽略的差错,则该差错被认为是敏感的。由于不同的设计或应用程序利用可编程装置的不同部分,因此对于可编程装置的敏感度数据也相应地变化。在本发明的一个实施例中,敏感度数据由软件结合对可编程装置的配置数据的确定来预计算并被加载到敏感度数据存储器中。在本发明的一个特定实施例中,敏感度数据的每一比特对应于多个CRAM单元。当该多个CRAM单元的任一个中的差错对该装置的操作十分有害以致于应采取补救动作时,将相应的敏感度数据比特置位以指示该设计对这些CRAM单元之一中的软差错敏感。
敏感度处理器330分析检索到的敏感度数据以确定所检测到的软差错是否是敏感的,即,如当前所配置的,该差错是否对可编程装置的操作十分有害以致于需要补救动作。敏感度处理器330然后可在线332上将一信号置为有效以指示敏感差错的存在。如果差错不是敏感的,则本发明的一可任选实施例将该差错记入到可任选差错日志存储器340中的日志中,使得该差错的进一步发生不会导致对同一敏感度数据的重复评估。在该实施例中,敏感度处理器330在访问敏感度数据存储器350之前参考差错日志340,且如果差错先前未被检测到并输入到差错日志存储器340中,则敏感度处理器330仅访问敏感度数据存储器。
CRAM单元可用多种方式被映射到敏感度数据存储器350中的数据。在本发明的一个实施例中,敏感度数据存储器350对每一CRAM单元分配一敏感度比特。然而,这需要大量的敏感度数据存储器350。因此,在本发明的其它实施例中,敏感度数据存储器350对每一区域分配一敏感度比特,其中区域包括某些数目的CRAM单元。在本发明的该实施例中,敏感度数据存储器350访问是以CRAM单元地址的最高有效位来作出的。例如,ECC计算可标识比特差错的精确位置,但是敏感度数据可对每一2*2的CRAM矩形储存一敏感度比特,使得只需使用比特差错位置的一部分来确定其相关联的敏感度数据的相应位置。
在其它实施例中,与敏感度比特相关联的区域的大小可以变化,并且可对应于可编程装置的特定组件,诸如可编程互连线或可编程逻辑元件。例如,与敏感度比特相关联的区域可以是可编程逻辑元件的一部分,诸如可编程逻辑元件的查找表或寄存器部分。或者,区域可以是一个可编程逻辑元件或一组逻辑元件。其它区域可包括一个布线多路复用器或一组布线多路复用器,诸如与一逻辑阵列块相关联的所有布线多路复用器。在另外一些实施例中,可使用诸如树或散列表等更精细的数据结构来由敏感度数据表示配置存储器的区域。
通常,如果使用逻辑元件中的一个CRAM比特,则该逻辑元件作为用户设计的一部分被配置并且是需要的。在这一情况下,该逻辑元件中的每一CRAM比特是需要的。因此,在本发明的一个实施例中,对应于一个或多个逻辑元件的粗粒度区域可用于使用用于敏感度数据的非常少量的存储器来实现本发明,由此允许敏感度数据被储存在芯片上,尽管在某些实施例中,该数据被储存在芯片外,例如储存在配置装置360中。在本发明的一个特定实施例中,在可编程装置中的每一逻辑块或LAB包含使用的至少某些布线的假设下敏感度数据中可以不包括布线配置,使得将敏感度数据用于布线配置是冗余的。相反,可以有可利用敏感度信息的许多完全未使用的逻辑块或LAB。
在本发明的另一实施例中,可任选差错日志340较佳地位于管芯上以减少访问片外存储器的需求,但是敏感度数据存储器在相对少量的数据的情况下可位于片上,或者可位于片外,可能在配置装置360中。
在其中软差错位置可被标识到单个比特的其它实施例中,或在允许重新配置可编程装置CRAM的小区域的变体中,敏感度处理器可重新加载失效比特或比特区域的配置数据以修复该差错,使得后续的差错不会超出系统的检测能力。
具有冗余度的可编程装置的实施例对于由ECC处理器描述的位置信息可具有至少两种不同的效果。首先,差错位置可以对应于逻辑位置而非物理位置,因为数据可在对装置编程的期间移位。例如,数据可按行移位以避开坏行,(行包括许多相邻的LAB,通常是20到200)因此给定比特可以被物理地置于两个LAB行之一中。在这一情况下,数据可以按与写入相同的方式读回,从而跳过坏行,因此该移位在数据流中不是可见的。
相反,冗余度的第二方面可使得数据被处理,以使配置数据中的比特可取决于缺陷位置被更改或移动,从而使CRAM的内容不被容易地预测。例如,一个特定实施例取决于缺陷行的位置以及到该行的距离更改布线比特对的内容。在这些装置中,可使用大小至少是一对比特的区域。
本发明的实施例可以完全以可编程装置上的硬逻辑(即,可编程装置的专用的专门逻辑)或软逻辑(即,使用可编程装置的可编程逻辑资源创建的逻辑)或软和硬逻辑的组合来实现。例如,一组合实施例可在硬逻辑中安排ECC逻辑标识差错位置,并向编码该信息的可编程装置的核心提供信号。示例敏感度处理器330可从可编程装置核心中的软逻辑构造,从而允许在从差错位置映射到敏感度数据存储器地址时对算法进行本质上任意的选择。通常,如果敏感度数据小到足以适合在嵌入式存储器块中,则它可以位于片上,或者它可以如上所述位于片外。敏感度处理器330可被增至三倍以避免可编程装置中的软差错导致检错逻辑中的失效,并且敏感度数据可使用纠错来防止软差错导致失效。
图4是根据本发明的一个实施例的检测配置存储器中的差错的方法的流程图。在该方法中,装置最初被配置。在配置之后,执行对配置数据中的软差错的检查。这些检查可在周期性或非周期性的基础上执行。当检测到差错时,确定应用程序是否对该差错敏感。如果应用程序不对该差错敏感,则该差错被忽略。如果应用程序对该差错敏感,则可取决于本发明的该实施例的确切实现执行诸如提供标志、纠正差错、或重新配置装置等各种动作。
具体地,在动作400处,确定检错比特,并在动作402处,例如由软件确定敏感度数据。在动作410处,配置可编程装置,并且在动作412处,将检错比特和敏感度数据储存在可编程装置上。该装置可以是诸如可编程逻辑器件、现场可编程门阵列或其它装置等可编程装置。再一次,装置通常通过将配置数据写入多个CRAM单元来配置。在配置之后,可对储存在CRAM单元中的数据检查差错。这一检查可以在定期或周期性的基础上完成、它可以在某些事件之后完成、或者它可以遵循某一其它准则来完成。在动作420处,读回配置数据的一部分。在动作430处,读回对应的检错比特。
在动作440处,确定是否发生了软差错。如果没有发生软差错,则可在动作420处读回配置数据的下一部分。如果已发生了差错,则在动作450处读取对应的敏感度数据。该敏感度数据指示应用程序是否对该软差错敏感。在本发明的一个特定实施例中,如果差错发生在配置由应用程序使用的电路的CRAM单元中,则该应用程序对该差错敏感。
在动作460处,确定应用程序是否对该软差错敏感。如果否,则该差错可被忽略,并且可在动作420处读回下一配置数据。在动作480处,如果存在纠错电路,则如果可能,即使在应用程序不敏感时也纠正该差错。这防止差错累积并导致其中应用程序对其敏感的稍后的差错不能被纠正的情形。如果应用程序对差错敏感,则取决于本发明的特定实现,可进行各种活动。例如,可在动作470处提供差错标志。并且,或作为替换,可在动作472处重新配置该装置。并且,该可编程装置可包括纠错电路。在这一情况下,可在动作474处纠正差错。如果纠正了差错,则该装置可能无需在动作472处被重新配置。
再一次,为节省读取敏感度数据的时间,例如在动作450处,可保持应用程序对其不敏感的已知软差错的日志。这防止敏感度数据必须在每次检查具有应用程序对其不敏感的已知软差错的CRAM单元时被读取,或在报告非敏感差错时重复报告同一差错。一个示例在以下流程图中示出。
图5是根据本发明的一个实施例的检测差错的方法的流程图。再一次,装置最初被配置。在配置之后,执行对配置数据中的软差错的检查。当检测到差错时,确定该差错先前是否已作为应用程序对其不敏感的已知软差错被记入日志。如果它已被如此记入日志,则该差错可被忽略,且检查可继续进行。如果它未被记入日志,则确定应用程序是否对该差错敏感。如果应用程序不对该差错敏感,则该差错被记入日志以供将来的参考,且可被另外忽略或可能被纠正。如果应用程序对该差错敏感,则取决于本发明的实施例的确切实现可执行诸如提供标志、纠正差错、或重新配置装置等各种动作。
具体地,在动作510处,配置可编程装置。再一次,这可包括生成检错比特、敏感度数据并将该信息和配置数据储存在装置上。在动作520处,读回配置数据的一部分。在动作530处,读回对应的检错比特。
在动作540处,确定是否发生了软差错。如果没有发生软差错,则可在动作520处读回配置数据的下一部分。如果已发生了差错,则在动作550处确定该差错是否已作为应用程序对其不敏感的软差错被记入日志。如果它已被记入日志,则该差错可被忽略,并且检错可在动作520处继续进行。如果该软差错未被记入日志,则在动作560处,读取对应的敏感度数据。该敏感度数据指示应用程序是否对该软差错敏感。在动作570处,确定应用程序是否对该软差错敏感。如果否,则该差错可在动作590处被记入日志以供将来参考,且如果存在纠错电路,则该差错可能在动作592处被纠正,尽管诸如当多个比特发生差错时等某些差错不能被纠正。可在动作520处读回下一配置数据。如果应用程序对该差错敏感,则取决于本发明的特定实现,可进行各种活动。例如,可提供差错标志580。并且,或者作为替换,可在动作582处重新配置该装置。如果包括了纠错电路,则可在动作584处纠正该差错,在这一情况下,装置可能无需在动作582处被重新配置。
图6示出了其中可利用根据本发明的技术的示例性高密度可编程逻辑装置或FPGA 600的简化局部框图。PLD 600包括由变化的长度和速度的列和行互连的网络互连的可编程逻辑阵列块(或LAB)602的二维阵列。LAB 602包括多个(例如,10个)逻辑元件(或LE),LE是提供用户定义的逻辑功能的有效实现的小逻辑单元。
PLD 600还包括分布式存储器结构,包括遍及整个阵列设置的变化大小的RAM块。RAM块包括例如512位块604、4K块606以及提供512位的RAM的M块608。这些存储器块还可包括移位寄存器和FIFO缓冲器。PLD 600还包括可实现例如具有加法或减法功能的乘法器的数字信号处理(DSP)块610。
可以理解,PLD 600此处仅为说明的目的而描述,并且本发明可用许多不同类型的PLD、FPGA和其它类型的数字集成电路来实现。
尽管图6所示的类型的PLD或FPGA提供了实现系统级解决方案所需的许多资源,但是本发明也可有益于其中PLD是若干组件之一的系统。
图7示出了其中可实施本发明的示例性数字系统700的框图。系统700可以是已编程的数字计算机系统、数字信号处理系统、专用数字交换网络、或其它处理系统。此外,这些系统可为诸如电信系统、汽车系统、控制系统、消费者电子产品、个人计算机、因特网通信和联网以及其它等各种各样的应用而设计。此外,系统700可以被设置在单块板上、多块板上、或在多个外壳内。
系统700包括通过一条或多条总线互连在一起的处理单元702、存储器单元704以及输入/输出单元706。根据该示例性实施例,可编程逻辑装置(PLD)708被嵌入在处理单元702中。PLD 708可为图7的系统内的许多不同的目的来服务。例如,PLD 708可以是处理单元702的逻辑构件块,从而支持其内部和外部操作。PLD 708可被编程以实现在系统操作中扮演其特定角色所必需的逻辑功能。PLD708可以通过连接710特别耦合到存储器704并通过连接712特别耦合到输入/输出单元706。
处理单元702可以将数据定向到适当的系统组件以供处理或存储、执行储存在存储器704中的程序或经由输入/输出单元706接收和发送数据、或其它类似的功能。处理单元702可以是中央处理单元(CPU)、微处理器、浮点协处理器、图形协处理器、硬件控制器、微控制器、为用作控制器而编程的可编程逻辑装置、网络控制器等等。此外,在许多实施例中,通常无需CPU。
例如,代替CPU,一个或多个PLD 708可控制系统的逻辑操作。在一个实施例中kPLD 708用作可重新配置处理器,它可在需要时被重新编程以处理特定的计算任务。或者,可编程逻辑装置708本身可包括嵌入的微处理器。存储器单元704可以是随机存取存储器(RAM)、只读存储器(ROM)、固定或灵活盘介质、PC卡闪速盘存储器、磁带、或任何其它存储装置、或这些存储装置的任何组合。
本发明的示例性实施例的以上描述是为了说明和描述的目的而提出的。它并不旨在穷尽本发明或将其限于所描述的精确形式,并且鉴于以上的教导,许多修改和变化都是可能的。选择并描述这些实施例以最好地解释本发明的原理及其实际应用,由此使得本领域的其他技术人员能够在各实施例中最好地利用本发明并在适合所构想的特定使用时有各种修改。
Claims (20)
1.一种检测可编程装置的配置存储器中的差错的方法,所述方法包括:
从所述配置存储器读取配置存储器数据;
判断所述配置存储器数据中是否发生了差错;以及
响应于已发生差错的判断:
读取对应于发生差错的所述配置数据的敏感度数据;
分析所述敏感度数据以确定所述差错是否可被忽略;以及
如果所述差错不可被忽略,则发起一补救活动;否则
通过不发起补救活动来忽略所述差错。
2.如权利要求1所述的方法,其特征在于,所述通过不发起补救活动来忽略所述差错的动作还包括:
将所述差错的位置储存在差错日志中。
3.如权利要求2所述的方法,其特征在于,对所述已发生差错的判断的响应还包括:
在读取所述敏感度数据之前将所述差错的位置与差错日志进行比较;以及
仅当所述差错的位置先前未被储存在所述差错日志中时才读取所述敏感度数据。
4.如权利要求1所述的方法,其特征在于,是否已发生差错是使用检错比特来判断的,所述配置存储器被划分成区域,并且检错比特是对每一区域单独确定的。
5.如权利要求1所述的方法,其特征在于,所述补救活动包括纠正所述差错。
6.如权利要求1所述的方法,其特征在于,所述补救活动包括重新配置所述可编程装置。
7.如权利要求1所述的方法,其特征在于,所述敏感度数据是部分地基于由所述发生差错的配置数据配置的电路是否被运行在所述可编程装置上的应用程序所使用而生成的。
8.一种检查储存在可编程装置上的配置存储器中的配置数据中的差错的方法,其中所述配置数据为第一应用程序配置所述可编程装置,所述方法包括:
从所述配置存储器中读取所述配置数据的一部分;
读取对应于所述配置数据的所述部分的多个检错比特的一部分;
确定所述配置数据的所述部分中是否有软差错,以及如果有,则
确定所述软差错是否对所述第一应用程序产生有害的影响,以及如果是,则
提供已发生软差错的指示;否则
不提供所述已发生软差错的指示,其中
确定所述软差错是否对所述第一应用程序产生有害的影响是通过从存储器中读取敏感度数据来完成的。
9.如权利要求8所述的方法,其特征在于,还包括:
在读取所述配置数据的所述部分之前,从配置装置读取所述配置数据并将所述配置数据存储在所述配置存储器中。
10.如权利要求9所述的方法,其特征在于,还包括:
在从所述配置存储器读取所述配置数据之前,使用所述配置数据确定所述多个检错比特。
11.如权利要求10所述的方法,其特征在于,还包括:
将所述多个检错比特储存在所述可编程装置上。
12.如权利要求8所述的方法,其特征在于,还包括:
如果确定所述软差错会对所述第一应用程序产生有害影响,则
纠正所述软差错。
13.如权利要求8所述的方法,其特征在于,还包括:
如果确定所述软差错会对所述第一应用程序产生有害影响,则
重新配置所述可编程装置。
14.一种集成电路,包括:
储存配置数据的第一多个存储单元;
储存检错比特的第二多个存储单元;
储存敏感度数据的第三多个存储单元;
配置控制器,用于接收包括所述配置数据、检错比特和敏感度数据的配置数据流,并将所述配置数据写入所述第一多个存储单元、将所述检错比特写入所述第二多个存储单元、以及将所述敏感度数据写入所述第三多个存储单元;
检错电路,用于从所述第一多个存储单元读取配置数据并从所述第二多个存储单元读取检错比特,以及确定所述配置数据中是否已发生了差错,且如果是,则提供其中已发生了所述差错的第一存储单元中的第一个的地址的至少一部分;
敏感度处理器,用于接收所述地址的至少一部分,并接收对应于所述地址的至少一部分的敏感度数据,以及确定运行在所述集成电路上的应用程序是否对已发生的所述差错敏感。
15.如权利要求14所述的集成电路,其特征在于,当发生差错且所述应用程序对所述差错敏感时,所述配置数据被写入其中发生所述差错的所述第一存储单元中。
16.如权利要求15所述的集成电路,其特征在于,还包括:
纠正由所述检错电路检测到的差错的纠错电路。
17.如权利要求16所述的集成电路,其特征在于,无论所述应用程序是否对已发生的所述差错敏感,所述纠错电路都纠正由所述检错电路检测到的差错。
18.如权利要求14所述的集成电路,其特征在于,当发生差错且所述应用程序对所述差错敏感时,重新配置所述集成电路。
19.如权利要求14所述的集成电路,其特征在于,所述敏感度数据的多个比特是部分地基于所述可编程装置的哪些部分被所述应用程序所使用而确定的。
20.如权利要求14所述的集成电路,其特征在于,所述敏感度数据的多个比特中的每一个是部分地基于所述可编程装置的对应部分是否被所述应用程序所使用而确定的。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79394606P | 2006-04-21 | 2006-04-21 | |
US60/793,946 | 2006-04-21 | ||
US11/737,089 US7702978B2 (en) | 2006-04-21 | 2007-04-18 | Soft error location and sensitivity detection for programmable devices |
US11/737,089 | 2007-04-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101063948A CN101063948A (zh) | 2007-10-31 |
CN101063948B true CN101063948B (zh) | 2011-10-05 |
Family
ID=38309986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101013988A Expired - Fee Related CN101063948B (zh) | 2006-04-21 | 2007-04-23 | 可编程装置的软差错定位和敏感度检测 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7702978B2 (zh) |
EP (1) | EP1848001B1 (zh) |
JP (1) | JP4960137B2 (zh) |
CN (1) | CN101063948B (zh) |
DE (1) | DE602007012165D1 (zh) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512850B2 (en) | 2005-07-15 | 2009-03-31 | Tabula, Inc. | Checkpointing user design states in a configurable IC |
US8069425B2 (en) | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
US7839162B2 (en) | 2007-06-27 | 2010-11-23 | Tabula, Inc. | Configurable IC with deskewing circuits |
US8990651B2 (en) * | 2007-09-19 | 2015-03-24 | Tabula, Inc. | Integrated circuit (IC) with primary and secondary networks and device containing such an IC |
GB2458260A (en) * | 2008-02-26 | 2009-09-16 | Advanced Risc Mach Ltd | Selectively disabling error repair circuitry in an integrated circuit |
US7550730B1 (en) | 2008-04-08 | 2009-06-23 | International Business Machines Corporation | Method for detecting alpha particles in SOI technology |
US7875854B2 (en) * | 2008-04-08 | 2011-01-25 | International Business Machines Corporation | Design structure for alpha particle sensor in SOI technology and structure thereof |
WO2010016857A1 (en) | 2008-08-04 | 2010-02-11 | Tabula, Inc. | Trigger circuits and event counters for an ic |
US8433950B2 (en) * | 2009-03-17 | 2013-04-30 | International Business Machines Corporation | System to determine fault tolerance in an integrated circuit and associated methods |
US7948792B1 (en) | 2009-04-15 | 2011-05-24 | Altera Corporation | Memory and techniques for using same |
US8037343B2 (en) * | 2009-09-15 | 2011-10-11 | Verizon Patent And Licensing, Inc. | Trap-based configuration audit |
US8072234B2 (en) | 2009-09-21 | 2011-12-06 | Tabula, Inc. | Micro-granular delay testing of configurable ICs |
JP5348418B2 (ja) * | 2009-11-19 | 2013-11-20 | 横河電機株式会社 | コントローラ |
CN101834611B (zh) * | 2010-05-06 | 2012-11-21 | 复旦大学 | 一种纠正多比特错误的ecc电路 |
US9081062B1 (en) * | 2010-08-27 | 2015-07-14 | Altera Corporation | Memory error detection and correction circuitry |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8890567B1 (en) * | 2010-09-30 | 2014-11-18 | Altera Corporation | High speed testing of integrated circuits including resistive elements |
US8522126B1 (en) | 2010-12-22 | 2013-08-27 | Lattice Semiconductor Corporation | Blocking memory readback in a programmable logic device |
US8843808B2 (en) | 2011-06-30 | 2014-09-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method to flag a source of data corruption in a storage subsystem using persistent source identifier bits |
US8572538B2 (en) | 2011-07-01 | 2013-10-29 | Altera Corporation | Reconfigurable logic block |
CN103309765B (zh) * | 2012-03-08 | 2016-02-24 | 深圳迈瑞生物医疗电子股份有限公司 | 一种在线配置可编程器件的方法 |
US9230683B2 (en) * | 2012-04-25 | 2016-01-05 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and driving method thereof |
US9104639B2 (en) | 2012-05-01 | 2015-08-11 | SEAKR Engineering, Inc. | Distributed mesh-based memory and computing architecture |
US9166598B1 (en) | 2012-05-08 | 2015-10-20 | Altera Corporation | Routing and programming for resistive switch arrays |
WO2014054345A1 (ja) * | 2012-10-01 | 2014-04-10 | 太陽誘電株式会社 | 半導体装置 |
WO2014115289A1 (ja) * | 2013-01-25 | 2014-07-31 | 株式会社日立製作所 | プログラマブルデバイス及び電子システム装置 |
US9612900B2 (en) | 2013-03-15 | 2017-04-04 | SEAKR Engineering, Inc. | Centralized configuration control of reconfigurable computing devices |
US9154137B2 (en) | 2013-07-04 | 2015-10-06 | Altera Corporation | Non-intrusive monitoring and control of integrated circuits |
US9223715B2 (en) | 2013-08-21 | 2015-12-29 | Via Alliance Semiconductor Co., Ltd. | Microprocessor mechanism for decompression of cache correction data |
US9348690B2 (en) * | 2013-08-21 | 2016-05-24 | Via Alliance Semiconductor Co., Ltd. | Correctable configuration data compression and decompression system |
US8982655B1 (en) | 2013-08-21 | 2015-03-17 | Via Technologies, Inc. | Apparatus and method for compression and decompression of microprocessor configuration data |
WO2015045135A1 (ja) * | 2013-09-30 | 2015-04-02 | 株式会社日立製作所 | プログラマブルロジックデバイス、及び、論理集積ツール |
US9601217B1 (en) | 2013-10-25 | 2017-03-21 | Altera Corporation | Methods and circuitry for identifying logic regions affected by soft errors |
WO2015068285A1 (ja) * | 2013-11-08 | 2015-05-14 | 株式会社日立製作所 | プログラマブルデバイス及びこれを用いた電子システム装置 |
JP6290934B2 (ja) * | 2014-01-24 | 2018-03-07 | 株式会社日立製作所 | プログラマブルデバイス、エラー保持システム、及び電子システム装置 |
JP6151655B2 (ja) * | 2014-03-11 | 2017-06-21 | ファナック株式会社 | 数値制御装置 |
JP2015201813A (ja) * | 2014-04-10 | 2015-11-12 | 株式会社日立製作所 | プログラマブルゲートアレイ |
JP2015201814A (ja) * | 2014-04-10 | 2015-11-12 | 株式会社日立製作所 | プログラマブルゲートアレイ及び電子装置 |
US9395802B2 (en) | 2014-05-22 | 2016-07-19 | Via Alliance Semiconductor Co., Ltd. | Multi-core data array power gating restoral mechanism |
US9606933B2 (en) | 2014-05-22 | 2017-03-28 | Via Alliance Semiconductor Co., Ltd. | Multi-core apparatus and method for restoring data arrays following a power gating event |
US9665490B2 (en) | 2014-05-22 | 2017-05-30 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for repairing cache arrays in a multi-core microprocessor |
US9524241B2 (en) | 2014-05-22 | 2016-12-20 | Via Alliance Semiconductor Co., Ltd. | Multi-core microprocessor power gating cache restoral mechanism |
US9678864B2 (en) * | 2014-12-03 | 2017-06-13 | Seagate Technology Llc | Data reallocation upon detection of errors |
US9910705B1 (en) * | 2015-02-18 | 2018-03-06 | Altera Corporation | Modular offloading for computationally intensive tasks |
JP2016167669A (ja) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | プログラマブル論理回路装置及びそのエラー検出方法 |
US11055177B2 (en) * | 2015-03-31 | 2021-07-06 | Pure Storage, Inc. | Correlating operational information with an error condition in a dispersed storage network |
US10437666B2 (en) | 2015-08-06 | 2019-10-08 | Nxp B.V. | Integrated circuit device and method for reading data from an SRAM memory |
US10223197B2 (en) * | 2015-08-06 | 2019-03-05 | Nxp B.V. | Integrated circuit device and method for applying error correction to SRAM memory |
JP6145482B2 (ja) * | 2015-08-13 | 2017-06-14 | 富士通株式会社 | 伝送装置および故障検出方法 |
JP2017041182A (ja) * | 2015-08-21 | 2017-02-23 | ファナック株式会社 | 数値制御装置 |
US10268375B2 (en) * | 2016-05-27 | 2019-04-23 | Netapp, Inc. | Methods for proactive prediction of disk failure in the disk maintenance pipeline and devices thereof |
GB2550929A (en) * | 2016-05-31 | 2017-12-06 | Advanced Risc Mach Ltd | An apparatus and method for generating an error code for a block comprising a plurality of data bits and a plurality of address bits |
JP6880795B2 (ja) * | 2017-02-08 | 2021-06-02 | オムロン株式会社 | 制御装置およびその制御方法 |
US10578669B2 (en) * | 2017-07-10 | 2020-03-03 | Deny Hanan | Portable device for soft errors testing |
JP7104525B2 (ja) | 2018-02-21 | 2022-07-21 | 日立Astemo株式会社 | 電子制御装置、構成メモリのエラー検出方法 |
JP7268554B2 (ja) * | 2019-09-17 | 2023-05-08 | オムロン株式会社 | 制御装置および制御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104211A (en) * | 1998-09-11 | 2000-08-15 | Xilinx, Inc. | System for preventing radiation failures in programmable logic devices |
CN1653553A (zh) * | 2002-05-15 | 2005-08-10 | 国际商业机器公司 | 具有检查和纠错的内容可寻址存储器(cam) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4369511A (en) | 1979-11-21 | 1983-01-18 | Nippon Telegraph & Telephone Public Corp. | Semiconductor memory test equipment |
USRE38651E1 (en) | 1994-05-18 | 2004-11-09 | Altera Corporation | Variable depth and width memory device |
US5867422A (en) | 1995-08-08 | 1999-02-02 | University Of South Florida | Computer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring |
US5793943A (en) * | 1996-07-29 | 1998-08-11 | Micron Electronics, Inc. | System for a primary BIOS ROM recovery in a dual BIOS ROM computer system |
US5870350A (en) | 1997-05-21 | 1999-02-09 | International Business Machines Corporation | High performance, high bandwidth memory bus architecture utilizing SDRAMs |
US6242767B1 (en) | 1997-11-10 | 2001-06-05 | Lightspeed Semiconductor Corp. | Asic routing architecture |
US6553523B1 (en) | 1999-08-13 | 2003-04-22 | Jeffrey V. Lindholm | System and method for verifying configuration of a programmable logic device |
US7363422B2 (en) | 2000-01-05 | 2008-04-22 | Rambus Inc. | Configurable width buffered module |
US6530049B1 (en) * | 2000-07-06 | 2003-03-04 | Lattice Semiconductor Corporation | On-line fault tolerant operation via incremental reconfiguration of field programmable gate arrays |
JP3747817B2 (ja) * | 2001-07-27 | 2006-02-22 | 日本電気株式会社 | メモリ制御回路及びメモリ制御方法 |
US6838899B2 (en) * | 2002-12-30 | 2005-01-04 | Actel Corporation | Apparatus and method of error detection and correction in a radiation-hardened static random access memory field-programmable gate array |
US7328377B1 (en) * | 2004-01-27 | 2008-02-05 | Altera Corporation | Error correction for programmable logic integrated circuits |
US7620876B2 (en) * | 2005-06-08 | 2009-11-17 | Altera Corporation | Reducing false positives in configuration error detection for programmable devices |
US7529992B1 (en) * | 2006-03-27 | 2009-05-05 | Tabula, Inc. | Configurable integrated circuit with error correcting circuitry |
US7542324B1 (en) | 2006-04-17 | 2009-06-02 | Altera Corporation | FPGA equivalent input and output grid muxing on structural ASIC memory |
-
2007
- 2007-04-18 US US11/737,089 patent/US7702978B2/en active Active
- 2007-04-20 EP EP07008104A patent/EP1848001B1/en active Active
- 2007-04-20 DE DE602007012165T patent/DE602007012165D1/de active Active
- 2007-04-20 JP JP2007112429A patent/JP4960137B2/ja active Active
- 2007-04-23 CN CN2007101013988A patent/CN101063948B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104211A (en) * | 1998-09-11 | 2000-08-15 | Xilinx, Inc. | System for preventing radiation failures in programmable logic devices |
CN1653553A (zh) * | 2002-05-15 | 2005-08-10 | 国际商业机器公司 | 具有检查和纠错的内容可寻址存储器(cam) |
Non-Patent Citations (1)
Title |
---|
JP特开2005-332544A 2005.12.02 * |
Also Published As
Publication number | Publication date |
---|---|
CN101063948A (zh) | 2007-10-31 |
DE602007012165D1 (de) | 2011-03-10 |
JP2007293856A (ja) | 2007-11-08 |
EP1848001A1 (en) | 2007-10-24 |
JP4960137B2 (ja) | 2012-06-27 |
US7702978B2 (en) | 2010-04-20 |
EP1848001B1 (en) | 2011-01-26 |
US20070283193A1 (en) | 2007-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101063948B (zh) | 可编程装置的软差错定位和敏感度检测 | |
Meza et al. | Revisiting memory errors in large-scale production data centers: Analysis and modeling of new trends from the field | |
CN100578462C (zh) | 降低时钟同步双模冗余系统中错误率的装置、方法和系统 | |
CN105589762B (zh) | 存储器装置、存储器模块和用于纠错的方法 | |
US8255773B2 (en) | System and method of tracking error data within a storage device | |
US7334159B1 (en) | Self-testing RAM system and method | |
US20140164839A1 (en) | Programmable device, method for reconfiguring programmable device, and electronic device | |
US20100241900A1 (en) | System to determine fault tolerance in an integrated circuit and associated methods | |
US20190019569A1 (en) | Row repair of corrected memory address | |
JP6290934B2 (ja) | プログラマブルデバイス、エラー保持システム、及び電子システム装置 | |
US20170192843A1 (en) | Error counters on a memory device | |
Du et al. | Predicting uncorrectable memory errors for proactive replacement: An empirical study on large-scale field data | |
US20070260934A1 (en) | Automated hardware parity and parity error generation technique for high availability integrated circuits | |
US9230687B2 (en) | Implementing ECC redundancy using reconfigurable logic blocks | |
US9009548B2 (en) | Memory testing of three dimensional (3D) stacked memory | |
Zivanovic et al. | DRAM errors in the field: A statistical approach | |
CN113742123A (zh) | 内存故障信息记录方法及设备 | |
KR102440704B1 (ko) | 예측 메모리 관리 | |
Lee et al. | Evaluation of error detection coverage and fault-tolerance of digital plant protection system in nuclear power plants | |
CN103389921A (zh) | 信号处理电路以及使用了该信号处理电路的试验装置 | |
Nguyen et al. | OBET: On-the-fly byte-level error tracking for correcting and detecting faults in unreliable DRAM systems | |
Dattatraya Dixit et al. | Optimizing interrupt handling performance for memory failures in large scale data centers | |
Rajesh et al. | Fault tolerance in multicore processors with reconfigurable hardware unit | |
CN117687823A (zh) | 一种内存故障类型确定方法和服务器 | |
Pan et al. | A fault-tolerant program memory unit for on-board computer |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111005 Termination date: 20210423 |