一种存储器的自检测电路和方法

文档序号:6773381阅读:192来源:国知局
专利名称:一种存储器的自检测电路和方法
一种存储器的自检测电路和方法
技术领域
本发明涉及系统芯片领域,特别是涉及一种存储器的自检测电路和方法。背景技术
在现有的系统级芯片(简称SoC,System on Chip)设计中,经常会出现在同一个封装内同时封入功能控制芯片与存储单元,如同步动态随机存储器(SynchronousDynamic Random Access Memory,简称SDRAM)。如图1所示,图1为带有SDRAM封装系统 芯片的示意图。通常,在封装之后,需要对内部的SDRAM,以及SDRAM和功能芯片 之间的连线进行测试,以保证正常的工作。而此时SDRAM与功能芯片之间的连线由于 在封装的内部,是无法通过直接观测的方法进行测试的,因此,需要在功能芯片中增加 自检测电路,以检查存储器单元的良好性和连接的正确性。现有的技术中对上述的测试有两种做法,一种是构建自检测电路,另一种是不 构建自检测电路。构建自检测电路通常是直接构成了对物理介质(如SDRAM)的直接 访问的检查,通过对存储物理介质进行写和读的操作并进行对比,以检查写的数据和读 的数据是否一致来确定物理介质和连线是否存在隐患。这种做法不够灵活,一旦在芯片 中固化为逻辑电路,每次测试都会完成固定的向量,为了测试完备通常要消耗较长的时 间。后者是直接通过功能芯片中的CPU对存储介质进行访问。这种方式尽管比较灵活, 可以对需要访问的存储器进行精确的访问、比较,但是若要对全部的存储器介质进行测 试需要的时间要大大多于自检测方式。带有自检测电路的芯片如图2所示,自检测电路单元内部有多路选择器,在正 常的工作模式下,将CPU与存储器直接相连;在测试时,自检测电路自动生成测试向量 和控制信号,得到从SDRAM中读取的数据并将测试向量和读取的数据进行比较,比较 的结果通过管脚向测试仪器进行传递。不带有自检测电路的芯片如图3所示,CPU直接对SDRAM进行访问,根据读 回来的结果通过管脚想测试仪器进行结果的传递。因此有必要提出一种新的技术方案来解决上述问题。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。 在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部 分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范 围。本发明的目的在于提供一种存储器的自检测电路,其可以提高测试的灵活性以 及测试速度。根据本发明的一方面,本发明提供一种存储器的自检测电路,其包括数据生成 器、数据比较器、地址生成器、地址选择器、寄存器组、控制信号发生器以及测试接 口,其中所述寄存器组中存有测试方式、地址范围、地址生成方式以及数据生成方式, 所述控制信号发生器将生成的控制信号发送给所述数据生成器和地址生成器,所述数据生成器按照所述数据生成方式生成测试数据并将所述测试数据发送给所述数据比较器和 测试接口,所述测试接口将所述测试数据存入存储器中,所述地址生成器根据所述地址 范围和地址方式生成测试地址并将所述测试地址发送给所述地址选择器,所述地址选择 器根据所述测试地址和所述存储器中的地址进行匹配,所述测试接口根据所述寄存器组 中的测试方式以及测试地址从所述存储器中读取数据,所述数据比较器比较所述测试数 据和从测试接口读取的数据。进一步的,所述寄存 器组中的测试方式包括数据测试和连接测试。更进一步的,当测试方式为连接测试时,所述数据生成器均生成固定的测试数 据,所述地址生成器在不同比较次数中按照一位热码方式或多位热码方式生成不同的测 试地址以进行测试;或所述地址生成器均生成固定的测试地址,然后数据生成器在不同 比较次数中按照一位热码方式或多位热码方式生成不同的数据以进行测试;或地址生成 器和数据生成器在不同比较次数中分别按照多位热码方式生成不同的测试地址和测试数 据以进行测试。进一步的,所述寄存器组中的地址范围根据所述存储器中的行数、列数和页数 进行配置,或根据存储器中的部分行、部分列和部分页进行配置。进一步的,所述数据生成器生成的数据和所述地址生成器生成的测试地址一一 映射。根据本发明的另一方面,本发明提供一种存储器的自检测方法,其包括配置 测试方式、地址范围、地址生成方式以及数据生成方式;根据配置的测试方式、地址范 围、地址生成方式以及数据生成方式生成一一对应的测试数据和测试地址,将测试数据 发送给所述存储器中,将测试地址与存储器进行行列匹配;比较具有相同地址的测试数 据和存储器中读取的数据。进一步的,所述测试方式包括连接测试和数据测试。进一步的,当测试方式为连接测试时,均生成固定的测试数据,在不同比较次 数中按照一位热码方式或多位热码方式生成不同的测试地址;或均生成固定的测试地 址,在不同比较次数中按照一位热码方式或多位热码方式生成不同的测试数据。进一步的,当测试方式为连接测试时,在不同比较次数中按照多位热码方式分 别生成不同的测试数据和测试地址。进一步的,根据所述存储器中数据的行数、列数和页数进行所述地址范围的配 置,或根据所述存储器中数据的部分行、部分列和部分页进行所述地址范围的配置。与现有技术相比,本发明通过测试仪对自检测的电路内部的寄存器进行配置, 按照所述配置并通过编程以生成不同的测试数据和地址来进行对存储器的测试,使其自 检测电路的测试更加灵活。

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得 其它的附图。其中
图1为带有SDRAM的封装芯片;图2为带有自检测电路的功能芯片; 图3为不带有自检测电路的功能芯片; 图4为本发明中存储器的自检测电路图;和 图5为本发明中存储器的自检测方法的流程图。
具体实施方式
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接 或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了 很多特定细节。而在没有这些特定细节时,本发明则 可能仍可实现。所属领域内的技术 人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本 质。换句话说,为避免混淆本发明的目的,由于熟知的方法和程序已经容易理解,因此 它们并未被详细描述。此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方 式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非 均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外, 表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特 定顺序,也不构成对本发明的限制。本发明提供一种存储器自检测电路,其通过测试仪对自检测电路内部的寄存器 对测试方法、测试数据以及测试地址进行配置,按照所述配置并通过编程以生成不同的 测试数据和地址来进行对存储器的测试,使其自检测电路的测试更加灵活。其具体结构 可参见图4所示。图4为本发明中存储器的自检测电路图,其包括数据生成器410、数据比较器 420、地址生成器430、地址选择器440、寄存器组450、控制信号发生器460以及测试接 Π 470。所述数据生成器410用于生成测试数据,并将所述测试数据同时发送给所述数 据比较器420和测试接口 470。所述测试数据可以为一串数字数据,如123514567849, 当然,所述测试数据也可以为一串字符数据,如skbcj02D,且其测试数据的长度可自 由伸缩。这样则提高了本发明中自检测电路测试的灵活性。这里,所述数据生成器410 可以根据所述寄存器组450中配置的数据生成方式生成测试数据,如可以按照一位热码 的方式生成测试数据,也可以按照多位热码的方式生成测试数据。通常,可以根据软 件、硬件或软硬件结合的方式来实现其生成测试数据的功能。所述数据比较器420接收所述数据生成器410生成的测试数据以及从所述测试接 口 470中读取的存储器490中的数据,并将所述测试数据和存储器中读取的数据进行比 较。最后将比较结果发送给测试接口 470。所述地址生成器430用于生成测试地址,并将所述测试地址发送给所述地址选 择器440。这里所述地址生成器430根据所述寄存器组450保存的地址范围以及地址生成 方式以生成测试地址,如可以按照一位热码的方式生成测试地址,也可以按照多位热码 的方式生成测试地址。其生成的测试地址一般为存储器490中的部分或全部地址。在实际应用中,所述数据生成器410生成的测试数据可以和地址生成器430生成 的测试地址一一映射,即一个数据对应一个测试地址。
所述地址选择器440在接收到所述测试地址后,根据所述测试地址以及所述存 储器490的行列特征进行行列的匹配。以保证测试地址能在存储器490中有相对应的地 址。且所述地址选择器440还可以选择其中的某一测试地址。在一个实施例中,当所述地址选择器440配置好一个地址后,所述测试接口则 从所述存储器490中读取所述地址对应的数据并放入到所述数据比较器420中,所述数据 比较器420将对应所述地址的测试数据与所述读取的数据进行比较。因为所述数据生成器410生成的测试数据如果要写入到所述寄存器490中,则 需要地址的指引,即如果每个数据对应的地址确定了则可以将所述数据放入到所述地址 对应的位置。又由于地址选择器440生成的测试地址与所述数据生成器410生成的数据 一一对应,而测试地址为寄存器490中部分或全部地址,这样所述数据生成器410生成的 测试数据便可以写入到寄存器490中。由此可知,当所述数据选择器410中的测试数据 与地址生成器430生成的测试地址一一对应,且地址生成器430生成的测试地址与寄存器 490中的地址一一对应,而写入到寄存器490中的数据与寄存器490中的地址一一对应, 这样,可进一步推断当所述在寄存器490的连接方式和内部均没有问题的情况下,所 述数据比较器420中的数据应该与寄存器490中的数据是相同的,且均与地址生成器430 中的地址——对应。所述寄存器组450用于存放外部测试仪480配置的测试方式、地址范围、地址生 成方式以及数据生成方式。其中所述测试方式包括连接测试和数据测试,地址范围可以 根据封装的存储器490的行数、列数以及页数进行配置,也可以通过存储器490的部分 行、部分列和部分页进行配置,即可以配置成较小的地址范围以仅测试其中的某一块, 以达到抽样测试的目的。在一个实施例中,所述地址范围可以为存储器490的所有地址,这样则可以通 过存储器490中所有的数据进行测试。在另一个实施例中,所述地址范围可以仅为存储 器的一部分地址,如当存储器490为8行8列时,仅取其内部的第2行数据来进行测试。
通常,所述地址生成器430根据所述地址范围生成对应的测试地址。由于所述 寄存器组450中存放的地址范围时通过所述封装的存储器的行数、列数以及页数进行配 置的,而地址生成器430又是根据所述地址范围生成对应地址的,所以地址选择器440是 可以根据地址生成器430生成的地址和所述存储器490中行列特征进行配置的。所述配置的测试方式、地址范围、数据生成方式以及地址生成方式可以根据测 试方式而定,如可以根据存储器的连接的实际情况选择合适的连接测试方法。比如,在 连接测试时,可以固定数据,然后测试地址按照一位热码或多位热码变化生成以进行测 试;或固定地址,然后测试数据按照一位热码或多位热码变换生成以进行测试。当然, 在实际应用中,其还可以利用别的方式实现对测试地址和测试数据的配置。且在具体应 用中,可以根据存储器的连接选择不同的配置方式。所述控制信号发生器460用于发送控制信号,其为整个系统的控制部分,包括 负载存储器的控制命令,测试接口 470对存储器的读写操作,比较器结果的输出以及送 到数据比较器420内的时序匹配等。如所述控制信号发生器460对数据生成器410和地址生成器430输入控制信号以 使其对应生成测试数据和地址;所述控制信号发生器460在对数据比较器420进行数据比较时,可以获知将要比较的测试数据,并根据所述测试数据对应的地址后命令测试接口 从所述存储器490中对应的地址读取数据,从而实现对应于同一个地址的测试数据以及 存储器490中的数据的比较。所述测试接口 470负责接受从测试仪480配置给所述寄存器组450的值,并向所 述测试仪480发送测试结果,对所述存储器490进行读写操作等。如所述测试接口 470 接收到 所述数据生成器410生成的测试数据后写入到所述存储器490中,并根据所述地址 选择器440中配置的地址从所述存储器490对应的位置读取数据以发送到所述数据比较器 420 中。在一个实施例中,当外接的测试仪480向所述寄存器组450配置的测试方式为连 接测试或数据测试,且在所述控制信号发生器460发送控制信号后,所述数据生成器410 接收到所述控制信号后产生测试数据,并将所述测试数据发送给所述数据比较器420和 测试接口 470,所述地址生成器430根据寄存器中的地址范围生成地址并将其发送到所述 地址选择器440中,所述测试接口 470根据地址选择器中选择的地址将对应的数据写入到 存储器对应所述地址的位置,此时数据生成器410生成的数据和地址生成器430生成的地 址有一一映射的关系,这样在连接正确的情况下,所述数据比较器420中的测试数据应 该与所述存储器490中同一个地址对应的数据是相同的。所述测试接口 470从所述存储 器490中读取数据,并将所述数据发送给所述数据比较器420,所述数据比较器420则将 所述测试接口 470发送来的数据与测试数据中和其有相同地址的数据进行比较。一般的,对于不同的测试方式,可以根据生成不同的测试数据或测试地址进行 测试。如在进行连接方式的测试时,通常由两种测试方法。一种测试方法是先固定测试数据,即将生成的数据定位成同一个数据,如测试 数据为55555,把生成的测试地址按照一位热码方式进行测试。在一个实施例中,固定的测试数据为55,将第一位地址选为热码进行测试时, 如选择00和10进行测试,即第二位不变。当对地址00进行测试时,如果两个地址线均 连接正常,从存储器490中读取的数据应该均为55,则所述数据比较器420比较得到的 结果应该是相同的。而当一位地址线异常时,从存储器490中得到的数据则不为55,所 述数据比较器420比较得到的结果不相同,此时表明存储器490的连接有误,发送错误信 息,停止测试。另一种测试方法是先固定地址数据,即将生成的地址定位为同一个地址,如 00,则测试数据按照一位热码方式进行测试,即数据生成器410在不同比较次数的测试 过程中,可以固定变化测试数据中的一位,而其它位的数据始终保持不变。如第一次生 成的测试数据为22,第二次变化第一位的数据后为32 (即第二位保持不变),则第一次 测试比较测试数据22和存储器490中读取的数据,如果数据比较器420在两次比较结构 均有误的话,则表明数据线连接有误,停止测试,否则继续对其他位进行一位热码方式 的测试,直到所有测试结果均正确,则发送成功信号,停止测试。。如果测试方式为数据测试,则将测试数据写入到存储器490中然后读出来比较 结果。与传统的内建数据测试方式类似,但传统的方法中的测试数据是不能变化的,即 电路固化成多少就是多少,不灵活。而本发明中的测试数据可以通过编程控制测试数据 的生成,比较灵活。
上述仅仅对连接方式的测试进行了两种测试方法的描述,当然,在实际应用 中,还可以利用其他方式进行测试,只要利用寄存器组对数据生成方式和地址生成方式 分别进行不同的配置均属于本发明保护的范围。综上所述,本发明通过测试仪对自检测电路内部的寄存器进行配置,按照所述 配置并通过编程以生成不同的测试数据和地址来进行对存储器的测试,使其自检测电路 的测试更加灵活。本发明还提供一种存储器自检测方法,其具体可参见图5所示。图5为本发明中存储器自检测方法的流程图,其存储器自检测方法包括 步骤510,配置测试方式、地址范围、地址生成方式以及数据生成方式。通常所述测 试方式包括连接测试和数据测试;所述地址范围则一般根据所述存储器中的行数、列数 和页数进行配置,其也可以通过存储器中的部分行数、部分列数和部分页数进行配置以 得到一个较小的地址范围,从而达到抽样的测试目的;所述地址生成方式可以为一位热 码方式生成测试地址,也可以为多位热码方式生成测试地址,当然也可以通过其他的方 式生成测试地址;所述数据生成方式可以为一位热码方式生成测试数据,也可以为多位 热码方式生成测试数据,当然也可以通过其他方式生成测试数据。所述配置的测试方式、地址范围、数据生成方式以及地址生成方式可以根据测 试方式而定,如可以根据存储器的连接的实际情况选择合适的连接测试方法。比如,在 连接测试时,可以固定数据,然后测试地址按照一位热码或多位热码变化生成以进行测 试;或固定地址,然后测试数据按照一位热码或多位热码变换生成以进行测试。当然, 在实际应用中,其还可以利用别的方式实现对测试地址和测试数据的配置。且在具体应 用中,可以根据存储器的连接选择不同的配置方式。步骤520,根据配置的测试方式、地址范围、地址生成方式以及数据生成方式生 成一一对应的测试数据和测试地址,将所述测试数据方发送给所述存储器中,将所述测 试地址与存储器进行行列配置。步骤530,比较具有相同地址的测试数据和存储器中读取的数据。由上可知,所 述测试数据与生成的所述地址一一对应,输入到存储器中的数据域存储器中的地址一一 对应,而生成的所述地址与存储器进行了行列配置,所述理论上,在存储器的连接以及 本身没有问题时,比较所述测试数据和存储器中相同地址的数据是相同的。通常,在进行测试时,需要进行多次测试,如果测试方式为连接测试时,则可 以通过两种方式实现。一种方法是在多次测试时,均固定生成的测试数据,即每次数据均为一串相 同的数据,如55555,然后地址按照一位热码的方式生成,如在第一次测试时,生成的地 址为00000,在第二次测试时生成的地址为10000,即仅让一位发生变化,而其他位保持 不变。这样在进行比较时,如果比较的测试数据和存储器中的数据在两次比较中结果均 不同,则表示第一位地址线连接有误,发送错误信号,并停止测试,否则直到地址线均 比较完毕,发送成功信号,停止测试。另一种方式是在多次测试时,均固定生成的地址,即每次生成的地址为相同 的地址,如000000,然后测试数据按照一位热码的方式生成,如在第一次测试时,生成 的数据为355555,第二次测试时,生成的数据为655555,即仅让一位数据发生变化,而其他位保持不变。这样在进行比较时,如果比较的测试数据和存储器中的数据在两次比 较中结果均相同,则表示连接正确,继续比较其他数据直到所有数据比较结束均正确, 则发送成功信号,停止测试;否则表示连接错误,发送错误信号并停止测试。上述两种方式分别对测试地址和测试数据进行一位热码的测试,在实际应用 中,还可以将测试地址和测试数据都按照多位码变化的方式测试。根据所述数据生成方 式以及地址生成方式生成的所述测试数据和测试地址可以是多样化的,并不仅仅局限于 一位热码或多位热码的生成方式,其具体的生产需要根据存储器490的具体连接而定。 但只要是根据配置后的数据生成方式以及地址生成方式生成测试数据以及测试地址的方 法均属于本发明的技术范围。如果测试方式为数据测试,则将测试数据写入到存储器中然后读出来比较结 果。与传统的内建数据测试方式类似,但传统的方法中的测试数据是不能变化的,即电 路固化成多少就是多少,不灵活。而本发明中的测试数据可以通过编程控制测试数据的 生成,比较灵活。综上所述,本发明通过对测试方式、测试数据的生成方式以及测试地址的生产 方式进行配置,可以根据测试方式灵活的得到需要的测试数据和测试地址已完成不同的 测试,使得所述存储器的自检测更加灵活多变,且提高了测试速度。上述说明已经充分揭露了本发明的具体实施方式
。需要指出的是,熟悉该领域 的 技术人员对本发明的具体实施方式
所做的任何改动均不脱离本发明的权利要求书的范 围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式

权利要求
1.一种存储器的自检测电路,其包括数据生成器、数据比较器、地址生成器、地址 选择器、寄存器组、控制信号发生器以及测试接口,其特征在于所述寄存器组中存有测试方式、地址范围、地址生成方式以及数据生成方式,所述 控制信号发生器将生成的控制信号发送给所述数据生成器和地址生成器,所述数据生成 器按照所述数据生成方式生成测试数据并将所述测试数据发送给所述数据比较器和测试 接口,所述测试接口将所述测试数据存入存储器中,所述地址生成器根据所述地址范围 和地址方式生成测试地址并将所述测试地址发送给所述地址选择器,所述地址选择器根 据所述测试地址和所述存储器中的地址进行匹配,所述测试接口根据所述寄存器组中的 测试方式以及测试地址从所述存储器中读取数据,所述数据比较器比较所述测试数据和 从测试接口读取的数据。
2.根据权利要求1所述的存储器的自检测电路,其特征在于所述寄存器组中的测 试方式包括数据测试和连接测试。
3.根据权利要求2所述的存储器的自检测电路,其特征在于当测试方式为连接测 试时,所述数据生成器均生成固定的测试数据,所述地址生成器在不同比较次数中按照 一位热码方式或多位热码方式生成不同的测试地址以进行测试;或所述地址生成器均生 成固定的测试地址,然后数据生成器在不同比较次数中按照一位热码方式或多位热码方 式生成不同的数据以进行测试;或地址生成器和数据生成器在不同比较次数中分别按照 多位热码方式生成不同的测试地址和测试数据以进行测试。
4.根据权利要求1所述的存储器的自检测电路,其特征在于所述寄存器组中的地 址范围根据所述存储器中的行数、列数和页数进行配置,或根据存储器中的部分行、部 分列和部分页进行配置。
5.根据权利要求1所述的存储器的自检测电路,其特征在于所述数据生成器生成 的数据和所述地址生成器生成的测试地址一一映射。
6.—种存储器的自检测方法,其特征在于,其包括配置测试方式、地址范围、地址生成方式以及数据生成方式;根据配置的测试方式、地址范围、地址生成方式以及数据生成方式生成一一对应的 测试数据和测试地址,将测试数据发送给所述存储器中,将测试地址与存储器进行行列 匹配;比较具有相同地址的测试数据和存储器中读取的数据。
7.根据权利要求6所述的存储器的自检测方法,其特征在于所述测试方式包括连 接测试和数据测试。
8.根据权利要求6所述的存储器的自检测方法,其特征在于当测试方式为连接测 试时,均生成固定的测试数据,在不同比较次数中按照一位热码方式或多位热码方式生 成不同的测试地址;或均生成固定的测试地址,在不同比较次数中按照一位热码方式或 多位热码方式生成不同的测试数据。
9.根据权利要求6所述的存储器的自检测方法,其特征在于当测试方式为连接测 试时,在不同比较次数中按照多位热码方式分别生成不同的测试数据和测试地址。
10.根据权利要求6所述的存储器的自检测方法,其特征在于根据所述存储器中数 据的行数、列数和页数进行所述地址范围的配置,或根据所述存储器中数据的部分行、部分列和部分页进行所述地址范围的配置。
全文摘要
本发明提供一种存储器的自检测电路,其中所述寄存器组中存有测试方式、地址范围、地址生成方式以及数据生成方式,所述控制信号发生器将生成的控制信号发送给所述数据生成器和地址生成器,所述数据生成器按照所述数据生成方式生成测试数据并将所述测试数据发送给所述数据比较器和测试接口,所述测试接口将所述测试数据存入存储器中,所述地址生成器根据所述地址范围和地址方式生成测试地址并将所述测试地址发送给所述地址选择器,所述地址选择器根据所述测试地址和所述存储器中的地址进行匹配,所述测试接口根据所述寄存器组中的测试方式以及测试地址从所述存储器中读取数据,所述数据比较器比较所述测试数据和从测试接口读取的数据。
文档编号G11C29/18GK102013274SQ20101053984
公开日2011年4月13日 申请日期2010年11月10日 优先权日2010年11月10日
发明者董欣, 邹杨 申请人:无锡中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1