随机存储器的自动检测方法及其检测电路的制作方法

文档序号:6772499阅读:242来源:国知局
专利名称:随机存储器的自动检测方法及其检测电路的制作方法
技术领域
本发明涉及一种随机存储器RAM的自动检测技术。
在计算机及其应用系统中,随机存储器是用来记录存放原始数据、中间处理结果及其它信息的核心单元。随机存储器能否实现正常的读/写操作,并在存/取过程中不发生数据歧变,对于保证整个系统的正常工作十分重要。为此,有必要在系统开始工作前对随机存储器进行诊断。
随着半导体工艺的飞速发展,硅片集成度的提高,单位面积的硅片上所能实现的存储容量也在急剧增加。现在的单片存储器的存储容量已由70年代初的1Kbit增加到今天的64Mbit,并且还在快速地增加。因此,如何实现对大容量随机存储器RAM的高速、高覆盖率的测试便尤其重要。
对随机存储器RAM的诊断过程,就是检验其执行读/写操作的有效性。目前对存储器的测试包括两个基本方面一是对存储单元的测试;另一个是对地址解码的测试。而对随机存储器RAM的检测就是通过一定的测试图案,对存储单元和地址译码电路的功能进行快速高效的检查。
进行随机存储器RAM检测的方法很多,但其基本思想都是通过对各存储单元逐次写入“0”和“1”,然后再逐个读出,检测是否正确。通常的测试操作是先向随机存储器RAM中写入数据,随后立即读出进行比较。这种方法虽可有效地检测出各种桥接故障,但对数据或控制线上的断路故障却无法检出,给系统的正常可靠运行造成隐患。


图1是以静态随机存储器S-RAM为例的数据控制线上的断路故障图。图中数据线Di在a点发生断路故障,如测试控制器(TEST_CONTROL)向被测随机存储器RAM某地址单元中写入测试数据时,由于线路上的电容效应,写入的数据被存入Di线的等效电容Ci中,且不会立即消失,此时如控制器马上回读该地址单元进行检测,则读到的数据实为Ci中存储的数据,这样a点的断路故障便不可检出。
本发明的目的是为了克服现有检测随机存储器RAM方法的缺点而提出的一种可对大容量随机存储器RAM进行高速、高覆盖率测试、且检出故障准确的随机存储器检测技术。
为了实现以上的目的,本发明的提出的技术方案是随机存储器检测方法,其特点是,采用先向随机存储器的所有存储单元写入数据,再读出比较的方法,包括对该随机存储器的数据线测试和地址线测试两个部分(1)对数据线测试的步骤是a、建立一个可重新配置的测试数据表,用户根据实际需要,将指定数据预先写入在该测试数据表中;b、将测试数据表中的数据写入到随机存储器的各存储单元中;c、进行回读检测;d、将读取值依次与写入值进行比较,如果数据一致,则认为无错误;否则,则认为有误;(2)对地址线测试的步骤是a、将一组不同的数据,分别写入随机存储器的各存储单元;b、读出该数据,并将其与写入之前的数据进行比较,如果数据一致,则认为无错误;否则,则认为有误。
上述随机存储器的自动检测方法,其中,在数据线测试步骤b中所述的写入的数据可按不同的批次数据分若干次写入,并分别进行测试;上述随机存储器的自动检测方法,其中,可采用缺省数据进行相关测试。
上述随机存储器的自动检测方法,其中,在地址线测试的b步骤中所述的读出该数据进行比较是指,当上一个数据写入到随机存储器的各存储单元之后,在写下一个数据的同一时间段,才回读所有地址寄存器的数据进行比较。
上述随机存储器的自动检测方法,其中,所述每个地址寄存器的数据比较是针对上一次写入的数据而言,比较完之后再写入新的数据。
上述随机存储器的自动检测方法,其中,所述的在数据线测试中,当待写入数据发生切换时,在读出数据之前,先将写入的数据按位取反后输出。
上述随机存储器的自动检测方法,其中,当对数据线测试中待写入数据发生切换时,检测电路插入了一个空操作周期,该空操作周期是,将测试数据通过取反电路按位取反后输出到外部随机存储器数据总线上,但并不写入外部随机存储器中。
一种专用于上述随机存储器检测方法的检测电路,该检测电路设在一控制芯片内部,其包括CPU接口电路、检测使能寄存器、检测状态寄存器、比较数据锁存器、RAM读写控制器,其特点是,还包括一地址寄存器及一地址加一电路以及一测试数据表存储器;上述电路通过数据线相互连接;其中测试数据表用于写入各测试数据;CPU接口电路可向测试数据表中写入数据,进行测试数据配置;并可通过向检测使能寄存器写入控制字触发随机存储器读写控制器,启动随机存储器检测;CPU还可通过此接口电路读取检测状态寄存器中的内容,以便掌握检测状态及结果;检测使能寄存器用于对外部随机存储器进行检测,其通过CPU接口电路向检测使能寄存器中写入约定数据,开放检测使能;检测状态寄存器用于向CPU接口电路提供检测结果;地址加一电路用于对输入到地址寄存器中数据加一;比较数据锁存器用于锁存写入到随机存储器的各存储单元的数据。
上述随机存储器检测方法的检测电路,其中,所述的检测电路设在一控制芯片内部。
上述随机存储器检测方法的检测电路,其中,所述的测试数据表存储器是一个16×16的测试数据表存储器。
上述随机存储器检测方法的检测电路,其中,所述的RAM读写控制器中还包括一取反电路,该取反电路用于在待写入数据切换时将写入的数据按位取反。
由于本发明采用了以上的技术方案,通过一随机存储器RAM检测电路,在系统上电时由检测电路按预定的检测算法实现对随机存储器的自动检测。不但能够快速高效地对静态随机存储器RAM的存储单元和地址译码电路进行测试,而且可避免由于信号线断路所产生的电容效应的影响。
本发明的具体特征、性能及其优点由以下的实施例及其附图进一步给出。
图1是已有技术中以静态随机存储器S-RAM为例的数据控制线上的断路故障图。
图2是本发明随机存储器RAM检测电路的电方框图。
图3是本发明寄存器检测状态示意图。
图4外部随机存储器RAM数据检测时序图。
图5外部随机存储器RAM地址检测时序图。
请参阅图2,图2是随机存储器RAM检测控制电路的电方框图。每个通信控制芯片都外挂一块外部随机存储器RAM,作为数据的缓存。为确保数据在存取过程中不发生错误,须在电路开始工作之前由该控制芯片对外部随机存储器RAM进行检测。该控制芯片内部的检测电路包括CPU接口电路、检测使能寄存器、检测状态寄存器、比较数据锁存器、读写控制器、地址寄存器及加一电路,和一测试数据表存储器。
以下以64K×16的外部随机存储器RAM为例对各部分逐一进行说明CPU接口电路可向测试数据表中写入数据,进行测试数据配置;并可通过向检测使能寄存器写入控制字触发随机存储器RAM读写控制器,启动随机存储器RAM检测;CPU还可通过此接口电路读取检测状态寄存器中的内容,以便掌握检测状态及结果。
检测使能寄存器缺省状态下,检测使能是关闭的,此时芯片能正常工作。若想对外部随机存储器RAM进行检测,须通过CPU接口电路向检测使能寄存器中写入约定数据如55H,开放检测使能,此时芯片不能进行正常工作,而由检测控制器自动地对外部随机存储器RAM进行检查。若测试结束,则向检测使能寄存器中写入AAH,则芯片停止对外部随机存储器RAM检测,进入正常工作状态。
检测状态寄存器是一个4位的寄存器,各bit含义如图3所示,其中bit0表示检测状态位当该位为‘1’,表示外部随机存储器RAM检测正在进行。
bit1表示检测结果位当该位为‘1’,表示检测已经结束。
bit2表示地址线错误位当该位为‘1’,说明地址线有问题。
bit3表示数据线错误位当该位为‘1’,说明数据线有问题。
上电初始化时,检测状态各比特全部清0;当检测结束并没有发现错误时,检测状态为0010。
测试数据表是一个16×16的内部随机存储器RAM,其16个缺省值依次如下
0000、FFFF、0F0F、F0F0、5555、AAAA、5A5A、A5A5、0A0A、A0A0、0505、5050、55FF、FF55、FFAA、AAFF。
地址加一电路用于对输入到地址寄存器中数据加一;比较数据锁存器用于锁存写入到随机存储器的各存储单元的数据;RAM读写控制器中的取反电路用于在待写入数据切换时将写入的数据按位取反。
当芯片进入数据线测试时,它依次读取该表中的各个数据,写入外部随机存储器RAM所有存储单元,然后读取外部随机存储器RAM所有存储单元,将读取值依次与表中各值进行比较,如果一致,则认为无错误,否则报错。
CPU可对该表进行读写,修改其缺省值。在访问测试数据表时,检测使能必须关闭,否则读出的数据不正确。
本发明没有采用写一个数据比较一次的方法,而是先向所有存储单元写入数据再读出比较。
本发明中,将测试内容分数据线测试和地址线测试,保证芯片与外部随机存储器RAM的连接和外部随机存储器RAM内部连接无故障。在测试时,将上一个数据写入所有的外部随机存储器RAM之后,在写下一个数据同一时间段,才回读所有地址单元数据进行比较。因此每个地址单元的比较是针对上一次写入数据而言的,比较完之后再写入新数据。
因此,本发明的测试方法包括对随机存储器的数据线测试和地址线测试两个部分,而且在测试时,可以先测试数据线,后测试地址线;也可以先测试地址线,后测试数据线。以下作详细的说明1、对数据线测试的步骤是a、建立一个可重新配置的测试数据表,用户根据实际需要,将指定数据预先写入在该测试数据表中;b、将测试数据表中的数据写入到随机存储器的各存储单元中;c、进行回读检测;d、将读取值依次与写入值进行比较,如果数据一致,则认为无错误;否则,则认为有误。
当CPU向检使能寄存器中写入55H时,检测使能开放,芯片首先进入数据线测试状态。外部随机存储器RAM检测模块中的控制电路依次读取测试数据表存储器中的数据,写入外部随机存储器RAM所有存储单元中,然后读取外部随机存储器RAM所有存储单元,将读取值依次与写入值进行比较,如果一致,则认为无错误,否则,检测状态寄存器中数据线错误标志位置“1”。
外部随机存储器RAM数据检测时序如图4所示。
图4是外部随机存储器RAM数据检测时序图,图中二分频时钟信号(MCLK2)时钟的二分频信号,用于外部随机存储器RAM的读写控制。为高时读外部随机存储器RAM,为低时写。
测试地址(MEM_TEST_ADDR)随机存储器RAM读写控制器产生的测试地址,形成读写外部随机存储器RAM的地址信号(MEMA)。
空操作(NULL_OPERATE)空操作标志。
读写RAM的地址信号(MEMA)外部随机存储器RAM控制电路的输出,读写外部随机存储器RAM的地址信号。
读写RAM的数据信号(MEMD)外部随机存储器RAM控制电路的双向输入/输出,读写外部随机存储器RAM的数据信号。
测试数据表地址(TTAB_ADDR)内部信号,测试数据表地址。
测试数据表数据输出(TTAB_DO)内部信号,。
测试数据(MEM_TEST_DATA)随机存储器RAM读写控制器产生的测试数据,形成读写外部随机存储器RAM的数据信号(MEMD)。
数据比较控制(READ_DATA_VALID)检测控制器内部信号,为高时表明从随机存储器RAM读入的数据是有效数据,可以进行数据比较。
读写RAM的数据信号(MEMD)外部随机存储器RAM控制电路的双向输入/输出,读写外部随机存储器RAM的数据信号。
RAM读入数据(READ_IN)输入,由外部随机存储器RAM读入的数据。
对比数据(COMPARE_DATA)内部信号,数据检测时与读入数据进行对比的数据。
如图4所示,首先检测电路在MCLK2为低时,将地址寄存器所指向的测试数据表存储器单元中的数据写入外部随机存储器RAM的各存储单元,并锁存入内部的比较数据锁存器中。
然后,地址寄存器中数据加一,再进行上述操作。同时当二分频时钟信号MCLK2为高电平时,检测电路依次读取外部随机存储器RAM的各存储单元中的内容,与比较数据锁存器中的数据COMPARE_DATA进行比较,如不同则报数据线错。
测试数据表存储器地址加一,重复上述过程,直至测试表地址由“00”至“FF”变化一周,测试表中数据全都测过一遍为止。
具体来说检测过程如下检测开始时地址寄存器中数据为“00”,其指向的测试数据表存储器单元中的数据为(00)。首先当二分频时钟信号MCLK2为低时,将(00)写入外部随机存储器RAM的各存储单元,并锁存入内部的比较数据锁存器中;然后,地址寄存器中数据加一,在二分频时钟信号MCLK2为高电平时,检测电路读取外部随机存储器RAM的各存储单元中前次写入的内容(此时正常情况下应为(00)),使之与比较数据锁存器中的数据(00)进行比较,然后当二分频时钟信号MCLK2为低时,将(01)写入该存储单元,在二分频时钟信号MCLK2再次为高电平时,检测电路读取外部随机存储器RAM的下一存储单元中的内容与前次写入的数据进行比较,如此直至所有外部随机存储器RAM的存储单元都进行了一遍测试并写入新的测试数据;然后地址寄存器中数据再加一,并将(01)锁存入内部的比较数据锁存器中,重复上述操作,直至测试数据表中的数据都进行了一次测试为止。
可以看出,当测试数据表存储器相临单元中的数据不同时,每次从数据总线上读出的数据都不同于上次写入的数据,这样就有效地避免了比较数据与前次写入数据相同的情况。
如图4所示,当待写入数据发生切换时,检测电路插入了一个空操作周期(空操作标志NULL_OPERATE为高)。此时将测试数据按位取反后输出到外部随机存储器RAM数据总线上,但并不写入外部随机存储器RAM中,这样做的目的是防止因数据线断路或其它原因,输出数据并未写入外部随机存储器RAM的存储单元,但由于数据线上的电容效应,输出数据并不会马上消失,如立即从外部随机存储器RAM中读数据,就有可能读入的是数据线上“存储”的数据,用此数据进行比较便不会发现故障,造成漏检。因此,在读出数据之前,先将写往外部随机存储器RAM的数据取反输出,消除数据线“存储”数据对检测的影响。
2、对地址线测试的步骤是a、将一组不同的数据,分别写入随机存储器的各存储单元;b、读出该数据,并将其与写入之前的数据进行比较,如果数据一致,则认为无错误;否则,则认为有误。
在完成数据线测试之后,芯片进入地址线测试状态,它自动产生一组不同的数据,分别写入不同的外部随机存储器RAM单元,并将其读出,与写之前的数据进行比较,一旦有误,则立即置测试状态寄存器中地址错标志位为“1”。
外部随机存储器RAM地址检测时序如图5所示。
图5是外部随机存储器RAM地址检测时序图,图中二分频时钟信号(MCLK2)时钟的二分频信号,用于外部随机存储器RAM的读写控制。
测试数据表地址(TTAB_ADDR)内部信号,测试数据表地址。
写使能(WRITE_ENA)输出,检测电路对外部随机存储器RAM的写使能,高有效。
读使能(READ_ENA)输出,检测电路对外部随机存储器RAM的读使能,高有效。
数据/地址测试选择(DATA_ADDR_TEST)内部信号,数据/地址测试选择,为“0”测数据,为“1”测地址。
测试地址(MEM_TEST_ADDR)随机存储器RAM读写控制器产生的测试地址,形成读写外部随机存储器RAM的地址信号(MEMA)。
空操作(NULL_OPERATE)空操作标志。
读写RAM的地址信号(MEMA)外部随机存储器RAM控制电路的输出,读写外部随机存储器RAM的地址信号。
读写RAM的数据信号(MEMD)外部随机存储器RAM控制电路的双向输入/输出,读写外部随机存储器RAM的数据信号。
测试数据(MEM_TEST_DATA)随机存储器RAM读写控制器产生的测试数据,形成读写外部随机存储器RAM的数据信号(MEMD)。
RAM读入数据(READ_IN)输入,由外部随机存储器RAM读入的数据。
地址线测试数据(ADDR_DATA)内部信号,地址检测时与读入数据进行对比的数据。
数据比较控制(READ_DATA_VALID)检测控制器内部信号,为高时表明从随机存储器RAM读入的数据是有效数据,可以进行数据比较。
如图5所示,当测试数据表地址TEST_TAB_ADDR为“FF”时,检测电路对外部随机存储器RAM的写使能WRITE_ENA置低,读使能READ_ENA保持高电平,开始读出最后一次写入各存储单元中的数据进行比较。之后,当空操作标志NULL_OPERATE再次为高时,读使能READ_ENA置低,数据/地址测试选择信号DATA_ADDR_TEST置高,同时写使能WRITE_ENA置高,开始地址检测。
首先,测试电路产生“0000”~“FFFF”的测试地址MEM_TEST_ADD输出,并通过外部随机存储器RAM读写控制电路,将此地址值“0000”~“FFFF”依次写入MEM_TEST_ADD对应的地址单元中。
然后,读出外部随机存储器RAM“0000”~“FFFF”地址单元中的内容,并分别与相应的地址值进行比较,如不同则报地址错。
比较结束,并且当空操作标志NULL_OPERATE再次为高时,数据/地址测试选择信号DATA_ADDR_TEST及读使能信号READ_ENA置低,重新恢复初始状态,完成外部随机存储器RAM检测。
若随机存储器RAM的地址线宽度小于数据线宽度,则无法保证每个地址单元的数据是不同的。可根据需要另外进行处理,如按数据线位数对随机存储器RAM分段,采用“循环移位方法”,在“0段”依次写入数据“0000~FFFF”,在“1段”依次写入数据“FFFF,0000~FFFE”,依此类推,保证不同的段写入数据的次序是不一样的。
本发明与传统的随机存储器RAM检测方法比较,其具有独特的优点1、采用硬件检测控制电路完成整个随机存储器RAM检测过程的读写信号产生和控制功能,节省了CPU时间,提高了整个系统的工作效率。
2、可通过向测试数据表中写入不同的测试数据完成测试算法的切换。
3、有针对性地进行存储单元测试和地址解码测试,使系统能够迅速判明故障类型,采取相应的处理策略。
4、在对随机存储器RAM的测试数据写入和读出时序上进行巧妙的安排,使得每次从随机存储器RAM中读出的待比较数据不同于前次写入的数据,并在某些无法避免前后相邻两次写入与读出数据相同的情况下,在进行数据回读前先向数据线输出上次写入数据的反码,确保数据线上等效电容中所存数据与上次写入随机存储器RAM中的数据不同,再进行回读检测。
本发明经测试表明,其对大容量随机存储器RAM的检测速度快,故障检出率高,具有很好的应用价值。
权利要求
1.随机存储器的自动检测方法,其特征在于,采用先向随机存储器的所有存储单元写入数据,再读出比较的方法,包括对该随机存储器的数据线测试和地址线测试两个部分(1)对数据线测试的步骤是a、建立一个可重新配置的测试数据表,用户根据实际需要,将指定数据预先写入在该测试数据表中;b、将测试数据表中的数据写入到随机存储器的各存储单元中;c、进行回读检测;d、将读取值依次与写入值进行比较,如果数据一致,则认为无错误;否则,则认为有误;(2)对地址线测试的步骤是a、将一组不同的数据,分别写入随机存储器的各存储单元;b、读出该数据,并将其与写入之前的数据进行比较,如果数据一致,则认为无错误;否则,则认为有误。
2.根据权利要求1所述的随机存储器的自动检测方法,其特征在于,在数据线测试步骤b中所述的写入的数据可按不同的批次数据分若干次写入,并分别进行测试。
3.根据权利要求1所述的随机存储器的自动检测方法,其特征在于,可采用缺省数据进行相关测试。
4.根据权利要求1所述的随机存储器的自动检测方法,其特征在于,在地址线测试的b步骤中所述的读出该数据进行比较是指,当上一个数据写入到随机存储器的各存储单元之后,在写下一个数据的同一时间段,才回读所有地址寄存器的数据进行比较。
5.根据权利要求4所述的随机存储器的自动检测方法,其特征在于,所述每个地址寄存器的数据比较是针对上一次写入的数据而言,比较完之后再写入新的数据。
6.根据权利要求1所述的随机存储器的自动检测方法,其特征在于,所述的在数据线测试中,当待写入数据发生切换时,在读出数据之前,先将写入的数据按位取反后输出。
7.根据权利要求所述的随机存储器的自动检测方法,其特征在于,当对数据线测试中待写入数据发生切换时,检测电路插入了一个空操作周期,该空操作周期是,将测试数据通过取反电路按位取反后输出到外部随机存储器数据总线上,但并不写入外部随机存储器中。
8.一种专用于上述随机存储器检测方法的检测电路,该检测电路设在一控制芯片内部,其包括CPU接口电路、检测使能寄存器、检测状态寄存器、比较数据锁存器、RAM读写控制器,其特征在于,还包括一地址寄存器及一地址加一电路以及一测试数据表存储器;上述电路通过数据线相互连接;其中测试数据表用于写入各测试数据;CPU接口电路可向测试数据表中写入数据,进行测试数据配置;并可通过向检测使能寄存器写入控制字触发随机存储器读写控制器,启动随机存储器检测;CPU还可通过此接口电路读取检测状态寄存器中的内容,以便掌握检测状态及结果;检测使能寄存器用于对外部随机存储器进行检测,其通过CPU接口电路向检测使能寄存器中写入约定数据,开放检测使能;检测状态寄存器用于向CPU接口电路提供检测结果;地址加一电路用于对输入到地址寄存器中数据加一;比较数据锁存器用于锁存写入到随机存储器的各存储单元的数据。
9.根据权利要求8所述的随机存储器检测方法的检测电路,其特征在于,所述的检测电路设在一控制芯片内部。
10.根据权利要求8所述的随机存储器检测方法的检测电路,其特征在于,所述的测试数据表存储器是一个16×16的测试数据表存储器。
11.根据权利要求8所述的随机存储器检测方法的检测电路,其特征在于,所述的RAM读写控制器中还包括一取反电路,该取反电路用于在待写入数据切换时将写入的数据按位取反。
全文摘要
本发明公开了一种随机存储器的自动检测方法及其检测电路,其特点是,采用先向随机存储器的所有存储单元写入数据,再读出比较的方法,包括对该随机存储器的数据线测试和地址线测试两个部分,保证了芯片与外部随机存储器RAM的连接和外部随机存储器RAM内部连接无故障。本发明经测试表明,其对大容量随机存储器RAM的检测速度快,故障检出率高,具有很好的应用价值。
文档编号G11C29/00GK1315732SQ00115308
公开日2001年10月3日 申请日期2000年3月30日 优先权日2000年3月30日
发明者周志坚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1