CN1585987A - 存储器测试 - Google Patents
存储器测试 Download PDFInfo
- Publication number
- CN1585987A CN1585987A CNA02822437XA CN02822437A CN1585987A CN 1585987 A CN1585987 A CN 1585987A CN A02822437X A CNA02822437X A CN A02822437XA CN 02822437 A CN02822437 A CN 02822437A CN 1585987 A CN1585987 A CN 1585987A
- Authority
- CN
- China
- Prior art keywords
- memory cell
- test
- content
- storer
- memory
- 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.)
- Granted
Links
Images
Classifications
-
- 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
Abstract
本发明涉及一种用于运行和/或测试存储器的方法和装置,其可以在运行期间省时地测试半导体存储器。在该用于测试具有存储器单元(1)的存储器(2)的方法中,根据为各存储器单元(1)配置的可变参数和各存储器单元(1)的内容,分别为各存储器单元(1)形成第一检查信息。
Description
技术领域
本发明涉及一种用于测试和/或运行具有存储器单元的半导体存储器的方法及装置。
本发明涉及一种用于测试和/或运行具有存储器单元的半导体存储器的方法及装置,尤其是长时间不间断工作的防错保护系统中的存储器。在这种防错保护系统中,通常必须在运行中识别出硬件故障。
背景技术
用于二进制信号的存储器属于数字信息处理系统中最重要的功能单元。除其它之外,它们还作为数字计算机、测量仪器中的程序和数据存储器、作为代码转换器,并一般用于实现组合逻辑电路。数字存储器是多个存储器单元的结构,这些单元这样组织,使得可以从外部访问每个存储器单元。在所谓的字组织的存储器中,可以同时寻址并平行读出或写入一个字的所有位。由此,对于一个k位的字,将一个字的全部k位视为一个存储器单元。除非另作说明,以下将始终把一个存储器单元理解为一个k位宽的字。只寻址一位的情况为位组织。
以前的申请DE 10037992描述了一种在线测试概念,其中,在运行期间每隔一定的时间对硬件成块地进行测试。为此预先定义时间间隔,其中,周期性地测试硬件,然后在运行继续之前,重新产生初始状态。该描述的概念允许对状态机(FSM,有限状态机)以及所谓的随机逻辑进行在线测试。
发明内容
本发明要解决的技术问题在于,在运行期间可以对半导体存储器进行省时的测试。
该技术问题是通过一种用于测试和/或运行具有存储器单元的存储器的方法解决的,其中,根据为各存储器单元配置的可变参数和各存储器单元的内容,为各存储器单元分别形成第一检查信息。
该技术问题还通过一种具有带存储单元的存储器的装置解决,其中,根据为各存储器单元配置的可变参数和各存储单元的内容,为各存储器单元配置第一检查信息。
本发明基于这样的认识,通过相对简单的电路技术措施,可以使用为存储器单元形成检查信息的可变参数显著提高存储器测试的效率。根据本发明的方法和根据本发明的装置可以识别在寻址、写入和读出过程中的错误。与目前公知的存储器测试不同,本发明的测试时间耗费与存储器单元的数目n乘以m=log2n成正比,而不是与地址空间n的平方成正比。随着存储器规模的增长,采用本发明的算法可以带来极大的效益,因为与目前的方法相比,其测试时间耗费随着存储器增长而急剧下降,但尽管如此也可以识别寻址错误。
在本发明的优选实施方式中,在一个或多个测试循环中进行存储器测试。为了有效识别错误,尤其是为了识别寻址错误,建议在各测试循环的第一阶段对所有存储器单元进行基本测试。在该基本测试中,读出各存储器单元的内容,并将该内容扩展第一检查信息后再写入各存储器单元,其中该第一检查信息根据一个为各存储器单元配置的可变参数以及先前读出的各存储器单元的内容形成。在测试循环的第二阶段,在对应于第一阶段读取所有存储器单元并再写入之后,重新读取存储器单元的内容,从该第二阶段读取的内容中确定第二检查信息,并将该第二检查信息与存储的第一检查信息比较。
根据本发明的存储器测试的第一阶段也可以优选地用于,写入和读取存储器单元来识别在写入、读取和存储过程中的错误,尤其是用于识别在存储器单元内的耦合错误(所谓的水平耦合错误)。如果根据本发明的另一实施方式,在基本测试的基本测试循环结束时将第一阶段读出的内容写入各存储器单元,则存储器被重新设置到其在存储器测试之前相同的状态。
上述为存储器单元配置的可变参数可以构成为可变奇偶校验。奇偶校验表示最简单的、涉及信息率的最有效的编码。利用奇偶校验可以百分之百地识别出一位的错误。如果将可变参数构成为可变奇偶校验,则根据为各存储器单元配置的可变奇偶校验和根据各存储器单元的内容形成一个附加位(所谓的奇偶校验位)作为第一检查信息。该奇偶校验位这样形成,将该奇偶校验位补充到各存储器内容为1的位的总数上使之成为偶数(可变奇偶校验为偶数时)或奇数(可变奇偶校验为奇数时)。在第一阶段,将扩展了奇偶校验位的内容写入存储器单元。在第二阶段,从重新读出的存储器单元的内容中确定第二检查信息,其在应用可变奇偶校验时构造为可变奇偶校验位,即作为关于在第二阶段所读出内容中为1的位的总数是偶数还是奇数的信息。
根据本发明的方法尤其用于识别耦合错误,其中,耦合错误通过一个或多个存储器单元与一个存储器地址的错误对应来标识出。如果测试循环数与二进制表示的存储器地址的地址位数对应,且在每个测试循环中用另一地址位形成可变检查信息或可变奇偶校验,则耦合错误可以特别简单地识别出来。为了也能识别已耦合的存储器单元具有高于耦合单元的地址的错误,建议在测试循环的第一阶段,以存储器地址的升序测试对应的存储器单元,在该测试循环的第二阶段,以存储器地址的降序测试对应的存储器单元。
如果在功能运行时也利用可变奇偶校验工作,则访问存储器的软件必须始终具有确定奇偶校验的地址位,并从中获得当前的奇偶校验。这个问题可以绕开,如果在用存储器地址读访问存储器单元时,通过将各存储器地址的一个确定奇偶校验的地址位与各存储器单元的第一检查信息进行异或逻辑运算来形成一个固定奇偶校验,并且在写访问该存储器单元时,通过将该固定奇偶校验与该确定奇偶校验的地址位进行异或逻辑运算来形成第一检查信息的话。即,在内部以可变奇偶校验位工作,但是在读访问时则向外界提供固定奇偶校验,或在写访问时将软件提供的固定奇偶校验在内部转换为可变奇偶校验。
对于具有两个通道结构的硬件,当为测试具有存储器单元的存储器时,在至少两个不同的组件单元上分别形成访问数据的签名,并将该形成的签名相互比较以识别错误,则可以提高错误识别率。
本发明的方法还可以优选地由用于在生产存储器和/或存储器的开电测试时的内置自测试(Build-In Self Test,缩写为BIST)。
附图说明
下面借助附图所示实施方式详细描述和解释本发明。其中示出了:
图1示出了用于测试存储器单元的基本测试循环,
图2示出了以3*k位FIFO为例的基本测试循环,
图3示出了用于实现基本测试循环的硬件结构,
图4示出了在两个信道的结构中访问数据的签名形成,
图5示出了所谓的耦合错误的情景,
图6示出了读取过程中利用固定奇偶校验的内部数据处理,
图7示出了写入过程中利用固定奇偶校验的内部数据处理。
具体实施方式
下面借助附图详细解释用于测试存储器的方法的各步骤以及具有存储器的装置的部件。除非另作说明,存储器的概念就理解为具有自由选择访问的静态半导体存储器,也称为读写存储器(RAM,随机存取存储器)和/或只读存储器(ROM)。
将存储器测试与在线测试相联系需要一定的时间和组织耗费。有关标准(DIN19250/19251,DIN0801,DIN0801/A1以及IEC61508)定义了要求类或要求在以下过程中识别错误:
·寻址
·写入
·存储
·读取
与寻址错误相反,其它三类错误(写入、存储和读取)可以利用相对简单的硬件结构和算法来识别。而对于寻址错误,尤其是识别多重寻址以及耦合错误要耗费相对较多的时间。因此,首先应当观察其余三类错误,并借助图1和图2将基本测试的概念用于识别该错误。然后必须根据所期望的可靠级别的要求(Ak或SIL)采取其它附加措施。
图1示出了基本测试概念的一个基本测试循环的各步骤21至30。在该基本测试循环内,在写入、存储和读取过程中测试存储器单元1的错误。该基本测试循环以初始化一个FIFO(先进先出存储器)21开始。在下个步骤22,读出待测试存储器单元1的内容,并在下个步骤23存储在锁存器8(锁存器=寄存器)中。在数字技术中,将锁存器理解为双稳态开关元件(触发器),借助其可以采集、临时存储和再输出信息。与单个R-S触发器不同,该信息不仅由一位组成,还由具有多个位的数据字组成。在步骤24,将锁存器8的内容、即读取数据存储在FIFO中,并在步骤25将FIFO的输出写入存储器单元1。在下个步骤26,再读出存储器单元1,并在步骤27将读取数据再写入锁存器8。在步骤28,将锁存器8中的读取数据与FIFO的输出数据比较。在步骤29,根据是否重新产生了存储器单元1的原始内容(与所采用的FIFO深度有关),将直接执行步骤30或重复从步骤24开始的过程。在步骤30,增量地址计数器。地址计数器在增量之后指向下一个将在下个基本测试循环中测试的存储器单元,该基本测试循环又由相应的步骤22至30组成。在重复执行基本测试循环时没有必要执行第一步骤21,因为FIFO已经通过实施在前的基本测试循环而被正确地初始化。
图2中以3*k位的FIFO 9为例示出了对应于图1的过程。为简单起见,首先观察一个同步的、静态的和单向的存储器,其为按字节(即k=8)形式组织的。为此,在图2中示出了完整的基本测试循环40,其在8个脉冲31至38内运行。可以利用6次存储器访问,3次写入3次读出,来检查每个存储器单元1的写入、存储和读取的全过程。对于一个k位字,该字的全部k位被视为一个存储器单元。在该测试结束时,重新产生原始的单元内容(即功能数据)。原则上写数据从FIFO 9中取出,而读数据则传送到FIFO9中。在开始实际测试之前,初始化FIFO 9,即最上两级FIFO用内容AA’X以及55’X预先占用。如果k≠8,则相应地用位模式“1010...”以及“0101...”占用最上面的两级。
最底级的内容是随机数据##’X。存储器单元1在开始包含内容SP’X。这里应当利用后缀’X表示一个十六进制数。整个基本测试循环40总共需要8个脉冲31至38来测试存储器单元1。下面将在各脉冲31至38期间描述该过程。在第一脉冲31,读出存储器单元1的原始内容SP’X,并放入位于存储器2输出端的锁存器8中。FIFO 9的内容对应于初始化。在第二脉冲32,将读取的内容SP’X从锁存器8中放入FIFO 9中。在同一脉冲32,FIFO9的输出数据55’X写入存储器单元1中。在接下来的第三脉冲33,又从存储器单元中读出最后写入的数据55’X并存储到锁存器8中。读出的数据55’X与FIFO 9的输出数据比较,两者应具有相同的值。该比较过程在图2中分别用附图标记42表示。在第四脉冲34,将读取数据55’X从锁存器8存入FIFO 9中。现在FIFO 9的当前输出数据AA’X同样在第四脉冲34写入存储器单元1中。在第五脉冲35,又从存储器单元1中读出最后写入的数据AA’X并存储在锁存器8中。将锁存器8中的该值与FIFO 9的输出数据AA’X比较,两者在理想情况下具有相同的值。在第六脉冲36,将读取数据AA’X从锁存器放入FIFO 9。FIFO 9的输出数据,现在表示在第一脉冲31从存储器单元1读出的原始存储器内容SP’X,将被写回到存储器单元1中。在第七脉冲37,又从存储器单元读出最后写入的数据SP’X并存储在锁存器8中。将锁存器8的内容与FIFO 9的输出数据SP’X比较,两者都包含从存储器单元1读出的原始数据SP’X。最后在第八脉冲38,将寻址存储器单元1的地址计数器增加1(用附图标记43标示)。测试硬件现在已准备好测试下个存储器单元(脉冲39)。这里实施的步骤可以相对容易地利用状态机(FSM,有限状态机)来实现。实际上,在第六脉冲36结束了对存储器单元1的检查,并重新产生了原始的存储器状态。在第七脉冲37,第二次读出原始的存储器内容,并与在第一脉冲31读出的存储器内容SP’X比较。利用该方式,可以在8*n个脉冲内检查n个存储器单元。n在这里表示整个地址空间。对m个地址位n=2m。
图3示出用于检查存储器单元所需的硬件结构。其中示出了存储器2,其包括分别具有k位的n个存储器单元。存储器2具有数据输入DI、寻址输入Ad,触发或时钟输入Clk以及用于控制信号芯片选择(CS)、写访问(Wr)或读访问(Rd)的输入端Cs、Rd/Wr。存储器可以通过数据输出端DO向k位锁存器8输出数据。状态机FSM控制对存储器的检查。对各存储器单元的寻址通过地址计数器50进行。一个3*k位FIFO 9用于临时存储读出和待写入的数据。用比较器51对来自锁存器8和FIFO 9的数据进行比较。
图4示出一个两通道结构的存储器系统的实施方式。在两通道结构下,还可以很小的代价形成访问数据的签名5。将签名5与伙伴ASIC(图4中未示出)中访问数据的签名比较,额外提高了错误识别率(参见DE10037992)。为此,除已经借助图3描述的元件之外,还需要两个线性反馈移位寄存器60(LFSR)。一个LFSR 60用于构成写数据的签名5,另一LFSR 60用于构成存储器读数据的签名5。对于线性反馈移位寄存器,通过异或门将该移位寄存器的特定位反馈到输入端。
这里建议的用于检测存储器的方法特别适用于识别寻址过程中的错误,尤其是识别所谓的耦合错误。耦合错误是在两个或多个存储器单元之间不期望的耦合。识别耦合错误一般非常耗费时间,在目前的公知方法中测试代价与存储器单元数n成平方地增长。这里提出的测试结构实现简单,可以毫无问题地与先前描述的在线测试概念相联系。由此可以达到AK 4(根据DIN 19250/19251)或SIL 2至3(根据IEC 61508)的可靠性要求。该概念可以用于一通道和两通道的结构。
在存储器单元之间的耦合错误(所谓的垂直耦合错误)非常复杂。公知的测试方法首先局限于对简单耦合错误的识别。图5示出了耦合错误的典型情景。所示出的是具有存储器单元1和61的存储器2,可以通过连接62访问这些存储器单元。在发生耦合错误时,被寻址和被选择的存储器单元不同。下面,也将被寻址的存储器单元称为耦合单元,而将被选择的存储器单元称为已耦合的单元。如果寻址第一存储器单元1而访问第二存储器单元61,则在没有其它错误源存在的情况下第一存储器单元1保持为不能被访问。对第一存储器单元1的读、写访问在形式上正确进行,但却没有触及其内容。为了定位这样的错误,通常用已知的模式预先覆盖整个存储器(例如55’X或AA’X)。然后,逐个地址地翻转存储器的内容,并检查整个存储器数据内容的正确性。根据该方法的公知测试是Walkpat和Galpat。在这些方法中,测试代价与存储器单元数n的平方成正比。这类方法不适于在线测试,因为一方面通过这些测试会破坏存储器内容,另一方面,测试时间随着存储器的规模急剧增长,从而不能在规定的时间内实施完整的测试。这里,通过对数据(存储器内容)编码可以进行补救。在上述错误情况下,实际上没有伪造数据而只是错误地配置了数据。这种错误只有在形成代码时引入地址才能被识别。奇偶校验是最简单而对于信息率最有效的编码。利用奇偶校验可以百分之百地识别出一位的错误。将奇偶校验作为一种编码方法引入用于识别耦合错误改善了总体情况,但仍不尽满意。然而,如果周可变奇偶校验VP、例如与地址相关的奇偶校验工作,则可以大大提高奇偶校验的效率。由此,所有上述类型的耦合错误都能被识别。引入可变奇偶校验VP具有决定性的优点,即,不必在构成奇偶校验时引入地址。与地址无关的错误分析甚至更简单和透明。在按字节组织的存储器中,还需要附加1位(即存储器总开销的12.5%)或将数据减少1位,即从8位变为7位。如果耦合单元和已耦合的单元的奇偶校验不同,则原则上可以识别耦合错误。
表1
地址 | MSBA3 | A2 | A1 | LSBA0 |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 1 |
12 | 1 | 1 | 0 | 0 |
13 | 1 | 1 | 0 | 1 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
测试循环 | 1 | 2 | 3 | 4 |
为了更好地理解,将这里建议的方法以一16字节的存储器来说明。为了显示该存储器的整个地址空间需要4个地址位。每个任意的存储器单元可以用一个4位计数器寻址(例如图3和图4中的地址计数器50)。该计数器的16个状态在表1中一起示出。为了完全识别耦合错误,必须对每个地址对加入至少一次一个不同的奇偶性。
借助状态机(FSM)控制存储器测试。该状态机漫游从0到15的全部地址。在这里描述的测试中,将地址位中的1位用于可变奇偶校验VP。然后,在所观察的情况中,最多进行4次具有与循环相关的可变奇偶性VP的测试循环。在第一测试循环中,可变奇偶校验VP由MSB(=最高有效位)、即地址的A3位导出。在本例中,设置A3=‘0’作为偶数奇偶性,A3=‘1’作为奇数奇偶校验。从表1中可以看出,在循环中对一半存储器单元是偶数奇偶校验,而对另一半是奇数奇偶校验,这对所有测试循环都是如此。在第一测试循环中,对存储器上半部的存储器单元(地址0至7)加入偶数奇偶校验,对存储器下半部的存储器单元(地址8至15)加入奇数奇偶校验。在一个上半组的任意地址和一个下半组的任意地址之间,可以始终识别出所有被成对观察的耦合错误。不能识别的是,在上半部(A3=0)或下半部(A3=1)内相互之间的耦合错误。在两个区域中不能识别耦合错误的一半将在第二测试循环中识别,其中,可变奇偶校验VP由地址位A2表示。然后,在每个随后的测试循环内识别到那时为止还未识别出耦合错误的一半。最后,在最后一个用地址位A0(LSB=最低有效位)表示的可变奇偶性VP的测试循环内来识别到那时为止还未识别的所有耦合错误。通过这种方式,上述类型的所有耦合错误可在较少的脉冲内(所需的脉冲数不是与存储器单元数乘上地址位数的平方成正比,而只是简单地成正比),并以较少的附加硬件被识别出。
由此,所建议的存储器测试由两个阶段组成:在第一阶段进行上述基本测试。其中,在写入、读取和存储过程中检查存储器单元。对该基本测试这样补充,即现在用根据表1的当前测试循环的可变奇偶校验回写在第六脉冲36回写的原始存储器内容。在第二阶段,在利用可变奇偶校验回写整个存储器之后,利用存储器的功能数据再次完全读出该存储器,并将这些数据的奇偶校验与可变奇偶校验VP(在第i个循环内通过地址位A4-i确定奇偶性)比较。第二阶段对每个存储器单元只需要两个脉冲,一个用于读取数据,一个用于比较数据以及将地址计数器加1(可能的话可将两个任务在一个脉冲周期内完成)。在至此描述的存储器测试过程中,对存储器是向上处理的(从地址0开始)。但是如果已耦合的存储器单元具有比耦合单元更高的地址(参见图5),则其数据在阶段处理过程中在较晚时刻再次由可变奇偶校验VP覆盖。为了识别该耦合错误,必须将第一和第二阶段重复一次,其中,这一次向下处理存储器(从地址n开始)。在此,第二阶段的运行不改变。第一阶段总共需要8*n个脉冲。第二阶段还需要2*n个脉冲,从而两个阶段总共需要10*n个脉冲。为了以地址降序处理存储器,可以放弃用数据55’X和AA’X写入和读取存储器。在这种情况下,第一阶段限制为3个脉冲:
·读取当前数据SP’X(功能数据(Funktionsdatum))
·写入具有可变奇偶校验的数据
·将地址计数器减1(下个地址)
为了向下处理存储器,最大需要(3+2)*n=5*n个脉冲。因此,对具有可变奇偶校验模式的测试循环最大总共需要15*n个脉冲,通过地址位Ai中的一个确定。一个测试循环原则上由两个测试过程组成,即由两段组成,一段按照地址升序,一段按照地址降序。由此,对于具有m个地址位的地址空间,有
m=log2n
总共需要最大(15*n*m)个脉冲。对于时间要求苛刻的应用,甚至可以在测试循环2至m中完全放弃第一阶段。在这种情况下,一次完整的存储器测试需要最大(10*n*m+5*n)个脉冲。如果一直用根据上述方法的可变奇偶校验VP工作,则该最大脉冲数(10*n*m+5*n)还可以显著降低。即,在功能运行中也通过取决于测试循环的各地址位Ai确定奇偶校验。在这种情况下,地址降序的循环过程少用了3个脉冲(读取、写入可变奇偶校验和将地址计数器减1)。因此,对于第一测试循环不是需要15*n个脉冲而是12*n个脉冲。然后对于随后的循环,每个循环需要4*n个脉冲(2*n个用于地址升序,2*n个用于地址降序,分别用于第二阶段,第一阶段取消)。由此,一次完整的存储器测试总共需要最大(4*n*m+8*n)个脉冲。这种较快测试过程(加快约60%)的优点须以较高的软件开销为代价。在这种情况下,软件必须始终具有确定奇偶校验的地址位Ai,并从中获得当前的奇偶校验。然而,如果在内部用如上所述的可变奇偶校验位来操作,则这个问题可以相对简单地绕过。而在读访问时向外界提供了一个可被操作的奇偶校验位,其通过对Ai和可变奇偶校验位的异或逻辑运算形成,并再现一个固定的奇偶校验FP(在本观察情况中为偶数奇偶校验)。在写访问时,由软件提供的具有固定奇偶校验FP(在本观察情况中为偶数奇偶性)的奇偶位在内部通过与确定奇偶校验的地址位Ai进行异或逻辑运算被变换为可变奇偶校验VP。然后,将这样获得的奇偶校验位传送到存储器。为此需要两个附加的异或门,如可以从表2中引用的那样。
表2
确定奇偶校验的地址位Ai | 数据DxDg=偶数奇偶校验Du=奇数奇偶校验 | 可变奇偶校验VP | 在读访问时形成固定奇偶校验FP(偶数)FP=AiVP | 在写访问时形成可变奇偶校验VPVP=AiFP |
0 | Dg | 0 | 0 | 0 |
1 | Dg | 1 | 0 | 1 |
0 | Du | 1 | 1 | 1 |
1 | Du | 0 | 1 | 0 |
如果始终用可变奇偶校验VP(也在功能模式下)工作,则必须在上述基本测试概念下在读访问时将读出的奇偶校验与当前的可变奇偶校验比较,该当前的可变奇偶校验是通过引入确定奇偶校验的地址位Ai获得的。对于所有的读访问都进行该比较,除了在基本测试的第一脉冲周期中,因为在接通电源后存储器中存放的是随机数据,并且奇偶校验无效。在写访问时,在引入确定奇偶校验的地址位Ai的情况下构成可变奇偶校验VP,并与数据一起传送到存储器中。
图6和图7示出了当在内部始终用可变奇偶校验工作时,在功能运行中访问存储器所需的硬件。图6示出了在读过程中的内部数据处理。在一个存储器单元中,存储了加入可变奇偶校验VP的数据68。但是,在例如通过外部软件对该存储器单元进行读访问时,再现的并不是具有可变奇偶校验VP的数据68,而是具有固定奇偶校验FP的数据65。为此,在内部、即在硬件电路内,从各存储器单元的存储器地址的地址位7中用多路复用器MUX选择一个确定奇偶校验的地址位10。该地址位10在异或门66中与数据68的可变奇偶校验位63进行异或逻辑运算。该异或逻辑运算的结果是一个固定奇偶校验位69,其用于形成外部数据65。由此,读取软件忽略可变奇偶校验VP,而是用具有固定奇偶校验FP的数据工作。
在写过程的情况下,存在加入了固定奇偶校验FP的外部数据65,其应被存储在存储器的一个存储器单元中。从各存储器单元的存储器地址的地址位7中,用多路复用器MUX选择一个确定奇偶校验的地址位10。该地址位10在异或门67中与数据65的固定奇偶校验位64进行异或逻辑运算。该异或逻辑运算的结果是可变奇偶校验位70,其用于形成内部数据68。加入了可变奇偶校验VP的内部数据68被存储在一个存储器单元中。借助图6和图7说明的硬件反映了上述借助表2描述的过程。在此,确定奇偶校验的地址位10对应于上面提到的地址位Ai。
下面再次总结这里描述的测试方法的优点。测试的时间耗费与存储器单元数n乘以m=log2n成正比地增长,而不是象目前公知的标准测试中那样与地址空间n的平方成正比地增长。在一个1kB的存储器中,这就已经意味着脉冲数减少的系数为百。在这里建议的方法中,所使用的乘数是log21024=10,而不是目前公知方法中使用的1024。随着存储器规模的增长,这里描述的算法可以带来巨大的效益,因为测试的时间耗费与公知方法的相比随着存储器的增大成指数下降。所有基本类型的简单耦合错误都能被识别。本方法还可以识别多重耦合错误。本方法实现简单,操作容易,还可以用于产品测试而带来效益。这里建议的算法可以毫无问题地在任意位置中断,并由此特别优选地应用于上述在线测试概念领域,其中,利用本方法可以在任意位置在测试运行和功能运行之间进行转换。唯一的缺点是,需要有一个附加位用于奇偶校验。
在功能模式中,用户可以自由地利用固定奇偶校验工作或者不引入奇偶校验工作。在这两种情况下,在内部都用可变奇偶校验工作。为了进行一次完整的存储器测试,对于一个具有n个存储器单元的存储器最多需要(4*n*m+8*n)个脉冲。由于在这两种情况下一次完整测试所需的脉冲数相同,因此,建议使用固定奇偶校验工作。在这种情况下,对于在功能运行期间出现的随机错误也可以在读存储器时立即识别出。
为了更好的理解,在说明书中考察了一个同步静态的、单向存储器。但是,原则上这里描述的方法也可以用于进行了相应修改的任意存储器类型。这样,通过在输入、输出端的、脉冲控制的、向存储器提供数据(地址、数据和控制信号)的小的附加逻辑电路,可使异步存储器象同步存储器一样运行。在动态存储器中必须注意,要考虑在存储器测试期间的刷新周期。通过在数据端口添加输入端或输出端锁存器可使双向存储器象单向存储器一样运行。对多端口存储器也可以用同一方法测试,其中,存储器测试只对各存储器端口或逐个地对每个存储器端口进行。所有提到的存储器都可以实现为ASIC(=特定用途集成电路)或者作为这样的电路的一部分。
总之,本发明涉及一种用于测试和/或运行存储器的方法和装置,其在运行期间可以对半导体存储器进行省时的测试。在用于测试具有存储器单元1的存储器2的方法中,根据为存储器单元1配置的可变参数和各存储器单元1的内容,为各存储器单元1形成第一检查信息。
Claims (22)
1.一种用于运行和/或测试具有存储器单元(1)的存储器(2)的方法,其中,根据为各存储器单元(1)配置的可变参数和各存储器单元(1)的内容,为该存储器单元(1)分别形成第一检查信息。
2.如权利要求1所述的方法,其特征在于,在一个或多个测试循环中,
-在第一阶段中
-分别读出存储器单元(1)的内容,
-根据为各存储器单元(1)配置的可变参数和各存储器单元(1)在第一阶段读出的内容,为所述存储器单元(1)分别形成第一检查信息,
-将该在第一阶段读出的内容分别扩展该第一检查信息后再写入存储器单元(1),以及
-在第二阶段中,识别寻址过程中的错误,其中,读取存储器单元(1)的内容,从该第二阶段读取的内容中在引入所述可变参数的条件下形成第二检查信息,并将该第二检查信息与在第一阶段为各存储器单元(1)形成的第一检查信息进行比较。
3.如权利要求2所述的方法,其特征在于,在一基本测试的基本测试循环结束时,分别用所述第一阶段读出的内容写所述存储器单元(1)。
4.如权利要求2或3所述的方法,其特征在于,在所述第一阶段,为识别写入、读取和存储过程中的错误而写入和读取存储器单元(1)。
5.如上述权利要求中任一项所述的方法,其特征在于,为了测试具有存储器单元(1)的存储器(2),在至少两个不同的组件单元上分别形成访问数据的签名(5),并将所形成的签名(5)相互比较以识别错误。
6.如上述权利要求中任一项所述的方法,其特征在于,所述方法用于识别耦合错误,其中,通过一个或多个存储器单元(1)与一个存储器地址的错误对应来标识一个耦合错误。
7.如上述权利要求中任一项所述的方法,其特征在于,所述为一个存储器单元(1)配置的可变参数构成可变奇偶校验(VP)。
8.如上述权利要求中任一项所述的方法,其特征在于,测试循环数与二进制表示的存储器地址的地址位(7)数相对应,且在每个测试循环中用另一地址位(7)改变所述可变参数。
9.如权利要求8所述的方法,其特征在于,在每个测试循环内,分别采用另一地址位(7)作为可变奇偶校验(VP)来形成所述第一检查信息。
10.如上述权利要求中任一项所述的方法,其特征在于,在所述测试循环的第一阶段,对于所述存储器(2)的每个存储器单元(1),分别
-读出存储器单元(1)的原始内容,并放入存储器(2)输出端的寄存器(8)中,
-将读出的原始内容从该寄存器(8)中放入一个FIFO(9)中,并将该FIFO(9)的第一输出数据写入存储器单元(1)中,
-再次读取存储器单元(1)的内容,放入存储器(2)输出端的寄存器(8)中,并与该FIFO(9)的第一输出数据进行比较,
-将读出的内容从该寄存器(8)放入FIFO(9)中,并将该FIFO(9)的第二输出数据写入该存储器单元(1)中,
-再次读取该存储器单元(1)的内容,放入存储器(2)输出端的寄存器(8)中,并与该第二输出数据进行比较,
-将读出的内容从该寄存器(8)放入FIFO(9)中,并将原始内容从该FIFO(9)写入该存储器单元(1)中。
11.如上述权利要求中任一项所述的方法,其特征在于,在一个测试循环的第一阶段,以存储器地址的升序测试存储器单元,在该测试循环的第二阶段,以存储器地址的降序测试存储器单元。
12.如上述权利要求中任一项所述的方法,其特征在于,在功能运行中,在用一存储器地址读访问一存储器单元(1)时,通过将各存储器地址的一个确定奇偶校验的地址位(10)与各存储器单元(1)的所述第一检查信息(63)进行异或逻辑运算来形成一个固定奇偶校验位(69),在写访问该存储器单元(1)时,通过将该固定奇偶校验位(64)与该确定奇偶校验的地址位(10)进行异或逻辑运算形成所述第一检查信息(70)。
13.如上述权利要求中任一项所述的方法,其特征在于,所述用于测试存储器的方法可被设置在功能运行的任意时间段内。
14.如上述权利要求中任一项所述的方法,其特征在于,所述方法在生产存储器时用作内置自测试。
15.一种具有带存储单元(1)的存储器(2)的装置,其中,根据为各存储器单元(1)配置的可变参数和各存储单元(1)的内容,为各存储器单元(1)分别配置第一检查信息。
16.如权利要求15所述的装置,其特征在于,所述装置具有用于读取存储器单元(1)内容的部件,和用于写入该存储器单元(1)的部件,其中,还具有:根据为各存储器单元(1)配置的可变参数和在一测试循环的第一阶段读出的各存储器单元(1)的内容形成第一检查信息的部件;用于从该测试循环的第二阶段读出的内容形成第二检查信息的部件,以及用于比较该第二检查信息与在第一阶段中为各存储器单元(1)形成的第一检查信息的部件。
17.如权利要求15或16所述的装置,其特征在于,为了测试具有存储器单元(1)的存储器(2),在至少两个不同的组件单元中具有用于形成和比较访问数据的签名(5)的部件。
18.如权利要求15至17中任一项所述的装置,其特征在于,所述为存储器单元(1)配置的可变参数构成可变奇偶校验(VP)。
19.如权利要求15至18中任一项所述的装置,其特征在于,所述为存储器单元(1)配置的可变参数构造为相应于二进制表示的存储器地址的一个地址位(7)。
20.如权利要求15至19中任一项所述的装置,其特征在于,为了形成所述第一检查信息,在每个测试循环内分别设置另一地址位(7)作为可变奇偶校验(VP)。
21.如权利要求15至20中任一项所述的装置,其特征在于,所述在存储器(2)输出端的寄存器(8)和FIFO(9)用于临时存储所述存储器单元(1)的内容和输出数据。
22.如权利要求15至21中任一项所述的装置,其特征在于,其具有第一异或门(66),用于在用存储器地址读访问存储器单元(1)时,通过将各存储器地址的一个确定奇偶校验的地址位(10)与所述各存储器单元(1)的第一检查信息(63)进行异或逻辑运算来形成一个固定奇偶校验位(69);第二异或门(67),用于在写访问存储器单元(1)时,通过将该固定奇偶校验位(64)与该确定奇偶校验的地址位(10)进行异或逻辑运算来形成所述第一检查信息(70)。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10155531.8 | 2001-11-12 | ||
DE10155531 | 2001-11-12 | ||
DE10206189.0 | 2002-02-14 | ||
DE10206189A DE10206189A1 (de) | 2001-11-12 | 2002-02-14 | Speichertest |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1585987A true CN1585987A (zh) | 2005-02-23 |
CN100458717C CN100458717C (zh) | 2009-02-04 |
Family
ID=26010562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB02822437XA Expired - Fee Related CN100458717C (zh) | 2001-11-12 | 2002-10-30 | 测试和/或运行存储器的方法以及带有该存储器的装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7287204B2 (zh) |
EP (1) | EP1444700B1 (zh) |
CN (1) | CN100458717C (zh) |
AT (1) | ATE384331T1 (zh) |
DE (1) | DE50211572D1 (zh) |
ES (1) | ES2298404T3 (zh) |
WO (1) | WO2003043022A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022247488A1 (zh) * | 2021-05-25 | 2022-12-01 | 爱德万测试股份有限公司 | 自动测试设备系统及其自动测试设备方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366597B2 (en) * | 2005-07-22 | 2008-04-29 | Gm Global Technology Operations, Inc. | Validating control system software variables |
US7783919B2 (en) * | 2007-09-12 | 2010-08-24 | Dell Products, Lp | System and method of identifying and storing memory error locations |
US7788564B2 (en) * | 2007-10-12 | 2010-08-31 | Teradyne, Inc. | Adjustable test pattern results latency |
DE102008010233A1 (de) | 2008-02-21 | 2009-08-27 | Robert Bosch Gmbh | Anordnung zur Überprüfung eines Programmspeichers einer Recheneinheit |
DE102009028871A1 (de) * | 2009-08-26 | 2011-03-03 | Robert Bosch Gmbh | Verfahren zum Überprüfen eines Speichers |
JP5038549B2 (ja) * | 2010-03-11 | 2012-10-03 | 三菱電機株式会社 | メモリ診断方法、メモリ診断装置およびメモリ診断プログラム |
US8724408B2 (en) | 2011-11-29 | 2014-05-13 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing and assembling memory modules |
US9117552B2 (en) | 2012-08-28 | 2015-08-25 | Kingtiger Technology(Canada), Inc. | Systems and methods for testing memory |
CN103678055A (zh) * | 2012-09-14 | 2014-03-26 | 成都林海电子有限责任公司 | Pcie总线设备存储空间性能测试方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3163848A (en) * | 1959-12-22 | 1964-12-29 | Ibm | Double error correcting system |
DE2655653C2 (de) * | 1976-12-08 | 1982-12-16 | Siemens AG, 1000 Berlin und 8000 München | Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher |
US4672609A (en) * | 1982-01-19 | 1987-06-09 | Tandem Computers Incorporated | Memory system with operation error detection |
EP0196171B1 (en) * | 1985-03-23 | 1991-11-06 | International Computers Limited | Digital integrated circuits |
DE3635012C1 (en) * | 1986-10-11 | 1988-02-18 | Licentia Gmbh | Method of testing a RAM |
US4903266A (en) * | 1988-04-29 | 1990-02-20 | International Business Machines Corporation | Memory self-test |
JPH0348347A (ja) * | 1989-07-14 | 1991-03-01 | Fujitsu Ltd | メモリチェック方式 |
US5357521A (en) * | 1990-02-14 | 1994-10-18 | International Business Machines Corporation | Address sensitive memory testing |
EP0463210B1 (en) * | 1990-06-27 | 1995-05-31 | International Business Machines Corporation | Method and apparatus for checking the address and contents of a memory array |
US5173906A (en) * | 1990-08-31 | 1992-12-22 | Dreibelbis Jeffrey H | Built-in self test for integrated circuits |
US5222066A (en) * | 1990-12-26 | 1993-06-22 | Motorola, Inc. | Modular self-test for embedded SRAMS |
US5457696A (en) * | 1991-08-08 | 1995-10-10 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory having internal test circuit |
US5258985A (en) * | 1991-11-12 | 1993-11-02 | Motorola, Inc. | Combinational data generator and analyzer for built-in self test |
JPH06295599A (ja) * | 1993-04-09 | 1994-10-21 | Nec Corp | 半導体記憶装置 |
DK0643350T3 (da) * | 1993-08-10 | 1998-09-28 | Siemens Ag | Fremgangsmåde til identificering af adresseringsfejl i lagre for digitale, binært kodede dataord |
JPH08203278A (ja) * | 1995-01-25 | 1996-08-09 | Sony Corp | 半導体メモリ |
DE19635240A1 (de) * | 1996-08-30 | 1998-03-05 | Siemens Ag | Speichersystem |
US5959911A (en) * | 1997-09-29 | 1999-09-28 | Siemens Aktiengesellschaft | Apparatus and method for implementing a bank interlock scheme and related test mode for multibank memory devices |
US6578169B1 (en) * | 2000-04-08 | 2003-06-10 | Advantest Corp. | Data failure memory compaction for semiconductor test system |
DE10037992A1 (de) | 2000-08-03 | 2002-02-21 | Siemens Ag | Verfahren zum Betreiben eines Logik- und Speicherelemente aufweisenden Bausteins |
-
2002
- 2002-10-30 AT AT02779192T patent/ATE384331T1/de not_active IP Right Cessation
- 2002-10-30 WO PCT/DE2002/004046 patent/WO2003043022A2/de active IP Right Grant
- 2002-10-30 CN CNB02822437XA patent/CN100458717C/zh not_active Expired - Fee Related
- 2002-10-30 DE DE50211572T patent/DE50211572D1/de not_active Expired - Fee Related
- 2002-10-30 US US10/494,794 patent/US7287204B2/en not_active Expired - Fee Related
- 2002-10-30 ES ES02779192T patent/ES2298404T3/es not_active Expired - Lifetime
- 2002-10-30 EP EP02779192A patent/EP1444700B1/de not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022247488A1 (zh) * | 2021-05-25 | 2022-12-01 | 爱德万测试股份有限公司 | 自动测试设备系统及其自动测试设备方法 |
Also Published As
Publication number | Publication date |
---|---|
ATE384331T1 (de) | 2008-02-15 |
CN100458717C (zh) | 2009-02-04 |
EP1444700A2 (de) | 2004-08-11 |
DE50211572D1 (de) | 2008-03-06 |
ES2298404T3 (es) | 2008-05-16 |
US7287204B2 (en) | 2007-10-23 |
US20040268191A1 (en) | 2004-12-30 |
WO2003043022A3 (de) | 2004-02-19 |
WO2003043022A2 (de) | 2003-05-22 |
EP1444700B1 (de) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6434662B1 (en) | System and method for searching an associative memory utilizing first and second hash functions | |
CN1309174C (zh) | 基于lz1算法的数据压缩的方法和装置 | |
US4862347A (en) | System for simulating memory arrays in a logic simulation machine | |
CN1117619A (zh) | 执行模糊逻辑运算的数字处理器及其执行方法 | |
CN100458717C (zh) | 测试和/或运行存储器的方法以及带有该存储器的装置 | |
JPS5958558A (ja) | 並列周期的冗長チエツク回路 | |
KR20080014726A (ko) | 멀티 프로세서 시스템 및 그 정보처리방법 | |
CN1218961A (zh) | 检测存储器装置的方法 | |
CN101655821A (zh) | 一种解决地址空间映射哈希地址冲突的方法及装置 | |
EP0600137A1 (en) | Method and apparatus for correcting errors in a memory | |
Chen et al. | A high-throughput FPGA accelerator for short-read mapping of the whole human genome | |
US4916649A (en) | Method and apparatus for transforming a bit-reversed order vector into a natural order vector | |
CN101084484B (zh) | 用于快速存取堆栈存储器的方法和系统 | |
JP4947395B2 (ja) | 半導体試験装置 | |
JP3869006B2 (ja) | エラーコードを効率的に記憶するための方法及び装置 | |
Lipton et al. | Clocked adversaries for hashing | |
CN100356345C (zh) | 访问高速缓存管线的方法和系统 | |
CN1071771A (zh) | 存储控制器与数据处理系统 | |
WO2008026957A1 (en) | A split stage call sequence restoration method | |
CN101471132B (zh) | 一种内容寻址存储器查找性能测试方法及系统 | |
US20080109626A1 (en) | Method of accessing data in a deinterleaving device | |
CN100375065C (zh) | 产生预测地址值的电路和方法 | |
CN1169154C (zh) | 能执行高速写入操作的半导体存储装置 | |
US7333032B1 (en) | System, method and computer program product for word-level computations and storage | |
JPH06282453A (ja) | マイクロプロセッサ内に埋込まれたアレイをテストするための方法およびメカニズム、ならびにアレイをテストするためのシステム内に配設される比較−圧縮レジスタ |
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: 20090204 Termination date: 20091130 |