容错触发器的制作方法

文档序号:6738819阅读:190来源:国知局
专利名称:容错触发器的制作方法
技术领域
本发明涉及存储器电路、集成电路以及用于从存储器电路去除错误的影响的方法。
背景技术
为了确保计算机系统的可靠性,可检测并校正电子存储器结构中存储的数据中的错误。已经通过使用校验位(parity bit)来检测存储器中的错误。校验位是可添加到存储器结构以确保存储器中存储的数据的完整性的 位。每当数据被写入到存储器,逻辑电路(例如,校验生成电路)就检查数据并确定高数据状态(例如,“I的”)的数量。基于高数据状态的数量来计算存储器中存储的数据的校验。在偶校验位的情况下,逻辑电路当存储器中的高数据状态的数量是偶数时将计算等于“ I ”的校验位值,并且当存储器中的高数据状态的数量是奇数时将计算等于“0”的校验位值。也可能具有奇校验位,其中,逻辑电路当存储器中的高数据状态的数量是奇数时将计算等于“ I ”的校验位值,并且当存储器中的高数据状态的数量是偶数时将计算等于“0”的校验位值。当从存储器回读数据时,逻辑电路回读位并再次确定校验位值(例如,是否存在奇数或偶数数量的位)。校验位值的比较可以检测存储器中的错误。例如,图I示出了存储器102的框图,该存储器102被配置为在数据被写入到存储器中时的第一时间T1处以及在从存储器读取数据时的稍后时间T2处存储包括八个数据位104a至104g和校验位106的数据字节。在时间T1处,存储器102存储具有奇数个数据值为“I”的位的数据字节(例如,104b、104e、104f),导致偶校验位106具有值“I”。在时间T1和时间T2之间,发生使存储器元件104d中存储的数据位的值从“0”变为“I”的事件。所以,在稍后时间T2处,存储器102'存储具有偶数个数据值为“I”的位的数据字节(例如,104b、104d、104e、104f),导致偶校验位106具有值“O”。因为在时间T1处校验位106的值不同于时间T2处校验位106的值,所以在存储器中存在错误。校验位可容易地检测单个位错误,但是使用校验位来校正数据(例如,如海明编码方案(Hamming-Code schemes)中所做的)要求集成电路的硬件和能耗大大增加,所以是不令人满意的。可替代地,可通过多数决策器或表决器的实现来检测和校正数据。然而,这种方法也会使用大芯片面积并耗费大量电力。

发明内容
为此,本发明提出了一种存储器电路,包括多个存储器元件对,各自被配置为存储数据单元,其中,各个存储器元件对包括第一存储器存储元件和第二存储器存储元件;以及校验位比较逻辑,被配置为基于写入到多个存储器元件对的数据计算第一校验位并且基于从第二存储器存储元件读取的数据计算实时的第二校验位,存储第一校验位,并且基于所存储的第一校验位和实时的第二校验位之间的关系生成提供至一个以上选择电路的控制信号,其中,如果关系指示在第二存储器存储元件中不存在错误,则控制信号使一个以上选择电路选择性地从该第二存储器存储元件输出数据,或者如果关系指示在第二存储器存储元件中存在错误,则控制信号使一个以上选择电路选择性地从第一存储器存储元件输出数据。其中,校验位比较逻辑可以包括第一校验生成电路,被配置为基于写入到多个存储器元件对的数据计算第一校验位;校验位存储器存储元件,被配置为存储第一校验位;第二校验生成电路,被配置为基于从第一存储器存储元件读取的数据计算实时的第二校验位;以及控制单元,被配置为接收所存储的第一校验位和实时的第二校验位,并且执行第一校验位与第二校验位之间的比较以确定第一校验位和第二校验位之间的关系。其中,控制单元可以包括XOR逻辑门。其中,各个选择电路可以包括 多路复用器,改多路复用器被配置为基于控制信号选择性地从第一存储器存储元件或第二存储器存储元件输出数据。其中,存储器电路的组件可以包括在单个集成芯片布局标准单元内。其中,存储器电路的组件可以被分为多于一个集成芯片布局标准单元。其中,第一存储器存储元件和第二存储器存储元件可以包括触发器。其中,多个存储器元件对可以包括第一存储器元件对和第二存储器元件对,并且,其中,校验位比较逻辑可以空间上被设置在第一存储器元件对与第二存储器元件对之间的位置处。其中,多个存储器元件对可以预定最小距离隔开。其中,各个存储器元件对的第一存储器存储元件和第二存储器存储元件可以预定最小距离隔开。本发明还提出了一种集成电路,包括存储器电路,该存储器电路被包括在一个以上集成芯片布局标准单元内,该存储器电路包括多个存储器元件对,各自被配置为存储数据单元,其中,各个存储器元件对包括第一存储器存储元件和第二存储器存储元件;第一校验生成电路,被配置为基于写入到多个存储器元件对的数据计算第一校验位,其中,第一校验位被存储在校验位存储器存储元件中;第二校验生成电路,被配置为基于从第二存储器存储元件读取的数据计算实时的第二校验位;控制单元,被配置为接收并比较所存储的第一校验位与实时的第二校验位以确定第一校验位与第二校验位之间的关系;以及多个选择电路,被配置为如果第一校验位与第二校验位之间存在第一预定关系,则选择性地从第一存储器存储元件输出数据,并且如果第一校验位与第二校验位之间存在第二预定关系,则选择性地从第二存储器存储元件输出数据。其中,第一存储器存储元件和第二存储器存储元件可以包括触发器。其中,多个存储器元件对可以包括第一存储器元件对和第二存储器元件对,并且其中,第一校验生成电路、第二校验生成电路和控制单元可被置于在空间上位于第一存储器元件对与第二存储器元件对之间的位置处。其中,存储器电路可被包括在单个集成芯片布局标准单元内。其中,多个存储器元件对可以预定最小距离隔开,并且其中,各个存储器元件对的第一存储器存储元件和第二存储器存储元件可以预定最小距离隔开。本发明还提出了一种用于从存储器电路去除错误的影响的方法,包括从写入到多个存储器元件对的数据值生成第一校验位,多个存储器元件对各自包括第一存储器存储元件和第二存储器存储元件;在校验位存储器存储元件中存储第一校验位;从第二存储器存储元件中存储的数据值生成实时的第二校验位;以及基于所存储的第一校验位与实时的第二校验位之间的关系选择从第一存储器存储元件或第二存储器存储元件输出数据,其中,如果关系指示在第二存储器存储元件中不存在错误,则从该第二存储器存储元件输出数据,或者如果关系指示在第二存储器存储元件中存在错误,则从第一存储器存储元件输出数据。该方法还可包括将所存储的第一校验位与实时的第二校验位进行比较,以确定所存储的第一校验位与实时的第二校验位之间的关系。其中,如果所存储的第一校验位等于实时的第二校验位,则选择从第二存储器存储元件输出数据,并且其中,如果所存储的第一校验位不等于实时的第二校验位,则选择从第一存储器存储元件输出数据。 存储器元件对可被包括在多于一个集成芯片布局标准单元内。存储器元件对可被包括在单个集成芯片布局标准单元内。


图I示出了第一和第二时间处具有偶校验位的示例性数据字节;图2示出了容错存储器电路的第一实施方式的框图;图3示出了容错存储器电路的更具体实例的框图;图4a示出了当存储器中不存在错误时3位容错存储器电路的示例性操作;图4b示出了当存储器中存在错误时3位容错存储器电路的示例性操作;图5示出了具有包括容错存储器电路(其被包括在较大IC布局内)的标准单元的集成芯片(IC)布局的示例性框图;图6示出了容错存储器电路,其中,各个存储器组件以最小距离隔开;图7示出了具有被包括在多个标准单元内的容错存储器电路的集成芯片布局的示例性框图;图8a示出了 2位容错存储器电路的可选实施方式的框图,该电路包括对称地配置在校验位比较逻辑周围的两个存储器元件对;图Sb示出了当存储器中存在错误时图8a的容错存储器电路的示例性操作;图9是示出了用于从存储器阵列去除错误的影响的方法的流程图。
具体实施例方式现在将参考附图描述本发明,其中,相同的附图标号自始至终用于表示相同的要素,并且其中所示的结构和装置不必按照比例绘制。本发明的一些方面提供了具有能够容许单个易失性软错误和永久错误的低硬件开销的容错存储器电路。在一个实施方式中,方法和设备包括具有多个存储器单元对的存储器电路,各个存储器单元对具有配置为存储数据单元的两个存储器存储元件(memorystorage element)。一个以上校验生成电路被配置为从写入到多个存储器元件对(例如,两个存储器存储元件)的数据计算第一校验位,并且从自多个存储器元件对中的两个存储器存储元件之一读取的数据计算第二校验位。基于计算出的第一和第二校验位,存储器电路选择从未知包含数据错误的存储器存储元件选择性地输出数据。例如,在一个实施方式中存储器电路包括多个存储器元件对,该多个存储器元件对各自具有被配置为存储数据位的第一存储器存储元件和第二存储器存储元件。第一校验生成电路被配置为基于写入到多个存储器元件对的数据来计算第一校验位,而第二校验生 成电路被配置为基于从第二存储器存储元件读取的数据来计算第二校验位。第一和第二校验位被提供到控制单元,该控制单元被配置为将存储的第一校验位的副本与实时的第二校验位进行比较,并基于比较生成控制信号。控制信号被提供到一个以上选择电路,如果第一与第二校验位之间的关系指示在第一存储器存储元件中不存在错误,则该选择电路选择性地从第一存储器存储元件输出数据,或者如果第一与第二校验位之间的关系指示在第一存储器存储元件中存在错误,则该选择电路选择性地从第二存储器存储元件输出数据。图2示出了容错存储器电路200的第一实施方式的框图。如图2中所示,存储器
电路200包括多个输入节点INa.....INn,这些输入节点被配置为将数据提供给多个存储器
元件对203a、…、203n。各个存储器元件对203具有被配置为存储数据单元的第一存储器存储元件202 (例如,触发器、锁存器等)和第二存储器存储元件204。在一个实施方式中,各个存储器单元(例如,203a、…、203n)内的第一和第二存储器存储元件可被配置为冗余地存储包括在各个输入节点INx处提供的单个二进制数据值的数据单元,使得两个存储器存储元件(例如,202a和204a)分配给各个二进制数据值的存储(例如,在正常、无错操作期间第一和第二存储器存储元件将存储相同的单个二进制数据值)。在可选的实施方式中,第一和第二存储器存储元件可被配置为存储包括字长为m(其中m> I)的几个二进制数据值的数据单元,或可通过使用不同的阈值被解释为字长m的二进制值的模拟值。存储器元件对203的输入和输出被耦合到校验位比较逻辑205,该校验位比较逻辑205被配置为从写入到多个存储器元件对的数据计算第一校验位并且从自多个存储器元件对中的两个存储器存储元件之一读取的数据计算第二校验位。在一个实施方式中,校验位比较逻辑205可包括第一校验生成电路206、校验位存储元件208、第二校验生成电路210和控制单元212。耦合到存储器电路200的输入节点INx的第一校验生成电路206被配置为基于写入到多个存储器元件对203a、…、203n的数据来计算第一校验位值。第一校验位值由第一校验生成电路206提供到校验位存储元件208,该校验位存储元件被配置为存储与多个元件对203a、...、203n中存储的数据相对应的第一校验位值。耦合到第二存储器存储元件204a、->204n的输出的第二校验生成电路210被配置为基于从第二存储器存储元件204a、-,204n读取的数据的值来计算实时的第二校验位值。存储的第一校验位的值和第二实时的校验位被提供到控制单元212。应了解,在一个实施方式中,第二校验生成电路210和控制单元212可包括单个逻辑单元211。控制单元212被配置为基于接收的第一和第二校验位值来生成控制信号Sem。控制信号Scm被提供到多个选择电路214a、…、214n,该多个选择电路各自被配置为输出从存储在第一存储器存储元件202中的数据或存储在第二存储器存储元件204中的数据选择的数据。在各实施方式中,控制单元212可包括各种逻辑元件。在一个实例中,控制单元212可包括异或(XOR)门,使得如果第一和第二校验位相等时输出低数据状态,而如果第一和第二校验位不相等时输出高数据状态。可替代地,控制单元212可包括某些其他类型的逻辑电路(例如,XNOR门)。在一个实施方式中,控制单元212可配置为将存储的第一校验位的值与实时的第二校验位进行比较。如果在第二存储器存储元件204a、…、204n中不存在错误,则比较将指示写入到第二存储器存储元件的数据与从第二存储器存储元件读出的数据相同。因此,控制单元212将控制信号Sem提供到选择电路214,使选择电路输出第二存储器存储元件204中存储的数据。如果在第二存储器存储元件204之一中存在错误,则第一和第二校验位将指示写入到第二存储器存储元件的数据与从第二存储器存储元件读出的数据不同。因此,为了不输出已知不正确的数据,控制单元212将控制信号Sem提供到选择电路214,使选择电路输出第一存储器存储元件202中存储的数据(例如,未知不正确的存储数据)。虽然图2描述了耦合到第二存储器存储元件204的输出的第二校验生成电路210,但是应了解,第二校验生成电路210可耦合到或者第 一存储器存储元件202a、-,202n或者第二存储器存储元件204a、…、204n。而且,对于具有两个存储元件的各个存储器元件对203,可以单独地确定第二校验生成电路210是耦合到第一存储元件还是第二存储元件的输出。例如,第二校验生成电路210可耦合到第一存储器元件对203a的第一存储元件202a的输出、第二存储器元件对的第二存储元件的输出、第三存储器元件对的第二存储元件的输出、第四存储器元件对的第一存储元件的输出等。无论在哪种情况下,如果由第二校验生成电路210生成的第二校验位值指示在第二校验生成电路所耦合至的存储器存储元件中存储的数据中不存在错误,则控制单元212将生成控制信号,该控制信号使选择电路214从第二校验生成电路所耦合至的存储器存储元件输出数据。类似地,如果由第二校验生成电路生成的第二校验位值指示第二校验生成电路所耦合至的存储器存储元件中存储的数据中存在错误,则控制单元212将生成控制信号,该控制信号使选择电路214从第二校验生成电路未耦合至的存储器存储元件输出数据。所以,存储器电路被配置为选择性地输出已知不包含数据错误的数据(例如,图2中第二存储器存储元件204)或者其将输出未知包含数据错误的数据(例如,图2中第一存储器存储元件202)。如这里所述的,校验位或校验位值可以指偶或奇校验位。在各实施方式中,第一和第二校验位可包括偶校验位、奇校验位或偶和奇校验位的组合。例如,在一个实施方式中,第一和第二校验位可以指正校验位。在可选的实施方式中,这里所述的第一和第二校验位可以指奇校验位。在又一个实施方式中,第一校验位可包括偶校验位而第二校验位可包括奇校验位,反之亦然。本领域的普通技术人员应了解校验位为偶或奇校验位的选择可指定控制单元的具体逻辑功能性。而且,为了使表示简单,在下面的描述中对于存储器存储元件中存储的单个位的情况(例如,关于图3,存储器存储元件存储包括数据位的数据单元)而描述本发明。然而,本领域的普通技术人员应了解,存储器存储元件中单个数据位的存储不是本发明的限制性的实施方式。例如,在各实施方式中存储器存储元件可存储具有可能的单个位的值“0”或“ I ”的单个二进制值b,字长m的几个二进制值K、…、bm (其中m > I),或者可通过使用不同的阈值被解释为字长m的二进制值的模拟值。对于m> I的实施方式,存储器存储元件中存储的数据单元的校验可简单地计算为存储的二进制值的XOR和。图3示出了容错存储器电路300的更具体的实施方式的框图。如图3中所示,存储器包括被配置为n个存储器元件对303的多个2n触发器,该n个存储器元件对分别包括配置为存储数据位的两个触发器,302和304。存储器元件对303被耦合到校验位比较逻辑305,该校验位比较逻辑305包括第一逻辑元件306、校验位存储触发器308、第二逻辑元件310和控制单元312。第一逻辑元件306被配置为从写入到2n触发器的n个位数据生成第一校验位。基于n个位数据中高数据状态的数量,形成第一校验位并将其存储在校验位存储触发器308中。第二逻辑元件310被配置为基于从2n触发器读取的n个位数据中高数据状态的数量生成实时的第二校验位。包括异或门(X0R门)的控制单元312被配置为接收来自校验位存储触发器308的第一校验位的副本和由第二逻辑元件310计算的实时的第二校验位。XOR门输出被提供到多个多路复用器314a、...、314n的控制信号Sem。控 制信号Sem选择存储器元件对303x (其中x = a、中两个触发器302或304中的哪一个被选择以提供作为输出的数据。例如,如果第一和第二校验位相等(例如,都为“0”或都为“I”),校验为真,指示在触发器304中不存在错误。所以,从触发器304输出数据。如果第一和第二校验位不相等(例如,“I”和“0”或“0”和“I”),则校验为假,指示触发器304中存在错误。从而,从触发器302输出数据。图4a示出了示例性框图,该框图示出了不具有错误的3位容错存储器电路400的操作。如图4a中所示,高数据状态(“I”)被写入到三个存储器元件对403a、403b和403c中的每个。例如,高数据状态(“I”)被写入到第一存储器元件对403a、第二存储器元件对403b和第三存储器元件对403c的存储器存储元件402和404。第一逻辑元件406被配置为从写入到存储器元件对403的每个的数据生成第一校验位。如图4a中所示,由于高数据状态被写入到三个存储器元件对的每个,所以第一逻辑元件406计算出具有值“I”的第一偶校验位。第一校验位被存储在校验位存储器存储元件408中。第二逻辑元件410被配置为从自存储器存储元件404a、404b和404c读取的数据计算第二校验位。如图4a中所示,由于在存储器存储元件404a、404b和404c中不存在错误,所以第二逻辑元件410计算出具有值“I”的第二偶校验位。存储的第一校验位的值和实时的第二校验位的值被提供到XOR门412。由于校验位的每个均具有高数据状态(“I”),所以XOR门412将低数据状态(“0”)输出到多路复用器414的每个,其使多路复用器414选择性地从存储器存储元件404输出数据。例如,多路复用器414a接收具有值“0”的控制信号,其使多路复用器414a输出从存储器存储元件404a输入到多路复用器(在输入节点IN/处)的数据。所以,存储器电路400以选择使用确定不包含已知数据错误的存储器存储元件的方式输出数据。图4b示出了示例性框图,该框图示出存在错误的3位容错存储器电路416的操作。如图4b中所示,高数据状态(“I”)被写入到三个存储器元件对403a、403b和403c的每个。例如,高数据状态(“I”)被写入到第一存储器元件对403a、第二存储器元件对403b和第三存储器元件对403c的存储器存储元件402和404。如图4b中所示,由于高数据状态被写入到三个存储器元件对的每个,所以第一逻辑元件406计算出具有值“I”的第一偶校验位。第一校验位被存储在校验位存储器存储元件408中。第二逻辑元件410被配置为从自存储器存储元件404a、404b和404c读取的数据生成第二校验位。如图4b中所示,由于在存储器存储元件404a中存在错误,所以第二逻辑元件410计算出具有值“0”的第二偶校验位。存储的第一校验位的值和实时的第二校验位的值被提供到XOR门412。由于第一校验位具有高数据状态(“I”)而第二校验位具有低数据状态(“0”),所以XOR门412将高数据状态(“I”)输出到多路复用器414的每个,其使多路复用器414选择性地从存储器存储元件402输出数据。例如,多路复用器414a接收具有值“I”的控制信号,其使多路复用器414a输出从存储器存储元件402a输入到多路复用器(在输入节点INa1处)的数据。所以,存储器电路416以选择不使用包含已知数据错误的存储器存储元件的方式输出数据。 发明人已经了解到将存储器电路实现到通常的集成芯片(IC)布局/设计内的容错构造中的困难。所以,在各实施方式中,这里提供的容错存储器电路的组件(例如,图2、图3等的存储器电路)可被包括在一个以上集成芯片布局标准单元内,以便将对单个错误具有鲁棒性的一个以上存储器存储元件并入集成芯片布局/设计。例如,在一个实施方式中,为了便于将容错存储器电路实现到IC布局中,这里描述的容错记忆储存功能性可被并入到单个集成芯片布局标准单元中,该单元可以被并入到更复杂的IC设计中。图5示出了具有标准单元502的集成芯片布局500的示例性框图,该标准单元包括被包括在较大IC布局504内的容错存储器电路。如图5中所示,存储器电路的组件(例如,多个存储器存储元件、校验生成电路等)被包括在单个集成芯片布局标准单元502内(例如,被保存在标准单元库中),该单元可选择性地置于IC布局504中以取代不容易被配置为提供容错数据存储的多个数据存储元件。例如,被配置为存储4个数据位的四个数据存储元件(例如,触发器)可被单个集成芯片标准单元取代,该单元具有四个存储器元件对、校验生成逻辑以及相同的输入和输出信号作为四个数据存储元件,以便制成存储对单个错误具有鲁棒性的4个数据位的存储器电路。由于在小的地理区域(诸如单个集成芯片标准单元)中存储器存储元件的布置可增加多重错误的可能性,所以在一些实施方式中,实现存储器电路的组件(例如,存储器存储元件、存储器元件对)之间的最小间隔以提高存储器电路的容错性是有益的。更具体地,本领域的普通技术人员应了解存储器错误可能由于广泛的原因而发生,包括一些单独地影响存储器存储元件的原因。例如,软错误可由入射的阿尔法(a)粒子导致,使得如果在存储器元件对的两个存储器存储元件之一中存在错误,则统计上在存储器元件对的另一个存储器存储元件中将不会存在错误。可替代地,错误也可能是由于可导致存储器的地理区域内的错误的原因而引起。例如,晶片缺陷(wafer defect)可导致芯片的地理区域具有错误,从而影响被包括在空间区域内的存储器存储元件。所以,为了防止容错存储器电路中多重错误的发生,在一些实施方式中存储器元件对的存储器存储元件和/或存储器电路的存储器元件对可以最小距离隔开(例如,IOum,存储器存储元件的大小的两倍)。图6示出了存储器电路600,其中各个存储器组件以预定最小距离隔开(例如,被实现为一个以上布局设计规则)。例如,在第一存储器元件对603a中,将第一存储器存储元件602a与第二存储器存储元件604a以预定最小距离606隔开。而且,在附加和/或可选的实施方式中,第一存储器元件对603a与第二存储器元件对603b可以预定最小距离608隔开。在各实施方式中,第一和第二存储器存储元件之间的预定最小距离606可与不同存储器元件对之间的最小距离608不同或相同。
在一些实施方式中,存储器电路复杂性、或者以最小间隔隔开存储器元件可将存储器电路的大小增大到使得存储器电路被实现为多个(即,多于一个)集成芯片布局标准单元的足够大的大小。通过在存储器元件之间提供附加间隔,这样将存储器电路隔开为多个标准单元可便于路由(routing)甚至进一步减小多重错误的可能性。例如,图7示出了集成芯片布局700的示例性框图,该布局具有被包括在多个集成芯片布局标准单元内的容错存储器电路,这些单元被包括在较大IC布局706中。如图7中所示,第一和第二多路复用器MUXa和MUXb以及相关的存储器存储元件被包括在第一集成芯片布局标准单元702内,而第三多路复用器MUXn、相关的存储器存储元件和校验位比较逻 辑是第二集成芯片布局标准单兀704的一部分。在一个实施方式中,可以将第一集成芯片布局标准单元702与第二集成芯片布局标准单元704以最小距离708隔开。发明人已经了解到在可选的实施方式中,容错存储器电路的组件(例如,存储器存储元件、校验生成电路等)可以在两个以上集成芯片布局标准单元之间以择一(可选)的方式被分开。图8a示出了 2位容错存储器电路800的可选实施方式,其中校验位比较逻辑805空间上被置于两个存储器元件对803之间。图8a示出了校验位比较逻辑805,其包括第一校验生成逻辑806、校验位存储器存储元件808和控制逻辑元件810。校验位比较逻辑805被设置在空间上位于第一存储器元件对803a和第二存储器元件对803b之间的位置处。在一个实施方式中,第一和第二存储器兀件对803a和803b可对称地置于校验位比较逻辑805周围。通过将校验位比较逻辑805在空间上置于两个存储器元件对803a和803b之间,存储器电路的布局被简化,使得存储器电路800不包含任何信号路由配线的交叉。而且,如图8a中所示,校验位比较逻辑805包括第一校验生成电路806和控制逻辑元件810,该控制逻辑元件810包括简单XOR逻辑门或在可选实施方式中包括某些其他简单逻辑元件。简单XOR逻辑门的使用允许简化的设计。例如,控制逻辑元件810基于从校验位存储元件808接收的所存储的第一校验位值和从存储器存储元件804a和804b读取的数据,生成控制信号。所以,控制逻辑元件810执行上述校验生成电路和控制单元这两者的功能。应了解,图8a中所示的控制逻辑元件810也可被实现到其他存储器电路设计中(例如,如图2或图3中所示)。图Sb示出了示例性框图,该框图示出当在存储器存储元件中存在错误时图8a中所示的2位容错存储器电路的操作。如图Sb中所示,高数据状态(“I”)被写入到两个存储器元件对803a和803b中的每个。例如,高数据状态被写入第一存储器元件对803a和第二存储器元件对803b的第一和第二存储器元件802和804。第一校验生成电路806被配置为从写入到存储器元件对的数据生成第一校验位。如图8b中所示,由于高数据状态被写入到存储器元件对的每个,所以校验生成电路806计算出具有值“I”的偶校验位。第一校验位被存储在校验位存储器存储元件808中。控制逻辑元件810被配置为从写入到存储器存储元件804a和804b的数据生成控制信号scm。如图Sb中所示,由于在存储器存储元件804b中存在错误,所以控制逻辑元件810被配置为生成具有值“I”的控制信号。具有值“I”的控制信号被提供到多路复用器814a和814b,使多路复用器选择性地从存储器存储元件802输出数据。所以,存储器电路以选择不使用包含已知数据错误的存储器存储元件的方式来输出数据。
图9示出了用于从存储器电路去除错误的影响的示例性方法900的流程图。该方法以选择不使用包含已知数据错误(例如,关于写入到存储器的数据位的所计算的校验的差异)的存储器存储元件的方式选择性地输出数据。尽管以下方法900被示出和描述为一系列动作或事件,但是应了解这些动作或事件的所示顺序并不以限制性的意义来解释。例如,一些动作可以不同的顺序或与除这里所示和/或所述那些以外的其他动作或事件同时发生。另外,不是所有所示的动作都必须实现这里本发明的一个以上的方面或实施方式。还有,这里描述的动作中的一个以上可在一个以上单独的动作和/或阶段中执行。例如,应了解,在一个实施方式中第二校验位的生成(步骤908)和第一与第二校验位的比较(步骤910)可实时地执行,而将数据写入到存储器元件对(步骤902)和生成并存储第一校验位(步骤904至906)发生在存储器存储元件的每个新的写入周期期间。在902,数据被写入到多个存储器元件对,该 多个存储器元件对各自包括第一和第二存储器存储元件。特别是,包括具有数据位值的数据位的数据被写入到存储器元件对,这些存储器元件对包括都分配为存储数据位值的一对两个存储器存储元件。在904,从写入到多个存储器元件对的数据生成第一校验位。特别地,从写入到各对的第一和第二存储器存储元件的数据生成第一校验位。第一校验位可包括通过确定写入到存储器存储元件的高数据状态的数量生成的偶或奇校验位。在906,第一校验位被存储在存储器中。在908,从自第二存储器存储元件读取的数据生成实时的第二校验位。如上所述,第一和第二校验位可包括偶校验位、奇校验位或偶和奇校验位的组合(例如,第一校验位可以是偶校验位并且第二校验位可以是奇校验位,或者反之亦然)。在910,将存储的第一校验位的副本与实时的第二校验位进行比较。存储的第一校验位的值与实时的第二校验位的值的比较指示第二存储器存储元件中存储的数据中是否存在错误。例如,在一个实施方式中如果第一和第二校验位值相同,则在第二存储器存储元件中不存在错误,而如果第一和第二校验位值不相同,则在第二存储器存储元件中存在错误。应了解,第一和第二校验位的比较可能受校验位的约定影响(例如,奇校验位或偶校验位)。例如,在实施方式中,其中第二校验位可以与第一校验位相同的方式计算,从而使得第一和第二校验位遵守相同的约定(例如,都是偶或奇校验位)。在这种实施方式中,如果第一和第二校验位相等,则在第二存储器存储元件中不存在错误。然而,如果第一和第二校验位不相同,则在第二存储器存储元件中存储的数据位中存在错误。可替代地,如果第一和第二校验位遵守不同的约定,则校验位之间的一致指示错误,而不一致将指示没有错误。如果比较指示在第二存储器存储元件中不存在错误(方框912),则方法900前进至方框914,其中从第二存储器存储元件输出数据。可替代地,如果比较指示在第二存储器存储元件之一中存在错误(方框912),则方法900前进至方框916,其中从第一存储器存储元件输出数据。所以,基于比较,方法选择性地从或者已知不包含数据错误或者未知包含数据错误的存储器存储元件输出数据。应了解,虽然在这里提供的图中存储器元件被示出为以线性几何配置,但是存储器元件可以非线性配置。例如,在一个实施方式中,存储器元件对的单独的存储器元件可沿着第一方向配置,而存储器元件对沿着不同于第一方向的第二方向配置。而且,虽然关于配置为存储数据单元(例如,数据位)的存储器元件对(例如,图2,元件203)描述了本发明,但是应了解本发明不限于包括两个独立存储器元件的存储器元件对。而本发明可应用于被配置为存储数据单元的存储器结构,其中存储器结构例如具有大于2(例如,3,4、…、m个数据存储元件)的多个存储器元件。虽然已经关于一个以上的实现方式示出和描述了本发明,但是在不脱离所附权利要求的精神和范围的情况下可对所示出的实例进行变形和/或修改。例如,虽然这里已经关于软错误描述了本发明,但是本领域的普通技术人员应了解到这里提供的方法和设备也可应用于永久存储器错误。而且,要求保护的主题可被实现为使用标准编程和/或工程技术以生产软件、固件、硬件或者其任何组合以控制计算 机实现所公开的主题的方法、设备或制造物。这里使用的术语“制造物”意在涵盖可从任何计算机可读装置、载体或介质存取的计算机程序。当然,本领域的技术人员应认识到在不脱离要求保护的主题的范围或精神的情况下可对该配置做出很多修改。特别地,关于由上述组件或结构(组装件、设备、电路、系统等)执行的各种功能,除非另外指示,否则用于描述这些组件的术语(包括提到的“装置”)意在对应于执行所述组件的指定功能(例如,功能上等同)的任何组件或结构,即使结构上不等同于执行在本发明这里所示的示例性实现中的功能的所公开的结构。另外,尽管可能已经关于几个实现方式中的仅一个而描述了本发明的特定特征,但是这种特征可与根据需要的以及对于任何给定或特定应用有利的其他实现方式的一个以上其他特征相结合。而且,对于在具体说明和权利要求中所使用的术语“包括”、“具有”、“包含”、“含有”或它们的变形,这些术语以类似于术语“包括”的方式而表示开放式的。
权利要求
1.一种存储器电路,包括 多个存储器元件对,各自被配置为存储数据单元,其中,各个存储器元件对包括第一存储器存储元件和第二存储器存储元件;以及 校验位比较逻辑,被配置为基于写入到所述多个存储器元件对的数据计算第一校验位并且基于从第二存储器存储元件读取的数据计算实时的第二校验位,存储所述第一校验位,并且基于所存储的所述第一校验位和所述实时的第二校验位之间的关系生成提供至一个以上选择电路的控制信号, 其中,如果所述关系指示在第二存储器存储元件中不存在错误,则所述控制信号使所述一个以上选择电路选择性地从第二存储器存储元件输出数据,或者如果所述关系指示在第二存储器存储元件中存在错误,则所述控制信号使所述一个以上选择电路选择性地从第一存储器存储元件输出数据。
2.根据权利要求I所述的存储器电路,其中,所述校验位比较逻辑包括 第一校验生成电路,被配置为基于写入到所述多个存储器元件对的数据计算所述第一校验位; 校验位存储器存储元件,被配置为存储所述第一校验位; 第二校验生成电路,被配置为基于从所述第一存储器存储元件读取的数据计算所述实时的第二校验位;以及 控制单元,被配置为接收所存储的所述第一校验位和所述实时的第二校验位,并且执行所述第一校验位与所述第二校验位之间的比较以确定所述第一校验位和所述第二校验位之间的关系。
3.根据权利要求2所述的存储器电路,其中,所述控制单元包括XOR逻辑门。
4.根据权利要求I所述的存储器电路,其中,各个选择电路包括多路复用器,所述多路复用器被配置为基于所述控制信号选择性地从所述第一存储器存储元件或所述第二存储器存储元件输出数据。
5.根据权利要求I所述的存储器电路,其中,所述存储器电路的组件包括在单个集成芯片布局标准单元内。
6.根据权利要求I所述的存储器电路,其中,所述存储器电路的组件被分为多于一个集成芯片布局标准单兀。
7.根据权利要求I所述的存储器电路,其中,所述第一存储器存储元件和所述第二存储器存储元件包括触发器。
8.根据权利要求I所述的存储器电路,其中,所述多个存储器元件对包括第一存储器元件对和第二存储器元件对,并且 其中,所述校验位比较逻辑空间上被设置在所述第一存储器元件对与所述第二存储器元件对之间的位置处。
9.根据权利要求I所述的存储器电路,其中,所述多个存储器元件对以预定最小距离隔开。
10.根据权利要求I所述的存储器电路,其中,各个存储器元件对的所述第一存储器存储元件和所述第二存储器存储元件以预定最小距离隔开。
11.一种集成电路,包括存储器电路,被包括在一个以上集成芯片布局标准单元内,所述存储器电路包括多个存储器元件对,各自被配置为存储数据单元,其中,各个存储器元件对包括第一存储器存储元件和第二存储器存储元件; 第一校验生成电路,被配置为基于写入到所述多个存储器元件对的数据计算第一校验位,其中,所述第一校验位被存储在校验位存储器存储元件中; 第二校验生成电路,被配置为基于从第二存储器存储元件读取的数据计算实时的第二校验位; 控制单元,被配置为接收并比较所存储的所述第一校验位与所述实时的第二校验位以确定所述第一校验位与所述第二校验位之间的关系;以及 多个选择电路,被配置为如果第一校验位与第二校验位之间存在第一预定关系,则选择性地从第一存储器存储元件输出数据,并且如果所述第一校验位与所述第二校验位之间存在第二预定关系,则选择性地从第二存储器存储元件输出数据。
12.根据权利要求11所述的集成电路,其中,所述第一存储器存储元件和所述第二存储器存储元件包括触发器。
13.根据权利要求11所述的集成电路,其中,所述多个存储器元件对包括第一存储器元件对和第二存储器元件对,并且其中,所述第一校验生成电路、所述第二校验生成电路和所述控制单元被置于在空间上位于所述第一存储器元件对与所述第二存储器元件对之间的位置处。
14.根据权利要求11所述的集成电路,其中,所述存储器电路被包括在单个集成芯片布局标准单元内。
15.根据权利要求11所述的集成电路,其中,所述多个存储器元件对以预定最小距离隔开,并且 其中,各个存储器元件对的所述第一存储器存储元件和所述第二存储器存储元件以预定最小距离隔开。
16.一种用于从存储器电路去除错误的影响的方法,包括 从写入到多个存储器元件对的数据值生成第一校验位,所述多个存储器元件对各自包括第一存储器存储元件和第二存储器存储元件; 在校验位存储器存储元件中存储所述第一校验位; 从所述第二存储器存储元件中存储的数据值生成实时的第二校验位;以及基于所存储的所述第一校验位与所述实时的第二校验位之间的关系选择从所述第一存储器存储元件或所述第二存储器存储元件输出数据,其中,如果所述关系指示在第二存储器存储元件中不存在错误,则从第二存储器存储元件输出数据,或者如果所述关系指示在第二存储器存储元件中存在错误,则从第一存储器存储元件输出数据。
17.根据权利要求16所述的方法,还包括将所存储的所述第一校验位与所述实时的第二校验位进行比较,以确定所存储的所述第一校验位与所述实时的第二校验位之间的关系。
18.根据权利要求16所述的方法,其中,如果所存储的所述第一校验位等于所述实时的第二校验位,则选择从第二存储器存储元件输出数据,并且 其中,如果所存储的所述第一校验位不等于所述实时的第二校验位,则选择从第一存储器存储元件输出数据。
19.根据权利要求16所述的方法,所述存储器元件对被包括在多于一个集成芯片布局标准单元内。
20.根据权利要求16所述的方法,所述存储器元件对被包括在单个集成芯片布局标准单元内。
全文摘要
本发明涉及容错触发器。其中,本发明的一个实施方式涉及具有能够容许单个易失性软错误和永久错误的低硬件开销的容错存储器电路。在一个实施方式中,方法和设备包括具有多个存储器元件对的存储器电路,各个存储器元件对具有配置为存储数据单元的两个存储器存储元件。一个以上校验生成电路被配置为从写入到多个存储器元件对(例如,两个存储器存储元件)的数据计算第一校验位,并且从自多个存储器元件对中的两个存储器存储元件之一读取的数据计算第二校验位。基于所计算出的第一校验位和第二校验位,存储器电路选择从未知包含错误的存储器存储元件选择性地输出数据。
文档编号G11C29/42GK102682855SQ20121005230
公开日2012年9月19日 申请日期2012年3月1日 优先权日2011年3月14日
发明者安东·胡贝尔, 格奥尔格·杰奥尔加科斯, 米夏埃尔·戈塞尔 申请人:英飞凌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1