首页> 中国专利> 对存储器中的永久错误进行错误识别的电路装置和方法

对存储器中的永久错误进行错误识别的电路装置和方法

摘要

对存储器中的永久错误进行错误识别的电路装置和方法。提供用于识别存储器错误的电路装置。该电路装置包括存储器和错误识别电路。该电路装置被构造用于将错误识别代码的码字或者在比特子集中倒置的码字存储在存储器中的存储器位置处并且从存储器中的该存储器位置读出数据字。错误识别电路被构造用于针对施加的控制信号采取第一值的情况,当数据字不是错误识别代码的码字时显示存储器错误。此外该错误识别电路被构造用于针对施加的控制信号采取不同于第一值的第二值并且在所述存储器位置处已写入所述在比特子集中倒置的码字的情况,借助从存储器中读出的数据字确定当所述在比特子集中倒置的码字不是错误识别代码的码字时是否存在存储器错误。

著录项

  • 公开/公告号CN104376877A

    专利类型发明专利

  • 公开/公告日2015-02-25

    原文格式PDF

  • 申请/专利权人 英飞凌科技股份有限公司;

    申请/专利号CN201410371682.7

  • 申请日2014-07-31

  • 分类号G11C29/44;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人杜荔南

  • 地址 德国瑙伊比贝尔格市坎芘昂1-12号

  • 入库时间 2023-12-17 04:14:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-22

    授权

    授权

  • 2015-03-25

    实质审查的生效 IPC(主分类):G11C29/44 申请日:20140731

    实质审查的生效

  • 2015-02-25

    公开

    公开

说明书

技术领域

本申请涉及错误识别,尤其是半导体存储器中的错误识别,并且具体地涉及利用修改的错误伴随式(Fehlersyndrom)来对存储器中的永久错误进行错误识别的电路装置和方法。

背景技术

由于半导体存储器越来越高的集成度,存储器中的错误频率越来越高。

半导体存储器也越来越多地使用在安全性关键的应用领域,例如在汽车领域,在安全性关键的应用领域中需要正确的作用方式。

为了使所采用的存储器尽可能无错,通常在采用所述存储器之前执行离线测试。在此将专用的测试序列输入该半导体存储器中并且将实际的测试响应与预期的测试响应相比较。如果确定实际和预期的测试响应不一致,则存储器是有错的。在此,在待测试的存储器中通过特定的方式写和读取各个存储器单元并且通常将读出的值累加到签名上。不同的存储器测试是专业人员已知的。在离线测试中只能找到永久存在的错误。

在正在进行的运行中,可以应用在线错误识别和错误校正。

为了进行在线错误识别和在线错误校正,在正在进行的运行中应用纠错代码,以纠正和识别错误。如果要存储k比特宽的数据                                                ,则首先将所述数据编码为纠错代码C的n比特宽的码字并且以编码的形式在地址a下写入存储器中。从该存储器中读出在地址a下的n比特字。由于错误,在此v'和v可能是不同的。如果v和v'在B个比特方面是不同的,则存在B比特错误。然后在使用代码C的条件下,如果则可以纠正错误,其中d是代码C的码距。如果v'中所有的错误都可以被纠正,则对应的错误不会影响作用方式,该对应的错误替代于正确的码字v而是有错的码字v'被读出。

如果代码C仅被用于错误识别,则可以识别d-1个错误。如果代码被用于识别错误并且不被用于错误校正,则该代码称为识别错误代码。

在线错误识别和在线错误校正用于识别和纠正非永久的错误,即所谓的瞬时或易失性错误,尽管当然也能识别和纠正永久的错误。

如果永久的1比特错误——例如固定错误——在离线测试之后产生并且代码C可以纠正1比特错误,则该永久的1比特错误不会影响特性。但是现在如果附加地出现易失的1比特错误,则可能存在2比特错误,现在代码C不能再正确地纠正该2比特错误。所产生的永久的1比特错误导致代码C不再足以纠正易失的1比特错误。

因此为了达到高的可靠性,有意义的是以一定的时间间隔来测试存储器的永久错误。于是如果应用常见的离线测试,则在该存储器中输入特定的测试序列并且分析对应的测试响应。在此的缺点尤其是:当前存储在存储器中的数据被在离线测试中的测试序列的数据覆盖,从而必须读出和临时存储应当继续被使用的当前存储的数据。

从而例如复杂微控制器产品中的SRAM存储器应当在安全性关键的应用中在应用期间被以频繁的时间间隔测试,以便能检测、纠正和记录存储器中新产生的硬错误和软错误。这应当在短的、定期的时间片中发生。为此所需要的计算时间不再被实际的应用可用。存储器的定期测试需要的时间越少,实际应用可用的时间和性能就越多。

一种方案是:其SRAM(Static Random-Access Memory,静态随机存取存储器)应当被测试的模块首先被在功能上断开,然后使得该存储器可经由总线访问,接着将实际的应用内容重新存储(重新复制)到其它还空闲的存储器中,并且接着用预定义算法和/或用预定义物理占用来测试待测试的存储器。在该测试之后再次重新复制实际的内容。

原始应用数据经由总线的重新存储是非常耗时的。此外这种通常经由CPU(Central Processing Unit,中央处理单元)执行的测试通常也不足够适用于模拟有效运行期间的临界条件,因为CPU经由具有等待周期的缓慢的总线在测试期间访问存储器,也就是具有不访问存储器的周期,而使用该存储器的模块可能在每一个周期中或者在多个连续的周期中访问该存储器。

发明内容

本发明的任务是提供用于错误识别的改善的概念。

提供了根据权利要求1所述的电路装置、根据权利要求19所述的电路装置、根据权利要求21所述的电路装置、根据权利要求23所述的电路装置、根据权利要求25所述的方法、根据权利要求26所述的方法以及根据权利要求27所述的计算机程序。

提供了用于识别存储器错误的电路装置。该电路装置包括存储器和错误识别电路。该电路装置被构造用于将错误识别代码(C)的码字或者在比特子集(M)中倒置的码字存储在存储器中的存储器位置处并且从该存储器中的该存储器位置读出数据字。错误识别电路被构造用于针对当前控制信号采取第一值的情况,当所述数据字不是错误识别代码(C)的码字时显示存储器错误。此外该错误识别电路被构造用于针对当前控制信号采取不同于第一值的第二值并且在所述存储器位置处已写入所述在比特子集(M)中倒置的码字的情况,借助从该存储器中读出的数据字确定当所述在比特子集(M)中倒置的码字不是错误识别代码(C)的码字时是否存在存储器错误。

根据一种实施方式,电路装置还可以包括n个数据输入线路和n个数据输出线路,其中该电路装置可以被构造为从存储器的所述存储器位置将n位的数据字读出到n个数据输出线路上,其中在该存储器的所述存储器位置中读出所述数据字之前已在该存储器位置处写入了错误识别代码(C)位于n个数据输入线路上的码字,或者其中在该存储器的所述存储器位置中写入了n位的字,其中该字通过从代码(C)的码字中将比特子集(M)的比特倒置而形成,其中该比特子集(M)是比特的非空子集(M),其中在将字或字写入存储器中的一个存储位置处之后不再将其它数据字写入存储器中的该存储位置处,直到从存储器的该存储位置读取了数据字为止。

在一种实施方式中,代码(C)可以具有码距d,d≥2,其中i≥2和n≥4。

根据一种实施方式,错误识别电路FEm可以被构造为依据控制信号(mod)的值当在读出n位的数据字之前将代码(C)的n位码字写入到存储器中时,如果所读出的数据字不是代码(C)的码字则显示错误;其中错误识别电路FEm可以被构造为,当在读出n位的数据字之前将n位的字写入到存储器中时,如果是代码(C)的码字并且如果M不包括所有n个比特,则在从存储器读出的字不是代码(C)的码字的情况下显示错误,其中该错误识别电路FEm可以被构造为,当在读出n位的数据字之前将n位的字写入到存储器中时,如果不是代码(C)的码字,则在由从存储器读出的字形成的字不是代码(C)的码字的情况下显示错误,其中字由通过以下方式形成,即属于子集M的比特是倒置的,其中当在读出该数据字之前已经输入代码(C)的码字时,或者当在读出该数据字之前已经在存储器中输入通过倒置来自代码(C)的码字的、属于子集M的比特而形成的字并且当字是代码(C)的码字时,控制信号mod采取第一值,其中当是代码(C)的码字时,M是所有比特的真子集,并且其中当在读出数据字之前已经在存储器中输入通过倒置来自代码(C)的码字的、属于子集M的比特而形成的字并且当字不是代码(C)的码字时,控制信号mod采取不同于第一值的第二值。

在一种实施方式中,非空子集M可以由所有n个比特组成并且成立。

根据一种实施方式,非空子集M包括每第二比特并且可以或者或者成立。

根据一种实施方式,存储器可以是具有地址输入端的可寻址存储器,其中被写入的存储器位置以及被读取的存储器位置通过地址来确定。

在一种实施方式中,所述存储器可以是RAM(Random Access Memory,随机存取存储器)。

根据一种实施方式,所述存储器可以是MRAM(Magnetoresistive RAM,磁阻RAM)。

在一种实施方式中,该存储器可以是寄存器阵列。

根据一种实施方式,该存储器可以是至少具有代码(C)的长度n的寄存器。

在一种实施方式中,寄存器可以由触发器构建。

根据一种实施方式,该寄存器可以由锁存器构建。

在一种实施方式中,例如码字的逐位倒置的字不是代码(C)的码字。

根据一种实施方式,存储器Sp的输入线路的非空子集前接了倒置器,并且存储器Sp的对应输出线路后接了非门。

根据一种实施方式,代码(C)可以是非线性代码。

在一种实施方式中,代码(C)可以是线性代码。

在一种实施方式中,代码(C)可以是长度为n并具有k个数据比特的线性代码,并且代码(C)具有包括k行和n列的H矩阵H,其中k<n,以及

其中错误识别电路FEm具有伴随式发生器Syn作为子电路,该伴随式发生器被配置为使得其依据从存储器读出的数据以及二进制控制变量mod根据以下关系式确定k位的错误伴随式:

其中当代码(C)的码字已在地址a下被写入存储器中时或者当n位的字已被写入存储器中时,mod=0,其中字通过倒置来自代码(C)的码字的非空比特子集M的比特而形成并且是代码(C)的码字,以及当n位的字已被写入存储器中时mod=1,其中字通过倒置来自代码(C)的码字的非空比特子集M的比特而形成并且不是代码(C)的码字,以及

其中是由分量组成的n分量二进制列向量,并且是由分量组成的n分量二进制列向量,其中对于i=1,…,n,

对于有,并且对于有,以及

其中表示k位向量和的逐分量的XOR(异或)逻辑运算,并且是n位向量和的逐位XOR逻辑运算,且当时mod=1。

根据另一实施方式,提供一种电路装置,包括存储器和用于在使用存储在存储器中的任意有用数据的条件下测试和识别存储器中的存储器错误的错误识别电路。该电路装置被构造用于将错误识别代码的码字写入存储器的存储位置处并加以存储,其中该电路装置还被构造用于将已存储在存储器中存储位置处的数据字读出,以及其中该电路装置还被构造用于将已从所述存储器中读出的数据字的非空比特子集倒置并且将读出的、其非空比特子集已被倒置的数据字写入所读出的数据字曾被存储的存储位置处。所述错误识别电路被构造用于依据控制信号的值显示错误,其中该错误识别电路还被构造用于,当该控制信号采取第一值时,如果从存储器读出的数据字不是错误识别代码的码字则显示存储器错误,其中该错误识别电路被构造用于,当控制信号采取第二值时,如果从存储器读出并且在比特子集M中被倒置的数据字不是错误识别代码的码字则显示存储器错误。当已将码字写入存储器的读出该数据字的存储位置处时,控制信号采取第一值。当从存储器读出的、在比特子集M中被倒置的数据字被写入读出该数据字的存储器位置处时,以及当错误识别代码的在比特子集M中被倒置的码字不是错误识别代码的码字时,控制信号采取第二值,其中控制信号的第一值不同于控制信号的第二值,以及其中当在比特子集M中被倒置的码字是错误识别代码的码字时,子集M是数据字的所有比特的真子集。

在此例如在一种实施方式中,所述代码可以是线性代码。

在一种实施方式中,提供一种电路装置。该电路装置包括存储器、错误识别电路、n个数据输入线路以及n个数据输出线路。该电路装置被构造用于从存储器的存储位置将n位的数据字读出到n个数据输出线路上,其中在存储器的所述存储器位置中读出该数据字之前已将错误识别代码的位于n个数据输入线路上的码字写入该存储器位置处,或者其中已在该存储器的所述存储器位置中写入了n位的字,其中该字通过从代码(C)的码字中将非空比特子集M的比特倒置而形成,其中在将字或字写入存储器中的一个存储位置处之后不再将其它数据字写入存储器中的所述存储位置处,直到从存储器的该存储位置读取了数据字为止,其中所述代码具有码距d,d≥2,i≥2和n≥4。所述错误识别电路被构造为依据控制信号(mod)的值当在读出n位的数据字之前将所述代码的n位码字写入到存储器中时,如果所读出的数据字不是该代码的码字则显示错误;以及其中错误识别电路被构造为,当在读出n位的数据字之前将n位的字写入到存储器中时,如果是所述代码的码字并且如果M不包括所有n个比特,则在从存储器读出的字不是所述代码的码字的情况下显示错误,其中该错误识别电路被构造为,当在读出n位的数据字之前将n位的字写入到存储器中时,如果不是所述代码的码字,则在由从存储器读出的字形成的字不是所述代码的码字的情况下显示错误,其中字由通过以下方式形成,即属于子集M的比特是倒置的,其中当在读出该数据字之前已经输入所述代码的码字,或者当在读出该数据字之前已经在存储器中输入通过倒置来自所述代码的码字的、属于子集M的比特而形成的字并且当字是所述代码的码字时,控制信号mod采取第一值,其中当是所述代码的码字时,M是所有比特的真子集,并且其中当在读出数据字之前已经在存储器中输入通过倒置来自所述代码的码字的、属于子集M的比特而形成的字并且当字不是所述代码的码字时,控制信号mod采取不同于第一值的第二值。

在此例如在一种实施方式中,所述代码可以是线性代码。

此外,在另一实施方式中,提供一种用于识别存储器错误的电路装置,其中该电路装置包括存储器和错误识别电路。该错误识别电路被设计为确定存储器中的错误。该存储器被构造用于在该存储器中存储有用数据比特作为长度为n的、具有k个信息比特和码距d≥2的代码(C)的码字,其中对于码字的n个分量的集合的来说存在q个子集, …, ,其中和,以及值n1, …, nq中的至少一个小于n,其中成立,并且从而当是代码(C)的码字时,对于来说也是代码(C)的码字,其中中的被如下形成,即是的元素的的分量被倒置,而不是的元素的的分量不被倒置。所述设备被构造用于在第一步骤中,将代码(C)的码字在地址a下存储在存储器中,其中该设备还被构造用于在第二步骤中,读出在地址a下存储在存储器中的字,其中该设备被设计为在第一步骤之后执行第二步骤,并且其中在第一步骤和第二步骤之间在地址a下不在存储器中写入其它字,其中错误识别电路被构造用于在第三步骤中检验是否是代码(C)的码字,以及当不是代码(C)的码字时,则显示错误并且结束处理,以及当是代码(C)的码字时不显示错误并且继续处理,其中该设备还被构造用于在第四步骤中将码字在地址a下存储在存储器中,其中从中这样来确定,使得当在第三步骤中已经确定是代码(C)的码字时,的属于的分量被倒置,其中,并且所有不属于的分量不被倒置,其中所述设备还被构造用于,在第五步骤中读出在地址a下存储的字,其中该设备被设计为在第四步骤之后执行第五步骤,以及其中在第四步骤和第五步骤之间在地址a下不写入其它字到存储器中,以及其中错误识别电路还被构造用于在第六步骤中检验是否是代码(C)的码字,并且当不是代码(C)的码字时显示错误并结束该方法,以及当是代码(C)的码字时不显示错误。

此外在另一实施方式中,提供用于识别存储器错误的电路装置,其中该电路装置包括存储器和错误识别电路。该错误识别电路被设计为确定存储器中的错误。该存储器被构造用于在该存储器中存储有用数据比特作为长度为n的、具有k个信息比特和码距d≥2的代码(C)的码字,其中对于码字的n个分量的集合的来说存在q个子集, …, ,其中和,以及值n1, …, nq中的至少一个小于n,其中成立,并且从而当是代码(C)的码字时,对于来说也是代码(C)的码字,其中中的被如下形成,即是的元素的的分量被倒置,而不是的元素的的分量不被倒置。所述设备被构造用于在第一步骤中,将代码(C)的码字在地址a下存储在存储器中,其中该设备还被构造用于在第二步骤中,读出在地址a下存储在存储器中的字,其中该设备被设计为在第一步骤之后执行第二步骤,并且其中在第一步骤和第二步骤之间在地址a下不在存储器中写入其它字,其中错误识别电路被构造用于在第三步骤中检验是否是代码(C)的码字,以及当不是代码(C)的码字时,显示错误,以及当是代码(C)的码字时不显示错误,其中该设备还被构造用于在第三步骤之后进行的第四步骤中将码字在地址a下存储在存储器中,其中从中这样来确定,使得的属于的分量被倒置,其中,并且所有不属于的分量不被倒置,其中所述设备还被构造用于,在第五步骤中读出在地址a下存储的字,其中该设备被设计为在第四步骤之后执行第五步骤,以及其中在第四步骤和第五步骤之间在地址a下不写入其它字到存储器中,以及其中错误识别电路还被构造用于在第六步骤中检验是否是代码(C)的码字,并且当不是代码(C)的码字时显示错误,以及当是代码(C)的码字时不显示错误。

在此,例如在一种实施方式中所述代码可以是线性代码。

此外提供一种用于识别存储器错误的方法,其中该方法包括:

-在存储器中的存储器位置处存储错误识别代码(C)的码字或者在比特子集(M)中被倒置的码字,

-从该存储器的所述存储器位置中读出数据字,

-当控制信号采取第一值时,如果该数据字不是错误识别代码(C)的码字则显示存储器错误,以及

-对于控制信号采取不同于第一值的第二值并且在所述存储器位置处已写入在比特子集(M)中倒置的码字的情况,借助从该存储器读出的数据字确定当在比特子集(M)中倒置的码字不是错误识别代码(C)的码字时是否存在存储器错误。

此外提供一种用于确定存储器Sp中的错误的方法,在该存储器中存储有用数据比特作为具有码距d≥3的(n,k)代码C的码字,其中对于码字的n个分量的集合的来说存在q个子集, …, ,其中和,其中成立,并且从而当是代码C的码字时,对于来说也是代码C的码字,其中中的被如下形成,即是的元素的的分量被倒置,而不是的元素的的分量不被倒置,其特征在于,该方法至少具有以下方法步骤:

1. 将代码C的码字在地址a下存储在存储器Sp中。

2. 读出在地址a下存储在存储器Sp中的字,其中在第一步骤之后执行第二步骤,并且其中在第一步骤和第二步骤之间在地址a下不在存储器中写入其它字。

3. 检验是否是代码C的码字。

如果不是代码C的码字,则显示错误并且可以结束该方法。

如果是代码C的码字则不显示错误并且继续该方法。

4. 如果在第三步骤中确定是代码C的码字,则将码字在地址a下存储在存储器Sp中,其中从中这样来确定,使得的属于的分量被倒置,其中,并且所有不属于的分量不被倒置。

5. 读出在地址a下存储的字,其中在第四步骤之后进行第五步骤,以及在第四步骤和第五步骤之间在地址a下不写入其它字到存储器Sp13中。

6. 检验是否是代码C的码字。

如果不是代码C的码字则显示错误并且可以结束该方法。

如果是代码C的码字则不显示错误。

此外提供一种用于确定存储器中的错误的方法,在该存储器中存储有用数据比特作为长度为n的具有k个信息比特和码距d≥2的代码(C)的码字,其中对于码字的n个分量的集合的来说存在q个子集, …, ,其中和,其中成立,并且从而当是代码(C)的码字时,对于来说也是代码(C)的码字,并且值n1, …, nq中的至少一个小于n,其中中的被如下形成,即是的元素的的分量被倒置,而不是的元素的的分量不被倒置,其中该方法至少具有以下方法步骤:

-在第一步骤中,将代码(C)的码字在地址a下存储在存储器中。

-在第二步骤中,读出在地址a下存储在存储器中的字,其中在第一步骤之后进行第二步骤,并且其中在第一步骤和第二步骤之间在地址a下不在存储器中写入其它字。

-在第三步骤中检验是否是代码(C)的码字,以及当不是代码(C)的码字时,显示错误,以及当是代码(C)的码字时不显示错误。

-在第四步骤中将码字在地址a下存储在存储器中,其中从中这样来确定,使得的属于的分量被倒置,其中,并且所有不属于的分量不被倒置。

-在第五步骤中读出在地址a下存储的字,其中在第四步骤之后进行第五步骤,以及在第四步骤和第五步骤之间在地址a下不写入其它字到存储器中。以及:

-在第六步骤中检验是否是代码(C)的码字,其中当不是代码(C)的码字时显示错误,以及当是代码(C)的码字时不显示错误。

此外提供一种具有用于执行上述方法的程序代码的计算机程序。

实施方式使用制造后为了测试目的无论如何存在的MBIST单元(英文:Memory Built-In Self Test Controller,存储器内置自测试控制器)。此外实施方式使用为了可靠性目的无论如何都存在的ECC(英文:Error Correction Code,纠错码)检测和校正单元(ECC单元)。该单元纠正或显示在运行期间的一比特和两比特错误。

两个单元一起,也就是MBIST单元和ECC单元优选可以与在线测试组合地在运行时期间被采用。MBIST单元允许为了普通的测试目的无论如何都要对存储器进行的快速写入和读取访问,以及ECC单元最适于识别对任何数据字都可能的错误。

为了防止用户代码的耗时的重新复制,MBIST单元根据实施方式可以被设计用于读取地越过整个存储器内容。ECC单元可以被设计用于找到在存储器中存在的错误,并且然后在无论如何都存在的存储器中记录有错的字的地址(该存储器例如可以在存储器测试期间被用作迷你缓存类型,以便对每次软件安装来说在闪存的每次引导过程之后通过该迷你缓存标记出在那里的有错误的SRAM字)。

现在得出的问题是:当使用用户代码时可能找不到所谓的硬“固定”错误(附着错误),如果这样的错误具有与同一位置的用户比特相同的极性的话。在固定错误的情况下,信号电平与其额定功能相反始终采取相同的值,例如始终为0(固定为0)或始终为1(固定为1)。因此在普通的MBIST测试的情况下,可以让具有不同数据内容和极性的多个测试遍历存储器,以便不管怎样都找到错误。这在用户代码的情况下当然不行。

实施方式现在采用更为有效的概念:在读取时将整个用户字倒置,并且在下个周期中写回到存储器中。这对于存储器中的所有字在第一次遍历中就进行。在此特定极性的所有错误通过ECC解码器同时被找到。

然后用现在被完全倒置的存储器内容开始第二次该过程,并且又读出所有现在被倒置的字,又使用ECC解码器来检测错误并且倒置每个地址的字,也就是又将该字倒置地写回。

在该第二次遍历之后,重新建立了存储器的原始内容,并且尽管如此找到了简单的硬的和软的1比特和2比特固定错误以及甚至根据算法找到所有的3比特固定错误(具有两种极性的错误)。此外通过采用该概念完全获得了存储器内容,也就是说不需要耗费的、耗时的重新复制。由此每个地址被恰好读取2x次和写入2x次。

在另一种特殊的实施方式中,存储器内容的部分字被倒置,使得该部分倒置的字是有效的码字。在第二步骤中,第二部分字又被倒置,使得该部分倒置的字又是有效的码字。这两次部分倒置如此进行,使得每个比特都被倒置至少一次。利用该方法无需修改ECC电路(ECC单元)。由此实现轻松的时间优点,在时间非常关键、尤其是在周期时间(英文:Cycletime)的意义上时间关键的应用中特别重要。这对存储器中的所有字在第一次和第二次遍历中进行。第三次遍历保证用户数据被正确地写回。换句话说,第三次遍历被这样来执行,即用户数据又被写回,使得所有比特又采取其最初的值。

利用该特殊的另一实施方式的概念,特定极性的所有错误都通过ECC解码器找到。在第三次遍历之后,重新建立存储器的原始内容并且尽管如此找到了简单的硬的和软的1比特和2比特固定错误以及甚至根据算法找到所有的3比特固定错误(具有两种极性的错误),以及通过采用该概念完全获得了存储器内容。在实施方式中,在采用该概念的情况下在每个地址中都恰好写入三次,并且从每个地址都恰好读取三次。

上述概念是特别时间有效的并且提供了非常快速的测试(比每个CPU通过缓慢总线快得多)。对于上述测试已经采用了对于其它目的存在的硬件、面积和功率。上述概念对于在运行时期间频繁、定期地测试存储器是特别有利的。

实施方式提供一种ECC代码,该代码对于非破坏性测试是“对称”的,该代码也就是在两种极性中导致相同结果(单一错误,双错误)的“可倒置”代码。这样的对称代码因此具有以下特性:当被逐位地倒置时,每个码字又成为码字。这可以通过精心选择代码和可能通过扩展1比特(如果需要的话)来实现。

在代码需要附加比特的情况下,通过该要求还需要宽1比特的存储器,该存储器导致附加的开销面积和功率。在优选的实施方式中,该附加比特是不需要的。在此特别感兴趣的是数据宽度32,该数据宽度用一般对称的实施实现8比特ECC而不是普通的7比特ECC。这是1/39的面积不足。在此在一种特殊的实施方式中可能的是:保留原始的代码宽度,并且在倒置的情况下轻松地影响ECC解码器中的伴随式发生器。

利用该方法例如可以实现具有7个ECC校验比特的32比特数据字,尽管如此该数据字具有一般方法的所有积极的优点。由此一般对于“非对称的”代码来说也实现了与针对上面提到的“对称”代码相同的积极特性。

上述实施方式的一个重要应用领域也在交叉校验代码以及在目前的Aurix族草案中被使用的代码的情况下得到,例如应用于Hsiao代码,例如“缩短的Hsiao”代码。

上述概念可以应用于任意线性代码以及必要时还应用于非线性代码。

一些实施方式实现了在在读取时的两次倒置以及随后立即的倒置的写回(“修改的签名”)。其它实施方式(“倒置部分字”)实现了在读出时的三次选择性倒置以及随后立即的写回。实施方式可以采用现有的MBIST单元、现有的ECC单元和用于在具有全用户数据内容以及没有用户数据的转出/转入的应用期间的在线应用者测试的用户代码/数据。

实施方式找到了硬的和软的1、2、3比特错误。此外这些实施方式中的一些实现了通过附加软件(SW)和错误跟踪寄存器对软错误的可能校正,所述附加软件(SW)和错误跟踪寄存器在安全性关键的应用(安全应用)中可能已经存在。实施方式提供一种快速的测试,该测试尤其是相对于用户数据(User Daten)和用户代码(User Code)的重新复制是特别有利的。对于在应用的运行时期间频繁测试存储器的安全应用来说展示出特别的优点,其中普通的CPU性能得以保持。但是,规定三次读取和三次写入的特殊的实施方式与具有两次读取访问和两次写入访问的实施方式相反具有50%的测试时间不足(三次遍历而不是两次遍历)。

一个重要的优点通过以下方式得出,即对原始的线性代码没有另外的要求。

在特别的实施方式中,MBIST单元控制具有有限状态机(英文:State Machine)的存储器。在此,在一种特殊的实施方式中可以设置计数器,以便在存储器上产生连续的地址。可以考虑其它用于产生存储器地址的更为复杂的变型。

此外可以设置ECC解码器,该ECC解码器被设计用于检测在读取存储器期间的错误。有错的地址被写入错误跟踪寄存器中。数据被倒置并被写回。该读取和倒置的写入的过程被重复,使得结束时在存储器中存在原始数据。可以使用任意的线性代码,以便用任意预定的用户数据检测错误的两种极性。在读取被倒置一次的用户数据时,通过控制信号来修改伴随式发生器。

在该规定三次读取和三次写入的特殊的实施方式中,在读取被一次或两次选择性倒置的用户数据时分别仅倒置一个部分字。

在实施方式中规定,当前存储在存储器中的数据和对于在线错误识别存在的错误识别电路被很大程度地用于测试。

附图说明

下面参照附图描述本发明的实施方式。

在图中示出:

图1示出根据一种实施方式的用于识别存储器错误的电路装置,

图2a示出连接到存储器的本发明的错误识别电路,

图2b示出用于识别错误的电路装置的实施例,

图2c示出具有可寻址存储器的电路装置的实施例,

图3示出用于识别错误的电路装置的一种构型,其中存储器的输入线路和输出线路的子集被倒置,

图4示出用于识别错误的电路装置的另一种特殊的构型,

图5示出错误识别电路的一种特殊构型,

图6示出一种特殊的构型,其中除了错误识别电路之外还存在错误校正电路,

图7示出一种特殊的构型,其中本发明的错误识别电路与错误校正电路被共同地实现,

图8示出显示可能错误位置的错误识别和校正电路的一种特殊的构型,

图9示出被共同实现的错误识别和校正电路的一种特殊的构型,

图10示出用于识别错误和校正错误的电路装置的实施方式,其中在两个步骤中进行对存储字的倒置。

具体实施方式

图1示出根据一种实施方式的在使用当前存储在存储器中的数据的条件下在存储器测试中识别存储器错误的电路装置。该电路装置包括存储器11和错误识别电路12。

提供一种用于识别存储器错误的电路装置。该电路装置包括存储器11和错误识别电路12。该电路装置被构造用于将错误识别代码C的码字或在比特子集M中被倒置的码字存储在存储器11中的存储器位置处并且从存储器11的该存储器位置读出数据字。

错误识别电路12被构造用于针对当前的控制信号采取第一值的情况,如果数据字不是错误识别代码C的码字则显示存储器错误。此外该错误识别电路12被构造用于针对当前控制信号采取不同于第一值的第二值并且在所述存储器位置处已写入所述在比特子集M中倒置的码字的情况,借助从该存储器11中读出的数据字确定当所述在比特子集M中倒置的码字不是错误识别代码C的码字时是否存在存储器错误。

施加在错误识别电路12上的控制信号(mod)例如显示码字是否应当存储在所述存储器位置处(通过控制信号的第一值)或者非码字是否应当存储在所述存储器位置处(通过控制信号的第二值)。因此如果应当存储在所述存储器位置处的是码字,则控制信号例如采取第一值。但是如果应当存储在所述存储器位置处的是非码字,则控制信号例如采取不同于第一值的第二值。

在此使用的术语“数据字”表示已从存储器11中的所述存储器位置读出的内容。从存储器11中的所述存储器位置读出的内容可以是码字,也可以不是码字。例如码字可以已经被存储在所述存储器位置处,并且该码字失真,使得读出非码字。或者存在以下情况,即例如在所述存储器位置处根本就没有存储过码字。在这种情况下,如果所存储的码字未失真,则同样读不出码字。术语“数据字”因此既包括数据字是码字的情况也包括数据字不是码字的情况。

在详细描述几个特殊的实施方式之前,首先描述编码理论的几个基本术语和关联。这些基本术语是专业人员已知的,并且还在教科书,例如在Lin, S. Costello D. 的书“Error Control Coding”, Prentice Hall, 1983中描述,对该教科书明确引用,其中在此尤其是参照51-81页。

下面首先描述以下情况,即代码C是具有码距d、发生器矩阵G和H矩阵H的线性纠错(n,k)代码,但是实施方式也可以在使用非线性代码的条件下被应用。

代码C的形式的码字具有字长度n,,因为这些码字具有n比特。码字可以由k个数据比特根据下式来形成:

,其中(k, n)矩阵G是代码C的发生器矩阵。

如果发生器矩阵G具有形式,则该发生器矩阵以系统形式存在。在此是k维单元矩阵,并且(k,n-k)矩阵称作代码C的奇偶矩阵。

H矩阵H是(n-k,n)矩阵。在系统形式中下式成立:

其中是奇偶矩阵的转置矩阵,其通过交换的列和行而得以确定。是(n-k)维单元矩阵。于是代码具有m=n-k个校验比特。

对于线性代码C已知成立的是:

如果和是线性代码C的码字,则同样是代码C的码字。

对于码字成立的是:如果,则,并且如果,则。

作为特殊情况得到:如果是代码C的码字,

则同样是码字C的码字,此时v是代码C的码字(All表示全体)。

如果不是代码C的码字,

则同样不是码字C的码字,此时v是代码C的码字。

在使用H矩阵H和错误伴随式s的条件下识别并纠正错误。

如果是长度为n的字,则

是字v'的错误伴随式。在此是行向量的转置列向量,并且是行向量的转置列向量,其中m=n-k。

当v'是代码C的码字时,向量v'的错误伴随式正好等于(All表示全体)。

如果是n位二进制字,是代码C的码字并且

成立

则v'的错误伴随式单单通过e确定并且

成立。

在此,e称为错误向量。如果对于分量,则v'在第i个分量方面不同于码字v的第i个分量。如果对于分量,则v'不会在第j个分量方面不同于码字v的第j个分量。

如果C是校正B比特错误的代码,则错误伴随式对于所有1比特、2比特、…、B比特错误都是成对地不同的,并且当仅出现1比特、2比特、…、B比特错误时,错误校正可以基于错误伴随式明确地进行。

两个字和之间的距离(也称为汉明距离)等于它们的分量数量,其中这些分量是不同的。代码的距离d等于其两个码字之间的最小距离。

如果C是具有码距d的线性代码,则对于所有1比特、2比特、…、(d-1)比特错误来说都有错误伴随式s不等于0。

观察长度为n和具有k个信息比特的线性(n,k)代码C,该代码具有码距。这种代码的例子是码距d=3的汉明代码、码距为4的Hsiao代码和奇偶代码、以及BCH代码。

码字是由关于下式的k个信息比特确定的,

其中

并且是n位行向量。

观察两种情况:

1. 如果是代码C的码字,则同样是代码C的码字。

2. 如果是代码C的码字,则不是代码C的码字。

下面的措施可以确定存储器中的错误:

在存储器Sp中,在地址a下写入/存储码字,该码字是具有H矩阵H的线性代码C的码字。

然后在地址a下读出字。也就是读出以地址a位于存储器中的内容。如果v1的存储器正确工作并且在存储器中没有发生失真,则在地址a下必定仍然存在v1。如果不是这种情况,则读出的v2不同于v1。由于v1是代码的码字,因此如果没有发生存储器错误则v2也是代码的码字。但是如果v2不再是代码的码字,则可以从中可靠地推断出存在存储器错误。也就是检验v2是否是代码C的码字。这通过

确定。在此,

如果,则识别到错误并且不需要其它步骤。

如果,则没有识别到错误并且假定成立。关于存储器是否有错的测试用随后的步骤继续,因为可能在第一测试步骤中未显示存储器错误。可能例如在存储器位置处,即在已存储的下存在固定0错误。但是如果的值本身是0,则该错误不会在第一步骤中显示。但是,另一个测试——其中例如的被倒置的值、也就是1存储在同一个存储器地址下并且又被读取,则揭示出该固定0错误。

由此现在在下个步骤中将的比特倒置,由此获得v3

然后v3以地址a被写入/存储在存储器中。

现在从存储器的地址a下读出。也就是读出以地址a存在于存储器中的内容。

对于有:

如果v3的存储器正确工作并且在存储器中没有发生失真,则在地址a下必定仍然存在v3。如果不是这种情况,则读出的不同于v3

由于为了确定伴随式形成

并且由于而有

成立,

以及由此由于和而有

成立,

因此v3可以是或不是码字,并且伴随式恰好在是C的码字时为0。

现在如果例如在存储器输出端上存在n比特固定错误,则错误向量的分量的个比特位置等于1,在这些比特位置中的值不同于固定值。同样,错误向量的分量的个比特位置等于1,在这些比特位置中值不同于固定值。在此以及。

如果代码C是错误识别代码的B比特,则所有1比特、2比特、…、B比特固定错误都被可靠地识别。

另一种用于确定存储器中的错误的可能措施由以下考虑得到:

可能的是,从代码C的码字中形成字,其方式是将v的属于集合M的分量倒置。在此是v的分量的子集。如果,则。如果例如M = {v1, v2},则。

集合M可以通过二进制行向量的第n分量描述,对其有以下成立:

对于,当时,以及当时。

然后vM字可以从码字v中通过下式形成:

如果u是代码C的码字,则同样是代码C的码字。如果u不是代码C的码字,则同样不是代码C的码字。对于s(vM)的错误伴随式有:

下面的措施例如是可能的:

在存储器Sp中在地址a下写入具有H矩阵H的线性代码C的码字。

在地址a下读出字并且检验v2是否是代码C的码字,其方式是确定

在此,

如果,则识别到错误并且不需要其它步骤。

如果,则没有识别到错误并且假定成立。

现在形成

并且将在地址a下写入存储器中。

现在从存储器的地址a下读出。

有:

其中。形成:

     

并且于是当是代码C的码字时不推断出有错误。

如果是代码C的码字,则推断不存在错误,并且是代码C的码字。

于是在成立的比特位置中识别出永久的固定0和固定1错误。根据在未被倒置的比特位置中存在什么占用内容,在没有通过与u的逐分量XOR逻辑运算而倒置的比特位置中识别出固定0或固定1错误。

如果选择待倒置比特的集合M,使得对应的行向量u是代码C的码字,则并且可以简单地被确定为

于是如进一步在下面阐述的不需要mod信号。

现在可以形成另一个字,其中,其中集合通过行向量来加以描述,对于该行向量有。

于是当时,并且当时。

可以例如这样来选择向量,使得是代码C的码字。如果C是系统代码,则这可以简单地通过以下方式来进行,即选择码字的任意信息比特作为1并且对于剩余信息比特选择0,并且确定关于该代码的发生器矩阵的所属校验比特。由此对正确校验比特的选择确保是代码的码字。

如果在读出时没有识别到错误,则形成另一个字,其中,其中集合通过行向量加以描述,对于该行向量有,使得当时,并且当时。

例如,又可以被选择为代码C的码向量。通过这种方式可以继续下去,直到例如的所有比特都被倒置至少一次。

如果根据第k步骤有

则向量v的每个比特都被倒置至少一次,并且可以在每个比特位置中识别到永久的固定0错误和永久的固定1错误。如果代码C是错误识别代码的B比特,则可靠地识别到所有1比特、2比特、…、B比特固定错误。

现在借助图阐述特殊的实施例。

在图2a中示出可寻址的存储器Sp11,在该存储器的n比特宽的输入端上施加了n位的数据字。

如果写使能信号WE(写激活信号)被激活并且在地址线路上施加了地址a,则数据字被写入存储器Sp的对应存储器单元中的地址a下。

如果在稍晚的时刻激活读使能信号(读激活信号)并且施加地址a,则从对应的存储器单元中读出存储在地址a下的字,从而在存储器Sp11的n个输出线路上输出数据字。

如果在写入和读出之间没有在存储器中的地址a下写入其它数据字,则如果没有出现错误时有。如果在存储器Sp的输入线路或输出线路上出现错误,例如固定错误,则可能有。在此所输入的数据字是代码C的码字。

错误识别电路FEm12检验是否是代码C的码字。如果没有出现错误,则有并且是码字。

如果在存储器中出现导致输出非码字的错误,则该错误通过错误识别电路FEm12识别并且通过r比特宽的错误信号E=E错误显示。在此,错误信号的字宽。错误识别电路FEm12的控制信号mod在此采取第一值,例如二进制值mod=0。

如果输入的数据字是代码C的逐位倒置的码字而不是代码C的码字,并且没有出现错误,则所输出的逐分量倒置的字是代码C的码字。

错误识别电路FEm12现在检验逐分量倒置的字是否是代码C的码字。控制信号mod在此采取第二值,例如二进制值mod=1。如果在存储器中出现导致非码字的错误,则该错误通过错误识别电路FEm12识别并且通过r比特宽的错误信号E=E错误显示。在此有。

换句话说:错误识别电路FEm12可以具有输入端mod。如果在该输入端上施加第一值(例如0),则这表明如果没有出现错误则在地址a下用字vi-1存储了代码的码字,并且由此输出字vi也是该代码的码字。相反,如果在输入端上施加第二值(例如1),则这表明在地址a下用字vi-1正好没有存储代码的码字。如果没有出现错误则输出字vi也不是该代码的码字。但是在这种情况下当字vi被逐分量倒置时产生的逐分量倒置的字是代码的码字。

如果没有出现错误,则由错误识别电路FEm12输出信号E=E非错误

在例如测试的第一步骤中在存储器中输入码字并且在测试的第二步骤中在存储器中输入逐分量倒置的码字允许例如识别例如任意单个固定0或固定1错误,因为这样的错误的存在性在所输入的相互倒置的字之一中导致有错的输出。

如果所输入的数据字vi-1是代码C的逐位倒置的码字并且同样是代码C的码字,则错误识别电路FEm12检验所输出的数据字vi是否是代码C的码字。在这种情况下控制信号mod仅采取一个值就足以。

如果在程序流程中不需要存储器Sp11,则所描述的错误识别可以被特别有利地在测试中使用,其中不需要通过特殊的测试数据来代替由于程序状态而被存储在存储器Sp1中的数据,这是有利的。

在此假定:存放在存储器Sp11中的数据被用错误识别代码C编码。如果用错误识别代码对数据编码,则该代码在测试中仅被用作错误识别代码,这导致高的错误重叠。

现在应当借助图2b阐述该措施。

在图2b中示出的电路装置由具有k个二进制输入端和n个二进制输出端的编码器Cod21组成,所述输出端被引入到多路复用器22的第一n比特宽数据输入端中,所述多路复用器22具有两个n比特宽数据输入端、一个n比特宽数据输出端以及一个1比特宽控制输入端,控制信号st被引入该控制输入端。

多路复用器22的n比特宽输出端与存储器Sp23的n比特宽数据输入端连接,该存储器具有n比特宽数据输出端。

存储器Sp23的数据输出端同时经由倒置器电路24与多路复用器22的第二数据输入端以及与错误识别电路FEm25的第一n比特宽输入端连接,在该错误识别电路的第二1比特宽输入端上施加控制信号mod并且在该错误识别电路的r比特宽输出端上输出r比特宽的错误信号E。

倒置器电路24例如可以通过n个倒置器实现,这些倒置器连接到存储器Sp23的每个数据输出线路并且它们各自的输出端被引入多路复用器22的第二n比特宽数据输入端。

错误识别电路FEm25在图2b中由错误识别单元FE27和前置的XOR电路26构建,其中该XOR电路26由分别具有两个输入端和一个输出端的n个XOR门, 构建。在n个XOR门中的每一个的每个第一输入端上施加1比特宽的控制信号mod。对于i=1,…,n,存储器Sp23的总共n个比特宽数据输出的第i个分量被引入XOR门的第二输入端中。N个XOR门的输出端与错误识别电路FE的n个输入端连接。错误识别单元FE27检验在它们的n个输入端上施加的信号是否是代码C的码字。如果在它们的输入端上施加码字,则该错误识别单元输出错误信号E=E非错误。如果在其输入端上施加非码字,则该错误识别单元输出错误信号E错误

现在应当描述图2b的电路装置的作用方式。

在普通的功能模式中,存储器被码字占据并且当没有出现错误时从存储器Sp中读出码字。

现在应当阐述该功能模式。

如果多路复用器22的控制信号st等于0,则编码器Cod21的输出端经由多路复用器22与存储器Sp23的数据输入端连接。如果现在在编码器Cod的输入端上施加k比特宽的数据字,则编码器Cod21从该数据字中形成代码C的码字,该码字经由多路复用器22施加在存储器Sp23的输入线路上并且存储在存储器Sp23的特定存储器位置处。存储在所述存储器位置处的数据字现在在存储器Sp23的数据输出线路上输出。

如果不存在错误,则所读出的字是代码C的码字。如果控制信号mod等于0,则通过错误识别电路FEm25不显示错误,因为没有通过XOR门26修改从存储器Sp输出的信号,并且错误识别单元FE27输出显示存在码字的错误信号E=E非错误

如果存在将代码C的码字失真为代码C的非码字的错误,并且如果错误识别电路FEm的控制信号mod等于0,则错误识别单元FE27输出显示存在非码字的错误信号E=E错误

存储器Sp23在普通的功能模式中被在无错情况下是码字的数据占据。

现在所述电路装置可以在测试模式中识别数据输入线路上或数据输出线路上的永久错误,例如固定错误,现在应当对此进行描述。

从存储器Sp23中读出已经存储在特定存储器位置处的字,其中在前面的时刻已经写入码字。错误识别电路FEm25的控制信号mod在此等于0。如果所读出的字是代码C的码字,则错误识别电路FE在其输出端上显示没有错误。现在多路复用器22的控制信号st被选择为st=1并且从存储器Sp读出的、是码字的字通过倒置器电路24逐分量地倒置并且作为逐比特倒置的码字写入存储器中的同一位置处。现在存储的、在无错情况下是代码C的逐比特倒置的码字的字现在被读出。现在可以依据所使用的代码C实现两种情况。

1. 逐比特倒置的码字不是代码C的码字。

2. 逐比特倒置的码字是代码C的码字。

我们首先观察逐比特倒置的码字不是代码C的码字的情况。

错误识别电路FEm25的控制信号被选择为mod=1并且从存储器Sp23读出的字施加在错误识别电路FEm25的输入端上。该控制信号在XOR电路26中被逐比特倒置。如果不存在错误,则整个被两次逐比特倒置的码字又是代码C的码字并且错误识别单元FE27没有输出错误信号。

如果存在可识别的错误,则该错误通过以下方式被识别,即从存储器Sp23读出的以及逐比特倒置的字不是代码C的码字,这将由错误识别单元FE27识别。

现在应当观察逐比特倒置的码字又是代码C的码字的情况。这种情况下,由于逐比特倒置的码字又是代码C的码字,因此仅使用一个控制信号mod就足以,例如控制信号mod=0。于是可以简单地去掉XOR电路。

如果存在导致非码字的错误,则该错误在错误识别电路FEm25的输出端上通过错误信号E错误识别。如果没有识别出错误,则读出的字是代码C的码字。

在图2b中示出的存储器Sp23在此可以是可寻址存储器,如Ram、寄存器文件或简单地就是具有等于代码C的长度n的字宽度的寄存器。该寄存器例如可以由触发电路或锁存器构建并且存储器Sp23的输出端例如可以被引导至总线上或者与CPU连接。

图2c的电路装置与图2b的电路装置的不同之处在于,图2b的存储器23在图2c中被实现为可寻址存储器Sp23a。在图2c中,可寻址存储器Sp23a具有引导地址信号a的地址输入端、用于读使能信号RE的输入端以及用于写使能信号WE的输入端。

在其它方面图2c的电路装置的电路结构与图2b的电路装置的电路结构对应,并且因此不应当再次对其详细描述。

现在在使用读使能信号和写使能信号以及地址信号的条件下描述图2c的电路装置的作用方式。

在普通的功能模式中,存储器被码字占据并且当没有出现错误时从存储器Sp中读出码字。

如果多路复用器22的控制信号st等于0,则编码器Cod21的输出端经由多路复用器22与存储器Sp23a的数据输入端连接。如果现在在编码器Cod的输入端上施加k比特宽的数据字,则编码器Cod21从该数据字中形成代码C的码字,该码字经由多路复用器22施加在存储器Sp23a的输入线路上,并且当写使能信号WE被激活并且在地址输入端上施加地址a时被写入存储器Sp23a的地址a下。

如果读使能信号RE是激活的并且地址a施加在存储器Sp23a的地址输入端上,则读出在地址a下存储的字。如果不存在错误,则所读出的字是代码C的码字。如果控制信号mod等于0,则通过错误识别电路FEm25不显示错误,因为没有通过XOR门26修改从存储器Sp23a输出的信号,并且错误识别单元FE27输出显示存在码字的错误信号E=E非错误

如果存在将代码C的码字失真为代码C的非码字的错误,并且如果错误识别电路FEm的控制信号mod等于0,则错误识别单元FE27输出显示存在非码字的错误信号E=E错误

存储器Sp23在普通的功能模式中被在无错情况下是码字的数据占据。

现在所述电路装置可以在测试模式中识别数据输入线路上或数据输出线路上的永久错误,例如固定错误,现在应当对此进行描述。

从存储器Sp23a中读出在地址a下的字,其中在前面的时刻已经在地址a下写入码字。错误识别电路FEm25的控制信号mod在此等于0。如果所读出的字是代码C的码字,则错误识别电路FE27在其输出端上显示没有错误。

现在多路复用器22的控制信号st被选择为st=1并且从存储器Sp读出的、是码字的字通过倒置器电路24逐分量地倒置并且作为逐比特倒置的码字写入存储器中的同一地址a下。现在在地址a下存储的、在无错情况下是代码C的逐比特倒置的码字的字现在被读出。现在可以依据所使用的代码C实现两种情况。

1. 逐比特倒置的码字不是代码C的码字。

2. 逐比特倒置的码字是代码C的码字。

我们首先观察逐比特倒置的码字不是代码C的码字的情况。

错误识别电路FEm25的控制信号被选择为mod=1并且从存储器Sp23a读出的字施加在错误识别电路FEm25的输入端上。该控制信号在XOR电路26中被逐比特倒置。如果不存在错误,则整个被两次逐比特倒置的码字又是代码C的码字并且错误识别单元FE27没有输出错误信号。

如果存在可识别的错误,则该错误由错误识别单元FE27通过以下方式被识别,即从存储器Sp23a读出的以及逐比特倒置的字不是代码C的码字。

现在应当观察逐比特倒置的码字又是代码C的码字的情况。这种情况下,由于逐比特倒置的码字又是代码C的码字,因此仅使用一个控制信号mod就足以,例如控制信号mod=0。于是可以简单地去掉XOR电路26。

通过施加存储器的地址a以及激活读使能信号,读出在地址a下的数据字,其中控制信号mod例如具有值mod=0。如果存在导致非码字的错误,则在错误识别电路FEm25的输出端上的错误通过错误信号E=E错误加以识别。如果没有识别出错误,则读出的字是代码C的码字。

在图3中示出图2b的电路装置的修改。

图3的与图2b所描述的电路部件对应的电路部件在图3中用与图2b中相同的附图标记表示,并且不应当被再次描述。

与图2b不同,多路复用器22的n个输出线路的子集经由非门31(倒置器31)与存储器Sp23的对应数据输入线路连接,所述倒置器例如将施加在其各自输入线路上的信号值倒置。对应的数据输出线路同样经由倒置器32引导并且由这些倒置器32倒置,其中电路输出端与倒置器电路24的对应输入端并且与错误识别电路FEm25的对应输入端连接。

如果例如由编码器21输出码字v并且当多路复用器22的控制信号st等于0时在多路复用器22的输出端上输出该码字,则经由倒置器31与存储器23的对应数据输入端连接的v的分量被倒置并被存储在存储器Sp23中。

例如,多路复用器22的第一二进制输出端和第三二进制输出端分别经由倒置器31与存储器23的第一二进制数据输入端和第三二进制数据输入端连接。

如果由编码器21输出码字,则当写使能信号WE有效并且在地址输入端上施加地址a时在存储器Sp23中的地址a下存储字。

现在如果读使能信号RE有效并且在地址输入端上施加地址a,则当没有出现错误时在对应存储单元中存储的字经由第一和第三数据输出线路的倒置器输出,从而在电路输出端上以及在倒置器电路24和错误识别电路FEm25的输入端上提供字。

倒置器31和32的这种使用可能是有利的,因为它们允许识别导致所有存储单元例如错误地采取值0的存储器错误,这在该值0(该值在安装倒置器的位置上被倒置)不是代码C的码字时作用为可通过错误识别电路FEm25识别的错误。

在图4中示出图2b的电路装置的另一种修改。

图4的这种与图2b的业已描述的电路部件对应的电路部件在图4中具有与在图2b中描述的相同的附图标记,并且不应当被再次描述。

与图2b不同,图2b的倒置器电路24被受控的XOR电路28代替,其中XOR(异或)电路28由n个分别具有两个输入端和一个输出端的XOR门构建。

n个XOR门28的每一个第一输入端分别与多路复用器22的每一个二进制输出端连接,而XOR门的每一个第二输入端连接到携带信号mod?的控制输入端。因此,如果信号mod?=1,则在多路复用器22的输出端上输出的信号被倒置地写入存储器23中。

XOR门的n个输出端与存储器Sp23的n个数据输入端连接。

例如可能的是,当对应的控制信号st施加在多路复用器22上时,由多路复用器22的输出端输出n比特宽的字,该字的n个分量在n个XOR门的n个第一输入端上施加n比特宽的字v。此外可以在n个XOR门的n个第二输入端上施加信号mod?。

首先该信号mod?的值例如可以采取第一值,例如0。然后字v不加改变地保留并且被写入到存储器23的n个存储单元中。接着从存储器23中读出n个存储单元。然后n个存储单元的n个读出的值施加在错误识别电路FEm25上。此外,控制信号mod施加在FEm25上,该控制信号例如同样采取上面提到的第一值,例如0,并且由此表明:在XOR电路28上已经施加了具有第一值0的信号mod?,就好像数据字v在那里被异或逻辑运算那样。然后错误识别电路FEm25在使用控制信号mod的信息的条件下运行错误识别。

此外,n个从存储单元读出的值近似反馈地施加在多路复用器22上。现在信号mod?可以被设置为第二值,例如设置为值1。多路复用器的控制信号st现在可以被改变为,使得不是n比特宽的字v,而是从存储器23读出的、n个存储单元的n个值通过XOR电路28。由于信号mod?现在采取值1,因此从n个存储单元读出的n个值现在分别与1异或逻辑运算,也就是被倒置。然后这样被倒置的值又被写入存储器23的n个存储单元中。接着n个存储单元的值又被读出,然后读出的值施加在错误识别电路FEm25上。此外施加在错误识别电路FEm25上的控制信号mod被设置为上面提到的第二值1,由此向错误识别电路FEm25表明:在XOR电路28上已经施加了具有第二值1的信号mod?,也就是该信号在XOR电路28上被倒置了。

在该流程的情况下观察时间顺序。为了将n个存储单元的“反馈”读出的n个值倒置,必须在n个存储单元的“反馈”读出的n个值经过XOR电路28之前将信号mod?设置为值1。但是在该时刻,n个存储单元的所读出的n个值还以其“未倒置的形式”施加在错误识别电路FEm25上。因此要注意:错误识别电路FEm25的控制信号mod在正确时刻从0置于1。

在一种实施方式中,例如错误识别电路FEm28的控制信号mod比信号mod?稍晚地被设置为值1。

在另一个实施方式中例如XOR电路28的信号mod?以及错误识别电路FEm28的控制信号mod同时从0被设置为1,但是例如通过在错误识别电路FEm28上的对应时钟信号保证:错误识别电路FEm28要在现在被倒置的值已从存储器中读出并且施加在错误识别电路FEm28上时才基于控制信号mod的新值1运行错误识别。

图5示出图2a的错误识别电路FEm12专用于二进制线性错误识别代码C的构型。

错误识别电路FEm12包括伴随式发生器Syn51、部分倒置器paInv52以及OR(或)电路53。

存储器Sp11的n个二进制输出端如在图2a中所示那样与错误识别电路FEm12的输入线路连接,这些输入线路被引入伴随式发生器Syn51的n个输入端中并且作用于m=n-k个二进制输出线路。

伴随式发生器Syn51被构成为,使得其从施加在其输入端上的二进制值中根据下式形成m位的伴随式:

其中H是代码C的(m,n)校验矩阵,是具有m个分量的列向量,并且是具有n个分量的列向量。

部分倒置器paInv52被构成为,使得在停用mod信号时输入端的m个值被直接转发到输出端。

相反如果激活mod信号,则从在其m个输入端上施加的伴随式s的分量中形成经过修改的伴随式。在此,或者

其中通过

确定并且由此t是数据字的伴随式。

用于1,2,…,m的部分倒置器paInv52例如可以通过以下方式实现,即当时,伴随式发生器的携带伴随式s的分量的第j个输出线路连接到具有两个输入端和一个输出端的XOR门的第一输入端中,在该XOR门的第二输入端上施加控制信号mod并且该XOR门的输出端是部分倒置器paInv52的第j个输出端。如果,则引导伴随式s的分量的第j个输入线路直接地、无倒置地与部分倒置器paInv52的第j个输出端连接。

经过修改的伴随式是从中通过伴随式发生器Syn51和部分倒置器paInv52根据下式确定的:

OR电路53具有m个二进制输入端和一个二进制输出端,该输出端携带错误信号E,其中有

OR电路53例如可以被构建为由具有两个输入端和一个输出端的OR门构成的树,如专业人员所已知的。

图6示出一个实施例,其中代码C既可以用于错误识别又可以用于错误校正。

图6的与图2b的电路部件对应的电路部件具有相同的附图标记并且不应当被再次描述。

除了错误识别电路FEm25之外,在图6的实施例中还存在校正器Kor61,该校正器被配置为使得其从由存储器Sp23输出的值中确定n位的二进制校正向量,该校正向量在XOR电路62中与由存储器Sp23输出的值逐分量地逻辑运算为。

校正器Kor61在所述电路的功能模式中使用。

不需要在测试模式中纠正从存储器读出的值,从而校正器Kor61可以在测试描述中被关闭。

用于纠错码C的校正器Kor61的草案是专业人员已知的。

图7针对一个实施例示出错误识别电路FEm74和校正器Kor72如何能在二进制代码C的情况下被共同实现。

图7中的错误识别电路FEm74和图5中的错误识别电路FEm12在此同样都由部分电路Syn51、paInv52和OR电路53构建,从而图7中的错误识别电路FEm74不应当被再次描述。

伴随式发生器Syn51的输出端在图7中同时与部分倒置器paInv52的第一n比特宽输入端以及与解码器Dec71的n比特宽输入端连接,该解码器被配置为使得其从在其输入端上施加的、由伴随式发生器输出的伴随式s中确定n比特宽的校正向量,该校正向量被用XOR电路73逐分量地与XOR逻辑运算为经过纠正的字。

校正器Kor72在此包括伴随式发生器Syn51和解码器Dec71,该伴随式发生器也是错误识别电路FEm74的一部分,从而校正器Kor72和错误识别电路FEm74被共同地实现,这导致电路耗费的减少并由此是有利的。

图8示出图6的电路装置的修改,其中校正器Kor81确定既用于非倒置又用于倒置的存储器字的、具有错误位置的错误向量e。

图8的与图6所描述的电路部件对应的电路部件在图8中用于图6中相同的附图标记表示,并且在此不再次加以描述。

在图6中仅在运行模式中激活并且不在测试模式中激活的错误校正电路61在图8中被经过修改的错误校正电路Kor81代替,该错误校正电路Kor81也为倒置的码字确定错误向量e并且由此确定所涉及的有错的存储器位置。

错误校正电路Kor81被配置为,使得其向从存储器Sp23读出的n位存储器字分配n位的错误向量。在此,在第一mod信号的情况下,也就是例如mod=0的情况下假定:在存储器Sp23中存放了码字,相反如果施加第二mod控制信号,也就是例如mod=1,则假定在存储器Sp23中存放了被倒置的码字。

n位的输出e被用XOR电路62与从存储器Sp23读出的n位字逐分量地逻辑运算为并且由此纠正可能的1,2,…,B比特错误。

校正器在所述电路的运行或功能模式中被应用于校正存储器字,并且在测试模式中可以被用于对有错的存储单元定位。

借助图9阐述用于实现校正电路Kor81的可能性。

图9示出错误识别电路FEm91和错误校正电路Kor81的另一种共同实现,其中校正器Kor81显示既用于未倒置的存储器字又用于经过倒置的存储器字的具有错误位置的错误向量e。

错误识别电路FEm91以及错误校正电路Kor81在此包括与图7的错误识别电路FEm74和错误校正电路Kor72相同的部分电路——伴随式发生器Syn51、部分倒置器paInv52、OR电路53和解码器Dec71。

在图9中部分倒置器paInv52的m比特宽输出端同时被引入解码器71的m比特宽输入端和OR电路53的m比特宽输入端中。

如果控制信号mod等于0,则伴随式发生器Syn51的未倒置的输出值直接施加在解码器71的m个输入端上,并且解码器71确定n比特宽校正向量,该校正向量在XOR电路62中与被XOR逻辑运算为。

如果控制信号mod等于1,则是从存储器输出的数据字,在该数据字中已经引入了倒置的码字。

如果不存在错误,则是代码C的逐分量倒置的码字。

如果在输出的数据字中存在错误,则与代码C的逐分量倒置的码字相差错误向量。

在部分倒置器paInv52的输出端上输出数据字的被部分倒置的伴随式分量,这些伴随式分量被引入解码器71的m个输入端中并同时被引入OR电路53的m个输入端中,该OR电路在其输出端上输出错误信号E。

解码器Dec71形成n比特宽的校正向量,该校正向量在XOR电路62中与数据字被逐分量地XOR逻辑运算为,其中形成经纠正的数据字。在此曾经假定,通过错误向量e描述的、数据字中的错误是可通过代码C纠正的错误,从而校正向量等于错误向量。为了诊断的目的,可以在输出端92上读出在错误可通过代码C纠正的情况下等于错误向量的校正向量e。

图10示出一种电路装置,其中借助编码器21、错误识别电路FEm140和错误校正电路Kor150保护n位存储器23。可以借助部分倒置器paInvl 110和paInv2 120在两个步骤中对存储器字进行倒置。在此,存储器23的n位输出端与部分倒置器paInvl 110和paInv2 120的n位输入端连接。部分倒置器的输出端经由多路复用器130连接到存储器Sp23的n位输入端。部分倒置器110,120倒置输入线路的两个子集,其中两个子集的并集包括所有输入线路。

如果存储器字未被倒置,则等于0的控制信号mod施加在错误识别电路FEm140上。如果借助部分倒置器paInvl倒置了存储器字,则等于1的控制信号mod施加在错误识别电路FEm140上,并且如果借助部分倒置器paInv2倒置了存储器字,则等于2的控制信号mod施加在错误识别电路FEm140上。

校正器Kor150确定具有错误位置的既用于非倒置又用于部分倒置的存储器字的错误向量e,其中控制信号mod表明是未被倒置、借助第一部分倒置器paInv1 110倒置还是借助第二部分倒置器paInv2 120倒置。

现在应当针对特殊代码阐述实施方式。

表1:

0000000000100100100010011010010000101010100110010011101110000011001010101001010110111100010110101111100111111100

表1示出伯格码的码字,伯格码对1而不是0计数,具有4个数据比特以及3个校验比特。校验比特是数据比特的1的数目的二进制表示。从而例如在第1行中向数据比特分配校验比特以及在16行中向数据比特分配校验比特,其中对应于0的二进制表示,而对应于4的二进制表示。

该代码是非线性的,因为码字例如逐分量的XOR和没有得到伯格码的码字。

该代码的码距是2,因为码字和有两比特不同并且新的码字不能仅仅通过改变已有码字的一个比特得到。

例如在图2c的专用实施方式中,图2c中的编码器Cod21可以为所描述的伯格码从数据比特中形成根据表1的码字。

如果多路复用器22的控制信号st等于0,则地址a施加在地址输入端上,并且写使能信号WE被激活,然后被存储在存储器Sp23a的地址a下。作为示例观察数据比特0100,根据表1向其分配校验比特001,从而被存储在存储器Sp23a中。

现在如果读使能信号RE被激活,施加地址a并且在引导比特的第一数据线路上存在固定0错误,则从存储器Sp23a中读出。

现在如果控制信号st=1,控制信号mod=0并且写使能信号WE被激活,则字在倒置电路24中被倒置为并且被写入存储器Sp23a的地址a下。

由于控制信号mod=0,因此将被输入错误识别电路FEm25中的读出的字不加改变地通过XOR电路26引导至错误识别电路FE27的输入端上,该错误识别电路FE27检验是否是伯格码的码字。由于是伯格码的码字,因此错误识别电路FE27输出错误信号E=E非错误

现在激活存储器Sp23a的读使能信号RE,在该存储器的地址输入端上施加地址a。由于在第一数据线路上存在固定0错误,则从存储器Sp23a读取施加在错误识别电路FEm25的输入端上的字。

控制信号mod等于1,并且通过XOR电路26逐比特倒置的字施加在错误识别电路FE27的输入端上,该错误识别电路FE27检验是否是伯格码的码字。由于不是伯格码的码字,因此错误识别电路FE27输出错误信号E=E错误,这表明错误。第一数据线路上的固定0错误已被识别。

作为另一实施例现在应当观察具有3个数据比特和3个校验比特的、具有H矩阵的缩短的汉明代码:

错误伴随式通过

确定,其中

并且有

发生器矩阵G以系统形式从H矩阵中得到

通过G矩阵从数据比特中得到码字作为

并且由此

作为示例观察数据字,该数据字通过编码器Cod21编码为码字。

如果控制信号st=0,写使能信号WE被激活并且在存储器Sp23a的地址线路上施加地址a,则如果不存在错误则码字101001被存储在地址a下。

现在假定:引导数据比特的第一输入线路具有固定1错误。由于写入的比特,因此该错误首先不起作用。

现在如果读使能信号被激活并且在存储器Sp23a的地址线路上施加地址a,则在存储器Sp23a的输出线路上输出。现在值101001施加在错误识别电路FEm25的输入端上并且同时施加在非门电路24的输入端上。

控制信号mod等于0,从而XOR电路26将信号101001不加改变地传递给错误识别单元FE27的输入端。由于101001是所观察的代码的码字,因此错误识别单元FE27输出错误信号E=E非错误,从而表明没有错误。

在非门电路24的输出端上提供值010110。

如果多路复用器22的控制信号st=1,写使能信号WE被激活并且在地址输入端上施加地址a,则信号110110被存储在存储器Sp23a中,其中第一分量由于存在固定1错误而等于1。

现在如果读使能信号RE被激活并且在存储器Sp23a的地址线路上施加地址a,则从存储器Sp23a中读出信号110110,该信号施加在错误识别电路FEm25的输入端上。

控制信号mod现在等于0,从而在XOR电路26中将110110倒置为001001并且施加在错误识别单元FE27的输入端上。

由于001001不是所观察的代码的码字,因此错误识别单元FE27输出错误信号E=E错误,这表明有错误。

例如在图5的特殊实施方式中,图5可以示出用于线性代码的错误识别电路FEm12或25的构型。

这样的特殊实施方式可以包括伴随式发生器Syn51、部分倒置器paInv52和OR电路53。

在图5的这种特殊实施方式中,伴随式发生器51实现以下等式:

由于有,因此当mod=1时,部分倒置器paInv52对伴随式的第二和第三分量倒置。

于是修改的伴随式通过下式确定,从而该伴随式的比特s2和s3被倒置:

现在如果在错误识别电路FEm12的输入端上施加字101001并且控制信号mod=0,则伴随式发生器形成伴随式,该伴随式不通过部分倒置器paInv修改,从而有。

OR电路形成错误信号OR(0,0,0)=0=E非错误,从而表明没有错误。

现在如果(不是正确的倒置值010110而是)值110110施加在伴随式发生器Syn51的输入端上,则伴随式发生器Syn51在其输出端上输出伴随式:。由于控制信号mod=1,则第二和第三比特被倒置,从而有s* = 并且OR电路53输出错误信号E=1=E错误,从而识别出在存储器的第一数据输入端上存在固定1错误的错误。

例如,在图10的特殊实施方式中,图10可以示出其中存储器字的倒置分两个步骤完成的实施例。示例性地例如可以假定:部分倒置器parInv1 110例如对每第二个比特倒置,也就是在存储器字上加上向量(101010),而部分倒置器parInv2 120在第二步骤中例如倒置其它输入端,也就是在存储器字上加上向量(010101)。

由于利用上述H矩阵H有:

因此可以如下说明修改的伴随式:

从而该伴随式的比特和被倒置。被修改的伴随式既可以在错误识别电路FEm140中也可以在校正电路Kor150中使用。由于并且由此修改的伴随式对于值mod=0和mod=2采取相同的值,因此不需要第二控制线路mod并且可以在所使用的代码情况下放弃该第二控制线路。

作为另一个实施例现在观察具有4个数据比特和4个校验比特、具有H矩阵的Hsiao代码

对于该代码第All-1向量是码字,因为。该代码的发生器矩阵是

数据字被转换为码字 。由于是码字,因此也是码字。

例如为了阐述而示例性地参照图2c并且假定:码字(11000011)在存储器Sp23a中存储在地址a下并且不存在错误。

如果地址a施加在存储器Sp23a的地址线路上并且读使能信号RE被激活,则在存储器Sp23a的数据线路上输出字11000011并且该字由此施加在倒置器电路24的输入端上以及错误识别电路FEm25的输入端上。控制信号mod等于0并且错误识别单元FE27输出错误信号E=E非错误,由此表明不存在错误,因为11000011是码字。

在倒置器电路24的输出端上形成字00111100。如果控制信号st=1,写使能信号WE被激活并且地址a施加在存储器Sp23a的地址输入端上,则现在字00111100被存储在存储器Sp23a的地址a下。

现在如果读使能信号RE被激活并且地址a还施加在存储器Sp23a的地址输入端上,则字00111100从存储器Sp23a中读出并施加在错误识别电路FEm25的输入端上。如果控制信号mod等于1,则码字00111100被倒置为码字11000011并且该字施加在错误识别单元FE27上,该错误识别单元检验00111100是否是码字。

由于00111100是码字,因此错误识别电路FE27输出错误信号E=E非错误,其表明不存在错误。

当控制信号mod被选择为等于0时也得到相同的结果,因为11000011是码字并且11111111也是码字。

因此如果11111111是所观察的二进制代码的码字,则不需要应用不同的控制信号mod=0或mod=1。

于是可以始终使用控制信号mod=0或者简单地放弃XOR电路26。

相反,如果存储器字如在根据图10的实施例中那样分为两个步骤被倒置,则例如需要控制信号mod。

如果例如有:

则如下地说明修改的伴随式

从而用于错误识别电路FEm140和错误校对电路Kor150的伴随式的比特, , 和被倒置。

虽然已经结合设备描述了一些方面,但是应当理解,这些方面也表示对应方法的描述,从而设备的方块或部件也应被理解为对应的方法步骤或被理解为方法步骤的特征。与此类似,结合方法步骤或作为方法步骤描述的方面也表示对应设备的对应方块或细节或特征的描述。方法步骤中的一些或全部可以通过例如微处理器、可编程计算机或电子电路的硬件设备(或在使用硬件设备的条件下)得以执行。在几个实施例中,最重要方法步骤的一些或多个可以通过这样的设备实施。

根据特定的实现要求,本发明的实施例可以用硬件或软件来实现。该实现可以在使用数字存储介质(例如软盘、DVD、蓝光盘、CD、ROM、PROM、EPROM、EEPROM或闪存、硬盘或其它磁性或光学存储器)的条件下得以执行,在该存储介质上存储可电子读取的控制信号,所述控制信号能够与可编程计算机系统一起作用或者与可编程计算机系统一起作用,使得相应的方法得以执行。因此数字存储器介质可以是可计算机读取的。

根据本发明的一些实施例因此包括具有可电子读取的控制信号的数据载体,所述控制信号能够与可编程计算机系统一起作用,使得在此描述的方法之一得以执行。

总之,本发明的实施例可以被实现为具有程序代码的计算机程序产品,其中该程序代码的作用是当所述计算机程序产品在计算机上运行时执行这些方法之一。

该程序代码例如也可以存储在可机器读取的载体上。

其它实施例包括用于执行在此描述的方法的计算机程序,其中计算机程序存储在可机器读取的载体上。换句话说,按照本发明方法的实施例由此是一种具有程序代码的计算机程序,该程序代码用于当该计算机程序在计算机上运行时执行在此描述的方法之一。

本发明方法的另一个实施例由此是数据载体(或者数字存储介质或可计算机读取的介质),在该数据载体上记录了用于执行在此描述的方法之一的计算机程序。

本发明方法的另一个实施例由此是数据流或信号序列,该数据流或信号序列表示用于执行在此描述的方法之一的计算机程序。该数据流或信号序列例如可以被配置为经由数据通信连接、例如经由互联网传输。

另一实施例包括一种处理装置,例如计算机或可编程逻辑部件,该处理装置被配置或适配为执行在此描述的方法之一。

另一实施例包括一种计算机,在该计算机上安装了用于执行在此描述的方法之一的计算机程序。

根据本发明的另一实施例包括被设计为将用于执行在此描述的方法至少之一的计算机程序传输至接收器的设备或系统。该传输例如可以电子或光学地进行。该接收器例如可以是计算机、移动设备、存储设备或类似设备。所述设备或系统例如可以包括用于将计算机程序传输至接收器的文件服务器。

在一些实施例中,可以将可编程逻辑部件(例如现场可编程门阵列,FPGA)用于执行在此描述的方法中的一些或所有功能。在一些实施例中,现场可编程门阵列可以与微处理器一起作用,以执行在此描述的方法之一。总之,在几个实施例中的方法可在任意硬件设备上执行。该硬件设备可以是可通用的硬件,如计算机处理器(CPU),或者是专用于该方法的硬件,例如ASIC。

上述实施例仅表示对本发明的原理的说明。应当理解,对其它专业人员来说在此描述的布置和细节的修改和变化是显然的。因此本发明意欲仅通过下面权利要求的保护范围而不通过特殊的细节限制,所述特殊的细节在此是借助对实施例的描述和阐述来呈现的。

文献

[1] Sundberg, C.-E. W., “Erasure and Error Decoding for Semiconductor Memories”, IEEE Trans. Computers C-27, 696-705, 1978年8月.

[2] Carter, W. C.和McCarthy, C. E., “Implementation of an Experimental Fault-Tolerant Memory System”, IEEE Trans. Computers C-25, 557-568, 1976年6月.

[3] Chen, C.和Hsiao, M. "Error Correcting Codes for Semiconductor Memory Application, a State of the Art Review", IBM Research and Development, Vol. 28, No. 2, 1984年3月.

[4] Lin, S. Costello D. “Error Control Coding”, Prentice Hall, 1983。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号