CN1700357A - 用于内置错误诊断的半导体存储器件 - Google Patents

用于内置错误诊断的半导体存储器件 Download PDF

Info

Publication number
CN1700357A
CN1700357A CN200510072825.5A CN200510072825A CN1700357A CN 1700357 A CN1700357 A CN 1700357A CN 200510072825 A CN200510072825 A CN 200510072825A CN 1700357 A CN1700357 A CN 1700357A
Authority
CN
China
Prior art keywords
address
register
output data
error diagnosis
misaddress
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
Application number
CN200510072825.5A
Other languages
English (en)
Other versions
CN100479067C (zh
Inventor
山内尚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of CN1700357A publication Critical patent/CN1700357A/zh
Application granted granted Critical
Publication of CN100479067C publication Critical patent/CN100479067C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0405Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals comprising complete test loop
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1208Error catch memory

Abstract

提供了一种其中单片集成了存储器(2)和寄存器(5)的半导体器件的错误诊断方法。该错误诊断方法包括:对与一系列地址有关的存储器(2)进行第一检测,以识别第一错误地址;外部地输出第一错误地址;将第一错误地址存储到寄存器(5)中;对与一系列地址有关的存储器进行第二检测;使用第二检测结果和存储在寄存器(5)中的第一错误地址,识别不同于第一错误地址的第二错误地址;外部地输出第二错误地址;并且更新寄存器(5),以存储第二错误地址。

Description

用于内置错误诊断的半导体存储器件
技术领域
本发明涉及诸如内置自测(BIST)技术等半导体存储器件的芯片上错误诊断。
背景技术
本领域内公知其中设计有存储器件以用于自测的BIST结构。如日本未决公开专利申请JP-A 2000-276898中所公开的,对BIST结构的一个要求是识别错误地址和识别从错误地址中读出的数据。错误地址上的信息和从错误地址中读出的数据为分析存储器件的错误原因提供了重要基础。
BIST结构的一个问题是存储被检测的存储器件之内的所有错误地址需要增加电路开销。如日本未决公开专利申请No.JP-A-Heisei 11-16392中所公开的,用于减小电路开销的方法是每次发现错误时外部地输出错误地址。
图1示出了采用这种BIST结构的存储器件的结构。存储器件由单片地集成于单个半导体芯片内的错误诊断电路100和RAM 102组成。设计的错误诊断电路100执行RAM 102的芯片上检测。RAM 102是由多个可寻址存储单元组成。当发出写请求时,RAM 102接收并且将外部输入的数据存储到与写地址有关的存储单元上。当发出读请求时,RAM 102输出存储在由读地址所选取的存储单元中的数据。
错误诊断电路100包括地址生成器103、预期数据生成器104、比较器105和检测结果寄存器106。
地址生成器103生成和更新RAM 102的检测地址。地址更新与时钟是同步的;地址生成器103增加用于每一个时钟周期的检测地址。当被从比较器105接收的控制信号107指示时,地址生成器103停止更新检测地址。地址生成器103通常由计数器组成。
预期数据生成器104为每一个被检测的地址生成预期数据。
比较器105对从RAM 102接收的数据和从预期数据生成器104接收的预期数据进行比较。当从RAM 102接收的数据与预期数据匹配时,比较器105激活控制信号107,以指示地址生成器103停止生成地址。
设计的检测结果寄存器106存储从RAM 102接收的数据和预期数据之间的比较结果。设计的检测结果寄存器106通过信号线108可以进行外部访问。检测结果寄存器106通过信号线108外部地输出比较结果。
设计的错误诊断电路100对RAM 102的每一个地址执行检测。当在具体的检测地址上没有发现错误时,错误诊断电路100将检测地址更新到下一个地址。当发现错误时,错误诊断电路100停止更新检测地址。
这种检测程序的一个缺点是可能会忽视与速度相关的错误。当发现错误时,前述的检测程序在某个地址处中断检测,并且后续检测从检测中断的地址处恢复。这会导致没有以恒定时间间隔更新检测地址,并且RAM 102部分地以降低的频率被检测。以降低的频率对RAM102进行检测会不合需要地导致对与速度相关的错误的忽视。
上述检测程序的另一个缺点是将检测结果从存储器件转移到外部检测器需要相当长的时间。当所检测的RAM 102是DRAM时,提取检测结果的所需要的时间可能会超过刷新周期。这会不合需要地导致将正常地址不正确地检测为错误地址。
因此,需要提供能够允许以小的电路开销来检测存储器件内的与速度相关的错误的芯片错误诊断结构。
日本未决公开专利申请JP-A-Heisei 11-16393公开了用于在短的时间内输出失效位映射信息的自测电路。自测电路是由用于检测错误地址的错误地址检测器和用于压缩错误地址信息的数据压缩器件组成。将所压缩的错误外部地输出到外部检测器。
发明内容
根据本发明一个方面,用于其中单片集成了存储器和寄存器的半导体器件的错误诊断方法包括:
对与一系列地址有关的所述存储器进行第一检测,以识别第一错误地址;
外部地输出所述第一错误地址;
将所述第一错误地址存储到所述寄存器;
对与一系列地址有关的所述存储器进行第二检测;
使用所述第二检测结果和存储在所述寄存器中的所述第一错误地址,识别不同于所述第一错误地址的第二错误地址;外部地输出所述第二错误地址;并且
更新所述寄存器,以存储所述第二错误地址。
这样设计的错误诊断方法有效地减小了用于存储错误地址的电路开销,同时实现了对与速度相关的错误的检测。
在一个优选实施例中,第二检测包括从预定起始地址到高于第一错误地址的某个地址对存储器进行连续地检测,并且将由第二检测在高于第一错误地址的地址范围内首先发现的错误地址识别为第二错误地址。
在另一优选实施例中,第一检测包括从起始地址到结束地址对存储器进行连续地检测,并且将由第一检测最后找到的错误地址识别为第一错误地址。第二检测包括从起始地址到第一错误地址的恰好前一个地址或高于第一错误地址的某个地址对存储器进行连续地检测,并且将由第二检测在从起始地址到恰好前一个地址的地址范围内最后找到的错误地址识别为第二错误地址。
根据本发明的另一方面,半导体器件包括:存储器;地址生成器,用于生成和更新地址,以便该地址可以从某个起始地址连续增加;错误诊断起始地址寄存器,用于包含错误诊断起始地址,以便可以外部地访问错误诊断起始地址;错误诊断使能生成器,用于对地址和错误诊断起始地址进行比较;以及比较器,用于对从存储器的地址得到的输出数据和与该地址有关的预期值进行比较。当输出数据与预期值不匹配并且地址要高于错误诊断起始地址时,设计的地址生成器停止更新地址。设计的错误诊断起始地址寄存器在停止地址更新的位置处接收停止地址,并且将错误诊断起始地址更新到停止地址。
根据本发明的又一方面,半导体器件包括:存储器;地址生成器,用于生成和更新地址,以便地址可以从某个起始地址连续增加;错误诊断结束地址寄存器,用于包含错误诊断结束地址,以便可以外部地访问错误诊断结束地址;地址保持寄存器,用于从地址生成器接收地址;错误诊断使能生成器,用于对地址和错误诊断结束地址进行比较;以及比较器,用于对从存储器的地址得到的输出数据和与该地址有关的预期值进行比较。当地址低于错误诊断结束地址并且输出数据与预期数据不匹配时,对地址保持寄存器进行更新,以存储从地址生成器接收的地址。在地址到达错误诊断结束地址的恰好前一个地址之后,将错误诊断结束地址寄存器中所包含的错误诊断结束地址更新为地址保持寄存器中所包含的地址。
根据本发明的又一方面,半导体器件包括:存储器;地址生成器,用于生成和更新地址,以便地址可以从某个起始地址连续增加;错误地址保持寄存器,用于从地址生成器接收地址;以及比较器,用于对从存储器的地址得到的输出数据和与该地址有关的预期值进行比较。当输出数据与预期数据不匹配时,对错误地址保持寄存器进行更新,以存储从地址生成器接收的地址。可以对地址保持寄存器进行外部地访问。
附图说明
从下面结合附图的说明中,本发明的上述和其他优点和特征将更为明显,其中:
图1为框图,示出了现有错误诊断电路的实例结构;
图2为框图,示出了在本发明的一个实施例中的错误诊断电路的实例结构;
图3为框图,示出了在本发明的另一实施例中的错误诊断电路的实例结构;
图4为时序图,示出了在第一检测期间由图2所示的错误诊断电路的操作;
图5为时序图,示出了在第二检测期间由图2所示的错误诊断电路的操作;
图6为框图,示出了在本发明的又一实施例中的错误诊断电路的实例结构;
图7为框图,示出了在本发明的又一实施例中的错误诊断电路的实例结构;
图8为时序图,示出了在第一检测期间由图7所示的错误诊断电路的操作;
图9为时序图,示出了在第二检测期间由图7所示的错误诊断电路的操作;以及
图10为框图,示出了在本发明的又一实施例中的错误诊断电路的实例结构;
具体实施方式
下面参考解释性实施例来讲述本发明。本领域的一般技术人员都知道,使用本发明的讲述可以完成许多可选的实施例,并且本发明并不限于用于讲解目的的实施例。
第一和第二实施例
在第一实施例中,如图2所示,错误诊断电路1和RAM 2单片地集成于单个半导体芯片之内。设计的错误诊断电路1对RAM 2进行检测。RAM 2包括由相关地址进行识别的多个存储单元。简而言之,假设在该实施例中RAM 2的地址范围为0~7,由4位表示。当在写操作期间外部输入写地址和写数据时,RAM 2将写数据存储在与写地址有关的存储单元中。当在读操作期间输入读地址时,RAM 2输出存储在与读地址有关的存储单元中的数据。
错误诊断电路1包括地址生成器3、错误诊断起始地址寄存器5、错误诊断使能生成器6、输出数据寄存器7、预期数据生成器8和比较器10。
地址生成器3生成和更新用于RAM 2的检测地址。地址生成器3响应用于更新检测地址的从比较器10接收的地址更新使能信号11;当使能地址更新使能信号11时,地址生成器3更新检测地址。检测地址的更新与时钟信号是同步的;地址生成器3对于每一个时钟周期增加检测地址。设计的地址生成器3响应被禁止的地址更新使能信号11,停止更新检测地址。地址生成器3通常由计数器组成。
设计的错误诊断起始地址寄存器5对从地址生成器3接收的检测地址进行锁存。通过信号线12可以对错误诊断起始地址寄存器5进行外部访问。信号线12为错误诊断起始地址寄存器5提供从移位输出到移位输入的反馈回路。这允许错误诊断起始地址寄存器5在移出所存储的地址之后能够保留该地址,并且消除了对将所输出的数据重新存储到错误诊断起始地址寄存器5中的需要。
错误诊断使能生成器6响应从地址生成器3接收的检测地址,用于为比较器10提供诊断使能信号15。当检测地址等于或低于从错误诊断起始地址寄存器5接收的地址时,诊断使能信号15被禁止。当检测地址高于从错误诊断起始地址寄存器5接收的地址时,诊断使能信号15被使能。
输出数据寄存器7存储从RAM 2接收的输出数据。设计的输出数据寄存器7可以通过连接到外部世界的信号线14被外部访问。
预期数据生成器8为每一个检测地址生成预期数据。将预期数据提供给比较器10。
比较器10响应用于对从RAM 2接收的输出数据和从预期数据生成器8接收的预期数据进行比较的诊断使能信号15。当诊断使能信号15被使能并且从RAM 2接收的输出数据与从预期数据生成器8接收的预期数据不匹配时,比较器10禁止地址更新使能信号11,用于指示地址生成器3停止对检测地址进行更新。当诊断使能信号15被禁止或当从RAM 2接收的输出数据与从预期数据生成器8接收的预期数据相匹配时,比较器10使能地址更新使能信号11。
错误诊断方法包括使用错误诊断电路1对RAM 2进行检测,该方法由以下步骤组成:检测数据写步骤、第一检测步骤以及接着第一检测步骤的一个或多个后续检测步骤。
检测数据写步骤包括将检测数据写到RAM 2上。在该实施例中,将数据“0”写到RAM 2的每一个偶数地址上,并且将数据“F”(或者在十进制中为数据“15”)写到每一个奇数地址上。
检测数据写步骤后跟随有第一检测步骤。第一检测步骤从初始化错误诊断起始地址寄存器5开始;将错误诊断起始地址寄存器5设定为表示第一检测步骤的某个地址上。然后从起始地址来启动第一检测,连续地将时钟信号提供给错误诊断电路1和RAM 2。在第一检测期间,在错误诊断起始地址寄存器5中所包含的地址被输入到错误诊断使能生成器6。在时钟信号的供应超过足够对RAM 2的所有地址进行检测的时钟周期后,将在地址生成器3的输出上生成的检测地址写到错误诊断起始地址寄存器5。当在RAM 2中存在一个或多个错误时,则由于地址生成器3停止更新检测地址,因此会导致错误诊断起始地址寄存器5被设定为最低错误地址,并且输出数据寄存器7保持从最低错误地址得到的数据。然后从错误诊断起始地址寄存器5外部地输出错误地址,并且从输出数据寄存器7外部地输出从错误地址得到的数据。
当在第一检测期间发现了任何错误时,则在第一检测之后执行一个或多个后续检测。在第二检测开始时,错误诊断起始地址寄存器5包含最低错误地址。然后执行第二检测,连续地将时钟信号提供给错误诊断电路1和RAM 2。需要注意的是从与第一检测相同的起始地址,而不是从最低错误地址的下一个地址开始第二检测。这对在RAM 2内检测与速度相关的错误是很重要的。在时钟信号的供应超过足够对RAM 2的所有地址进行检测的时钟周期之后,如果存在一个或多个其他错误,则在地址生成器3的输出上生成的检测地址作为第二最低错误地址,被写到错误诊断起始地址寄存器5。然后从错误诊断起始地址寄存器5外部地输出第二最低错误地址,并且从输出数据寄存器7外部地输出从第二最低错误地址得到的数据。重复如此描述的检测,直到在检测中找不到另外的错误为止。
需要注意的是,只有当检测地址高于错误诊断起始地址寄存器5中所存储的地址时,才在后续检测中使能诊断使能信号15,其在第一检测之后从起始地址执行。例如,当在第一检测期间在地址#2发现了错误时,则将地址#2存储在错误诊断起始地址寄存器5中,并且当检测地址等于或高于地址#3时,则使能诊断使能信号15,以在第二检测期间激活比较器10。当在地址#3或更高地址发现了另一错误时,禁止地址更新使能信号11,以停止对检测地址的更新。这实现了对第二最低错误地址的识别。对所有余下的错误地址进行相同的操作;例如,第三检测实现了对第三最低错误地址的识别。如此描述的错误诊断方法有效地减少了用于存储错误地址的硬件;错误诊断电路1只需要存储用于外部地获取所有错误地址的一个错误地址。
图3为框图,示出了在本发明第二实施例中的错误诊断电路的实例结构。错误诊断电路21和RAM 22单片地集成于单个半导体芯片之内。设计的错误诊断电路21对RAM 22进行检测。RAM 22包括由相关地址进行识别的多个存储单元。简而言之,假设RAM 22的地址范围为0~7,由4位表示。当在写操作期间外部地输入写地址和写数据时,RAM 22将写数据存储在与写地址有关的存储单元中。当在读操作期间输入读地址时,RAM 22输出存储在与读地址有关的存储单元中的数据。
除了错误诊断电路21适于使用同步DRAM来作为RAM 22的事实之外,错误诊断电路21的结构与图2所示的错误诊断电路1的结构相似;RAM 22具有数据读等待时间,其是在接收与所选存储单元有关的地址后的一个或多个时钟周期中输出存储在所选存储单元中的数据。
具体地说,错误诊断电路21包括地址生成器23、地址保持寄存器24、错误诊断起始地址寄存器25、错误诊断使能生成器26、一组第一和第二输出数据寄存器27和28、预期数据生成器29和比较器31。与图2所示的错误诊断电路1的不同之处在于在错误诊断电路21内额外包括了地址保持寄存器24和一对串联输出数据寄存器。
地址生成器23生成和更新用于RAM 22的检测地址。地址生成器23响应用于更新检测地址的从比较器31接收的地址更新使能信号32;当地址更新使能信号32被使能时,地址生成器23更新检测地址。检测地址的更新与时钟信号是同步的;地址生成器23对每一个时钟周期增加检测地址。设计的地址生成器23响应被禁止的地址更新使能信号32,停止对检测地址的更新。地址生成器23通常由计数器组成。
地址保持寄存器24是由用于将从地址生成器23接收的检测地址保持三个时钟周期的三级移位寄存器组成。地址保持寄存器24的第一级(或输入级)从地址生成器23接收检测地址,并且然后将所接收的检测地址转移到第二和第三级。将地址保持寄存器24的第二级(或中间级)的输出连接到错误诊断使能生成器26,并且将第三级(或输出级)的输出连接到错误诊断起始地址寄存器25。地址保持寄存器24响应地址更新使能信号32,以对来自地址生成器23的检测地址进行锁存。
设计的错误诊断起始地址寄存器25锁存从地址保持寄存器24接收的检测地址。通过信号线33可以对错误诊断起始地址寄存器25进行外部访问。信号线33为错误诊断起始地址寄存器25提供了从移位输出到移位输入的反馈回路。这允许错误诊断起始地址寄存器25在移出所存储的地址之后保留地址,并且消除了对将所输出的地址重新存储到错误诊断起始地址寄存器25中的需要。
错误诊断使能生成器26响应外部输入的用于指示当前检测是否为第一检测的第一检测识别信号34,用于响应从地址保持寄存器24接收的检测地址来为比较器31提供诊断使能信号36。当激活第一检测识别信号34以指示当前检测为第一检测时,则错误诊断使能生成器26无条件地使能诊断使能信号36。另一方面,当去激活第一检测识别信号34时,错误诊断使能生成器26对从地址保持寄存器24接收的地址和从错误诊断起始地址寄存器25接收的地址进行比较。当在第一检测识别信号34被去激活的情况下从地址保持寄存器24接收的地址等于或低于从错误诊断起始地址寄存器25接收的地址时,则错误诊断使能生成器26禁止诊断使能信号36,以去激活比较器31。另一方面,当在第一检测识别信号34被去激活的情况下从地址保持寄存器24接收的地址高于从错误诊断起始地址寄存器25接收的地址时,则错误诊断使能生成器26使能诊断使能信号36,以激活比较器31。
设计的第一输出数据寄存器27锁存从RAM 22接收的输出数据,并且将被锁存数据包含一个时钟周期。将第一输出数据寄存器27的输出连接到第二输出数据寄存器28和比较器31。
第二输出数据寄存器28响应地址更新使能信号32,以锁存来自第一输出数据寄存器27的输出数据。当使能地址更新使能信号32时,第二输出数据寄存器28与时钟信号同步地锁存输出数据。当地址更新使能信号32被禁止时,第二输出数据寄存器28保留存储于其中的数据。
预期数据生成器29对每一个检测地址产生预期数据。预期数据的生成与有关检测地址的产生是同步的;用于特定检测地址的预期数据在生成特定检测地址后的三个时钟周期内产生。将预期数据提供给比较器31。
比较器31响应用于对从RAM 22接收的输出数据和从预期数据生成器29接收的预期数据进行比较的诊断使能信号36。当诊断使能信号36被使能并且从RAM 22接收的输出数据与从预期数据生成器29接收的预期数据不匹配时,则比较器31禁止地址更新使能信号32,用于指示地址生成器23停止对检测地址进行更新。当诊断使能信号36被禁止时,或当从RAM 22接收的输出数据与从预期数据生成器29接收的预期数据相匹配时,则比较器31使能地址更新使能信号32。
错误诊断方法包括使用错误诊断电路21对RAM 22进行检测,该方法由以下步骤组成:检测数据写步骤、第一检测步骤,以及接着第一检测步骤的一个或多个后续检测步骤。
检测数据写步骤包括将检测数据写到RAM 22上。在该实施例中,将数据“0”写到RAM 22的每一个偶数地址上,并且将数据“F”(或者在十进制中为数据“15”)写到每一个奇数地址上。将检测数据写到RAM 22上与为其提供的时钟信号是同步地连续执行的。
检测数据写步骤跟随着第一检测步骤。第一检测步骤从重置错误诊断起始地址寄存器25开始。然后从起始地址开始执行第一检测,在第一检测识别信号34被激活的情况下连续地将时钟信号提供给错误诊断电路21和RAM 22。在第一检测期间,在错误诊断起始地址寄存器25中所包含的地址被输入到错误诊断使能生成器26。在时钟信号的供应超过足够对RAM 22的所有地址进行检测的时钟周期后,将在地址保持寄存器24的输出上产生的检测地址写到错误诊断起始地址寄存器25。当在RAM 22中存在一个或多个错误时,则由于地址生成器23响应被禁止的地址更新使能信号32而停止更新检测地址,因此会导致错误诊断起始地址寄存器25被设定为最低错误地址,并且输出数据寄存器28保持从最低错误地址得到的数据。然后从错误诊断起始地址寄存器25外部地输出错误地址,并且从输出数据寄存器28外部地输出从错误地址得到的数据。
当在第一检测期间发现了任何错误时,则在第一检测之后执行一个或多个后续检测。在第二检测开始时,错误诊断起始地址寄存器25包含最低错误地址。执行第二检测,连续地将时钟信号提供给错误诊断电路21和RAM 22。在时钟信号的供应超过足够对RAM 22的所有地址进行检测的时钟周期之后,如果存在一个或多个其他错误,则在地址保持寄存器24的输出上生成的检测地址作为第二最低错误地址,被写到错误诊断起始地址寄存器25。然后从错误诊断起始地址寄存器25外部地输出第二最低错误地址,并且从输出数据寄存器28外部地输出从第二最低错误地址得到的数据。重复如此描述的检测,直到在检测中找不到另外的错误为止。
图4为时序图,示出了在假设RAM 22输出用于地址#2的错误数据“8”和输出用于地址#4的错误数据“3”的情况下,在第一检测期间的错误诊断电路1的实例操作。在第一检测期间,错误诊断使能生成器26响应被激活的第一检测识别信号34,无条件地使能诊断使能信号36。
在第一时钟周期,地址生成器23将检测地址初始化为起始地址,也就是地址#0。比较器31首先在第一时钟周期使能地址更新使能信号32。
在第二时钟周期,地址生成器23将检测地址更新到作为地址#0的下一个地址的地址#1。比较器31保留在第二时钟周期被使能的地址更新使能信号32。另外,RAM 22响应在第一时钟周期被设定为地址#0的检测地址,在第二时钟周期输出存储在地址#0中的数据“0”。
在第三时钟周期,地址生成器23响应在第二时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#2。另外,输出数据寄存器27输出在第二时钟周期从RAM 22接收的与地址#0有关的数据“0”。同时,预期数据生成器29在第三时钟周期输出预期数据“0”,该预期数据与地址#0有关。比较器31在第三时钟周期继续使能地址更新使能信号32。最后,RAM 22响应在第二时钟周期被设定为地址#1的检测地址,在第三时钟周期输出存储在地址#1中的数据“F”。
在第四时钟周期,地址生成器23响应在第三时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#3。在第四时钟周期,地址保持寄存器24在输出级的输出上输出由地址生成器23在第一时钟周期生成的地址#0。另外,输出数据寄存器27输出在第三时钟周期从RAM 22接收的与地址#1有关的数据“F”。同时,预期数据生成器29在第四时钟周期输出预期数据“F”,该预期数据与地址#1有关。进而,比较器31对作为从RAM 22的地址#0得到的输出数据的在第三时钟周期从输出数据寄存器27接收的数据和在第三时钟周期从预期数据生成器29接收的与地址#0有关的预期数据进行比较。比较器31响应比较结果,在第四时钟周期使能地址更新使能信号32。最后,RAM 22响应在第三时钟周期被设定为地址#2的检测地址,在第四时钟周期输出存储在地址#2中的数据“8”。需要注意的是,存储在地址#2中的数据和与地址#2有关的预期数据并不匹配。
在第五时钟周期,地址生成器23响应在第四时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#4。在第五时钟周期,地址保持寄存器24在输出级的输出上输出由地址生成器23在第二时钟周期生成的地址#1。另外,输出数据寄存器27输出在第四时钟周期从RAM 22接收的与地址#2有关的数据“8”。同时,预期数据生成器29在第五时钟周期输出预期数据“0”,该预期数据与地址#2有关。进而,比较器31对在第四时钟周期从输出数据寄存器27接收的RAM22的地址#1得到的输出数据和在第四时钟周期从预期数据生成器接收的与地址#1有关的预期数据进行比较。比较器31响应比较结果,在第五时钟周期使能地址更新使能信号32。最后,RAM 22响应在第四时钟周期被设定为地址#3的检测地址,在第五时钟周期输出存储在地址#3中的数据“F”。
在第六时钟周期,地址生成器23响应在第五时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#5。在第六时钟周期,地址保持寄存器24在输出级的输出上输出由地址生成器23在第三时钟周期生成的地址#2。另外,输出数据寄存器27输出在第五时钟周期从RAM 22接收的与地址#3有关的数据“F”。同时,预期数据生成器29在第六时钟周期输出预期数据“F”,该预期数据与地址#3有关。进而,比较器31对从输出数据寄存器27接收的RAM 22的地址#2得到的输出数据和与地址#2有关的预期数据进行比较。响应从地址#2得到的输出数据和有关的预期数据不匹配这一事实,比较器31在第六时钟周期禁止地址更新使能信号32。最后,RAM 22在第六时钟周期输出存储在地址#4中的数据。
响应被禁止的地址更新使能信号32,地址生成器23在第七时钟周期停止更新检测地址。这导致地址生成器23在第七和后续的时钟周期继续输出地址#5。另外,地址保持寄存器24响应被禁止的地址更新使能信号32,开始保留在其中存储的不变的地址。这导致了地址保持寄存器24在第七和后续的时钟周期继续输出作为最低错误地址的地址#2。将错误诊断起始地址寄存器25更新到最低错误地址,也就是地址#2。另外,输出数据寄存器28响应被禁止的地址更新使能信号32,开始保留在其中存储的输出数据。这允许外部地访问与最低错误地址有关的输出数据。
图5为时序图,示出了在上述第一检测之后执行的第二检测期间的错误诊断电路1的实例操作。需要注意的是,假设RAM 22输出用于地址#2的错误数据“8”和输出用于地址#4的错误数据“3”。
当开始第二检测时,错误诊断起始地址寄存器25包含作为在第一检测期间被检测为最低错误地址的地址#2。从与第一检测相同的起始地址也就是地址#0来开始第二检测。响应被启动的第二检测,去激活第一检测识别信号34。
在第一时钟周期,地址生成器23将检测地址设定为作为起始地址的地址#0。错误诊断使能生成器26响应被去激活的第一检测识别信号34,禁止诊断使能信号36。比较器31在不执行任何比较的情况下在第一时钟周期使能地址更新使能信号32。
在第二时钟周期,地址生成器23响应在第一时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#1。错误诊断使能生成器26响应被去激活的第一检测识别信号34,在第二时钟周期禁止诊断使能信号36。另一方面,比较器31响应在第一时钟周期被禁止的诊断使能信号36,使能地址更新使能信号32。另外,RAM 22响应在第一时钟周期被设定为地址#0的检测地址,输出与地址#0有关的数据“0”。
在第三时钟周期,地址生成器23响应在第二时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#2。另外,地址保持寄存器24将地址生成器在第一时钟周期生成的地址#0提供给诊断使能生成器26。在第一检测识别信号34被去激活的情况下,错误诊断使能生成器26响应从地址保持寄存器24接收的地址#0低于错误诊断起始地址寄存器25中所包含的最低错误地址这一事实,在第三时钟周期禁止诊断使能信号36。输出数据寄存器27输出在第二时钟周期从RAM 22接收的与地址#0有关的数据“0”。同时,预期数据生成器29在第三时钟周期输出预期数据“0”,该预期数据与地址#0有关。比较器31响应在第二时钟周期被禁止的诊断使能信号36,在第三时钟周期继续使能地址更新使能信号32。最后,RAM 22响应在第二时钟周期被设定为地址#1的检测地址,在第三时钟周期输出与地址#1有关的数据“F”。
在第四时钟周期,地址生成器23响应在第三时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#3。在第四时钟周期,地址保持寄存器24在输出级的输出上生成地址#0,并且还将由地址生成器23在第二时钟周期生成的来自第二级的地址#1提供给诊断使能生成器26。在第一检测识别信号34被去激活的情况下,错误诊断使能生成器26响应从地址保持寄存器24接收的地址#1要低于错误诊断起始地址寄存器25中所包含的最低错误地址(也就是地址#2)这一事实,在第四时钟周期禁止诊断使能信号36。另外,输出数据寄存器27输出在第三时钟周期从RAM 22接收的与地址#1有关的数据“F”。同时,预期数据生成器29在第四时钟周期输出预期数据“F”,该预期数据与地址#1有关。比较器31响应在第三时钟周期被禁止的诊断使能信号36,在第四时钟周期使能地址更新使能信号32。输出数据寄存器28保持在第三时钟周期从输出数据寄存器27接收的数据“0”。最后,RAM 22响应在第三时钟周期被设定为地址#2的检测地址,在第四时钟周期输出存储在地址#2中的数据“8”。
在第五时钟周期,地址生成器23响应在第四时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#4。在第五时钟周期,地址保持寄存器24在输出级的输出上生成地址#1,并且还将由地址生成器23在第三时钟周期生成的来自第二级的地址#2提供给诊断使能生成器26。在第一检测识别信号34被去激活的情况下,错误诊断使能生成器26响应从地址保持寄存器24接收的地址#2等于在错误诊断起始地址寄存器25中所包含的最低错误地址这一事实,在第五时钟周期禁止诊断使能信号36。另外,输出数据寄存器27输出在第四时钟周期从RAM 22接收的与地址#2有关的数据“8”。同时,预期数据生成器29在第五时钟周期输出预期数据“0”,该预期数据与地址#2有关。虽然在地址#2检测到错误,但是比较器31仍然响应在第四时钟周期被禁止的诊断使能信号36,在第五时钟周期继续使能地址更新使能信号32。输出数据寄存器28保持在第四时钟周期从输出数据寄存器27接收的数据“F”。最后,RAM 22响应在第四时钟周期被设定为地址#3的检测地址,在第五时钟周期输出存储在地址#3中的数据“F”。
在第六时钟周期,地址生成器23响应在第五时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#5。在第六时钟周期,地址保持寄存器24在输出级的输出上生成地址#2,并且还将由地址生成器23在第四时钟周期生成的来自第二级的地址#3提供给诊断使能生成器26。在第一检测识别信号34被去激活的情况下,错误诊断使能生成器26响应从地址保持寄存器24接收的地址#3高于错误诊断起始地址寄存器25中所包含的最低错误地址这一事实,在第六时钟周期使能诊断使能信号36。另外,输出数据寄存器27输出在第五时钟周期从RAM 22接收的与地址#3有关的数据“F”。同时,预期数据生成器29在第六时钟周期输出预期数据“F”,该预期数据与地址#3有关。比较器31响应在第五时钟周期被禁止的诊断使能信号36,在第六时钟周期使能地址更新使能信号32。输出数据寄存器28保持在第五时钟周期从输出数据寄存器27接收的数据“8”。最后,RAM 22响应在第五时钟周期被设定为地址#4的检测地址,在第六时钟周期输出存储在地址#4中的数据“0”。
在第七时钟周期,地址生成器23响应在第六时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#6。在第七时钟周期,地址保持寄存器24在输出级的输出上生成地址#3,并且还将由地址生成器23在第五时钟周期生成的来自第二级的地址#4提供给诊断使能生成器26。在第一检测识别信号34被去激活的情况下,错误诊断使能生成器26响应从地址保持寄存器24接收的地址#4高于错误诊断起始地址寄存器25中所包含的最低错误地址#2这一事实,在第七时钟周期使能诊断使能信号36。另外,输出数据寄存器27输出在第六时钟周期从RAM 22接收的与地址#4有关的数据“3”。同时,预期数据生成器29在第七时钟周期输出预期数据“0”,该预期数据与地址#4有关。比较器31响应在第六时钟周期从输出数据寄存器27接收的输出数据“F”与在第六时钟周期从预期数据生成器29接收的预期数据“F”相匹配这一事实,在第七时钟周期使能地址更新使能信号32。输出数据寄存器28保持在第六时钟周期从输出数据寄存器27接收的数据“F”。最后,RAM 22响应在第六时钟周期被设定为地址#5的检测地址,在第七时钟周期输出存储在地址#5中的数据“F”。
在第八时钟周期,地址生成器23响应在第七时钟周期被使能的地址更新使能信号32,将检测地址更新到地址#7。在第八时钟周期,地址保持寄存器24在输出级的输出上生成地址#4,并且还将由地址生成器23在第五时钟周期生成的来自第二级的地址#5提供给错误诊断使能生成器26。在第一检测识别信号34被去激活的情况下,错误诊断使能生成器26响应从地址保持寄存器24接收的地址#5高于错误诊断起始地址寄存器25中所包含的最低错误地址#2这一事实,在第八时钟周期使能诊断使能信号36。另外,输出数据寄存器27输出在第七时钟周期从RAM 22接收的与地址#5有关的数据“F”。同时,预期数据生成器29在第七时钟周期输出预期数据“F”,该预期数据与地址#5有关。比较器31响应在第七时钟周期从输出数据寄存器27接收的输出数据“3”与在第七时钟周期从预期数据生成器29接收的预期数据“0”不匹配这一事实,在第八和后续时钟周期禁止地址更新使能信号32。输出数据寄存器28保持在第七时钟周期从输出数据寄存器27接收的数据“3”。
在第八时钟周期之后检测地址被固定在地址#7的情况下,地址生成器23响应在第八和后续时钟周期被禁止的地址更新使能信号32,停止更新检测地址。这会导致地址保持寄存器24在第八时钟周期后继续在其输出级的输出上生成地址#4。错误诊断起始地址寄存器25在第九时钟周期对作为第二最低错误地址的地址#4进行锁存。通过信号线33,错误诊断起始地址寄存器25中所包含的第二最低错误地址可被外部地访问。输出数据寄存器28响应被禁止的地址更新使能信号32,在第八时钟周期后继续包含存储在第二最低错误地址中也就是地址#4中的输出数据“3”。
如上所述,该实施例中的错误诊断方法允许使用少的存储器来对整组错误地址和存储在错误地址中的数据进行检测。另外,该实施例中的错误诊断方法通过在实际操作频率操作RAM 22来提供在RAM 22中的对与速度相关的错误的检测。
第三和第四实施例
图6为框图,示出了本发明第四实施例中的错误诊断电路的实例结构。图6所示的错误诊断电路执行与上述实施例中讲述的方法不同的错误诊断方法。
在该实施例中,错误诊断电路41和RAM 42单片集成于单个半导体芯片之内。设计的错误诊断电路41对RAM 42进行检测。RAM 42包括由相关地址识别的多个存储单元。简而言之,假设RAM 42的地址范围为0~7,由4位表示。当在写操作期间外部地输入写地址和写数据时,RAM 42将写数据存储在与写地址有关的存储单元中。当在读操作期间输入读地址时,RAM 42输出存储在与读地址有关的存储单元中的数据。设计的RAM 42与为其提供的时钟信号的上升沿同步,并且当在某个时钟周期发出具有读地址的读请求时,RAM 42在下一个时钟周期输出与读地址有关的期望数据。
错误诊断电路41包括地址生成器43、地址保持寄存器44、错误诊断结束地址寄存器45、错误诊断使能生成器46、输出数据寄存器47、预期数据生成器48和比较器49。
地址生成器43生成和更新用于RAM 42的检测地址。检测地址的更新与时钟信号是同步的;地址生成器43对每一个时钟周期增加检测地址。地址生成器43通常由计数器组成。
设计的地址保持寄存器44响应从比较器49接收的地址更新使能信号51,来对来自地址生成器43的检测地址进行锁存。当使能地址更新使能信号51时,地址保持寄存器44对来自地址生成器43的检测地址进行锁存;这会导致存储在地址保持寄存器44中的检测地址被更新。当禁止地址更新使能信号51时,地址保持寄存器44保留在前一个时钟周期存储于其中的检测地址。
错误诊断结束地址寄存器45用于存储诊断结束地址。错误诊断结束地址寄存器45被连接到地址保持寄存器44,并且用于对来自地址保持寄存器44的地址进行锁存。通过信号线52,错误诊断结束地址寄存器45可以被外部地访问。信号线52为错误诊断结束地址寄存器45提供了从移位输出到移位输入的反馈回路。这允许错误诊断结束地址寄存器45在移出所存储的地址之后能够保留地址,并且消除了对将所输出的地址重新存储到错误诊断结束地址寄存器45中的需要。
错误诊断使能生成器46响应从地址生成器43接收的检测地址和存储在错误诊断结束地址寄存器45中的诊断结束地址,为比较器49提供诊断使能信号54。当从地址生成器43接收的检测地址低于从错误诊断结束地址寄存器45接收的诊断结束地址时,错误诊断使能生成器46使能诊断使能信号54,以激活比较器49。另一方面,当从地址生成器43接收的检测地址等于或高于从错误诊断结束地址寄存器45接收的地址时,错误诊断使能生成器46禁止诊断使能信号54,以去激活比较器49。
设计的输出数据寄存器47响应地址更新使能信号51,对从RAM42接收的输出数据进行锁存。当地址更新使能信号51被禁止时,输出数据寄存器47保留存储于其中的数据。另一方面,当地址更新使能信号51被使能时,输出数据寄存器47对从RAM 42接收的输出数据进行锁存。通过信号线53,输出数据寄存器47可以被外部地访问。当被请求时,输出数据寄存器47外部地输出存储于其中的数据。
预期数据生成器48对于每一个检测地址生成预期数据。将所生成的预期数据提供给比较器49。
比较器49响应用于对从RAM 42接收的输出数据和从预期数据生成器48接收的预期数据进行比较的诊断使能信号54。当诊断使能信号54被禁止时,或当从RAM 42接收的输出数据与从预期数据生成器48接收的预期数据相匹配时,比较器49禁止地址更新使能信号51。当在诊断使能信号36被使能的情况下从RAM 42接收的输出数据与从预期数据生成器48接收的预期数据不匹配时,比较器49使能用于允许地址保持寄存器44更新存储于其中的检测地址的地址更新使能信号51。需要注意的是,当从RAM 42接收的输出数据与有关预期数据不匹配时,设计的图6所示的错误诊断电路41更新存储于地址保持寄存器44中的检测地址。这意味着存储于地址保持寄存器44中的检测地址是已被发现的错误地址中最近发现的一个。相应地,当在诊断使能信号54被使能的情况下,从RAM 42接收的输出数据与有关预期数据不匹配时,使能地址更新使能信号51。
本实施例中的错误诊断方法包括使用错误诊断电路41对RAM 42进行检测,该方法包括:检测数据写步骤、第一检测步骤,以及接着第一检测步骤的一个或多个后续检测步骤。
检测数据写步骤包括将检测数据写到RAM 42上。在该实施例中,将数据“0”写到RAM 42的每一个偶数地址上,并且将数据“F”(或者在十进制中为数据“15”)写到每一个奇数地址上。
检测数据写步骤后跟随着第一检测步骤。第一检测步骤从对错误诊断结束地址寄存器45进行初始化开始,将地址#8设定到错误诊断结束地址寄存器45中。需要注意的是,设定到错误诊断结束地址寄存器45的地址高于为RAM 42定义的任何地址;在RAM 42中最高地址为地址#7。然后从起始地址开始执行第一检测,连续地将时钟信号提供给错误诊断电路41和RAM 42。在时钟信号的供应超过足够对RAM 42的所有地址进行检测的时钟周期后,将在地址保持寄存器44的输出上生成的检测地址写到错误诊断结束地址寄存器45。当在RAM42中存在一个或多个错误时,则由于只当从RAM 42接收的输出数据与有关预期数据不匹配时才更新地址保持寄存器44,因此会导致错误诊断结束地址寄存器45被设定为已被发现的最高错误地址。在第一检测后,由于只当从RAM 42接收的输出数据与有关预期数据不匹配时输出数据寄存器47才对来自RAM 42的输出数据进行锁存,因此输出数据寄存器47包含与最高错误地址有关的输出数据。通过信号线52和54来外部地输出错误诊断结束地址寄存器45中所存储的错误地址和输出数据寄存器47中所存储的有关输出数据。
当在第一检测期间发现了任何错误时,则在第一检测之后执行一个或多个后续检测。执行第二检测,连续地将时钟信号提供给错误诊断电路41和RAM 42。在时钟信号的供应超过足够对RAM 42的所有地址进行检测的时钟周期之后,如果存在一个或多个其他错误,则在地址保持寄存器生成器54的输出上生成的检测地址作为第二最低错误地址,被写到错误诊断结束地址寄存器45。然后从错误诊断结束地址寄存器45外部地输出第二最高错误地址,并且从输出数据寄存器47外部地输出从第二最高错误地址得到的数据。重复如此描述的检测,直到在检测中找不到另外的错误为止。
如此描述的错误诊断方法有效地减少了用于存储错误地址的硬件;错误诊断电路41只需要存储用于外部地获取所有错误地址的一个错误地址。
图7为框图,示出了在本发明第四实施例中的错误诊断电路的实例结构。错误诊断电路61和RAM 62单片集成于单个半导体芯片之内。设计的错误诊断电路61对RAM 62进行检测。RAM 62包括由相关地址识别的多个存储单元。简而言之,假设RAM 62的地址范围为0~7,由4位表示。当在写操作期间外部地输入写地址和写数据时,RAM62将写数据存储在与写地址有关的存储单元中。当在读操作期间输入读地址时,RAM 62输出存储在与读地址有关的存储单元中的数据。
除了错误诊断电路61适于使用同步DRAM来作为RAM 62的情况之外,错误诊断电路61的结构与图6所示的错误诊断电路41的结构类似;RAM 62具有数据读等待时间,在接收与所选存储单元有关的地址后的一个或多个时钟周期中输出存储在所选存储单元中的数据。
具体地说,错误诊断电路61包括地址生成器63、地址保持寄存器64、错误诊断结束地址寄存器65、错误诊断使能生成器66、一组第一和第二输出数据寄存器67和68、预期数据生成器69和比较器61。与图6所示的错误诊断电路41的不同之处在于在错误诊断电路61内额外包括了一对串联的输出数据寄存器,并且设计的地址保持寄存器64与错误诊断电路41内的地址保持寄存器44不同地操作。
地址生成器63生成和更新用于RAM 62的检测地址。检测地址的更新与时钟信号是同步的;地址生成器63对于每一个时钟周期增加检测地址。地址生成器63通常由计数器组成。
地址保持寄存器64是由用于将从地址生成器63接收的检测地址保持三个时钟周期的三级移位寄存器组成。地址保持寄存器64的第一级(或输入级)对来自地址生成器63的检测地址进行锁存,并且然后将所接收的检测地址转移到第二级(或中间级)。地址保持寄存器64的第二级对来自其第一级的检测地址进行锁存。地址保持寄存器64的第三级与第一和第二级不同,响应用于锁存来自第二级的检测地址的地址更新使能信号72;只当地址更新使能信号72被使能时才更新存储在第三级中的地址。将地址保持寄存器64的第三级的输出连接到错误诊断结束地址寄存器65。
设计的错误诊断结束地址寄存器65对来自地址保持寄存器64的检测地址进行锁存。通过信号线73,错误诊断结束地址寄存器65可以被外部地访问。信号线73为错误诊断结束地址寄存器65提供了从移位输出到移位输入的反馈回路。这允许错误诊断结束地址寄存器65在移出所存储的地址之后保留地址,并且消除了将所输出的地址重新存储到错误诊断结束地址寄存器65中的需要。
错误诊断使能生成器66对从地址生成器63接收的检测地址和从错误诊断结束地址寄存器65接收的诊断结束地址进行比较,以生成诊断使能信号74。当从地址生成器63接收的检测地址等于或高于从错误诊断结束地址寄存器65接收的诊断结束地址时,则错误诊断使能生成器66使能诊断使能信号74,以去激活比较器71。另一方面,当从地址生成器63接收的检测地址等于或高于从错误诊断结束地址寄存器65接收的地址时,则错误诊断使能生成器66禁止诊断使能信号74,以去激活比较器71。
设计的第一输出数据寄存器67对从RAM 62接收的输出数据进行锁存,并且将被锁存数据包含一个时钟周期。将第一输出数据寄存器67输出连接到第二输出数据寄存器68和比较器71。
第二输出数据寄存器68响应地址更新使能信号72,以锁存来自第一输出数据寄存器67的输出数据。当使能地址更新使能信号72时,第二输出数据寄存器68对来自第一输出数据寄存器67的输出数据与时钟信号同步地进行锁存。当地址更新使能信号72被禁止时,第二输出数据寄存器68保持存储于其中的数据。
预期数据生成器69为每一个检测地址产生预期数据。预期数据的产生与有关检测地址的产生是同步的;用于特定检测地址的预期数据在产生特定检测地址后的三个时钟周期产生。将预期数据提供给比较器71。
比较器71响应用于对从RAM 62接收的输出数据和从预期数据生成器69接收的预期数据进行比较的诊断使能信号74,以生成地址更新使能信号72。当诊断使能信号74被禁止时,则比较器71无条件地禁止地址更新使能信号72。当诊断使能信号74被使能时,则比较器71对从RAM 62接收的输出数据和有关预期数据进行比较。当在诊断使能信号74被使能的情况下从RAM 62接收的输出数据和从预期数据生成器69接收的预期数据相匹配时,比较器71禁止地址更新使能信号72。另一方面,当在诊断使能信号74被使能的情况下从RAM62接收的输出数据与从预期数据生成器69接收的预期数据不匹配时,比较器71使能用于允许地址保持寄存器64的第三级更新存储于其中的检测地址的地址更新使能信号72。
本实施例中的错误诊断方法包括使用错误诊断电路61对RAM 62进行检测,该方法由以下步骤组成:检测数据写步骤、第一检测步骤,以及接着第一检测步骤的一个或多个后续检测步骤。
检测数据写步骤包括将检测数据写到RAM 62上。在该实施例中,将数据“0”写到RAM 62的每一个偶数地址上,并且将数据“F”(或者在十进制中为数据“15”)写到每一个奇数地址上。
检测数据写步骤之后跟随着第一检测步骤。第一检测步骤从对错误诊断结束地址寄存器65进行初始化开始,将地址#8设定到错误诊断结束地址寄存器65中。需要注意的是,被设定到错误诊断结束地址寄存器65的诊断结束地址高于RAM 62的检测结束地址;在RAM 62中检测结束地址为地址#7。然后从起始地址开始执行第一检测,连续地将时钟信号提供给错误诊断电路61和RAM 62。在时钟信号的供应超过足够对RAM 62的所有地址进行检测的时钟周期后,将在地址保持寄存器64的第三级的输出上生成的检测地址写到错误诊断结束地址寄存器65。当在RAM 62中存在一个或多个错误时,则由于只当从RAM 62接收的输出数据与有关预期数据不匹配时才更新地址保持寄存器64的第三级,因此会导致错误诊断结束地址寄存器65被设定为已被发现的最高错误地址。由于只当从RAM 62接收的输出数据与有关预期数据不匹配时输出数据寄存器68才对来自RAM 62的输出数据进行锁存,因此在第一检测后,第二输出数据寄存器68包含与最高错误地址有关的输出数据。通过信号线73和75,错误诊断结束地址寄存器65中所存储的错误地址和第二输出数据寄存器68中所存储的有关输出数据被外部地输出。
当在第一检测期间发现了任何错误时,则在第一检测之后执行一个或多个后续检测。执行第二检测,连续地将时钟信号提供给错误诊断电路61和RAM 62。在时钟信号的供应超过足够对RAM 62的所有地址进行检测的时钟周期之后,如果存在一个或多个其他错误,则在地址保持寄存器64的输出上生成的检测地址作为第二最高错误地址,被写到错误诊断结束地址寄存器65。然后从错误诊断结束地址寄存器65外部地输出第二最低错误地址,并且从输出数据寄存器67外部地输出从第二最高错误地址得到的数据。重复如此描述的检测,直到在检测中找不到另外的错误为止。
图8为时序图,示出了在假设RAM 62输出用于地址#2的错误数据“8”和输出用于地址#4的错误数据“3”的情况下在第一检测期间的错误诊断电路1的实例操作。
在第一检测的开始,错误诊断结束地址寄存器65被初始化为地址#8。这实现了对RAM 62之内的所有地址进行检测,允许错误诊断使能生成器66响应由地址生成器生成的检测地址保持低于诊断使能生成器66中所存储的诊断结束地址这一事实,使能诊断使能信号74。
在第一时钟周期,地址生成器63将检测地址初始化为起始地址,也就是地址#0。比较器71在第一时钟周期禁止地址更新信号72。
在第二时钟周期,地址生成器63将检测地址更新到作为地址#0的下一个地址的地址#1。比较器71在第二时钟周期保留被禁止的地址更新使能信号72。另外,RAM 62响应在第一时钟周期被设定为地址#0的检测地址,在第二时钟周期输出存储在地址#0中的数据“0”。
在第三时钟周期,地址生成器63将检测地址更新到地址#2。另外,输出数据寄存器67输出在第二时钟周期从RAM 62接收的与地址#0有关的数据“0”。同时,预期数据生成器69在第三时钟周期输出预期数据“0”,该预期数据与地址#0有关。比较器71在第三时钟周期继续禁止地址更新使能信号72。最后,RAM 62响应在第二时钟周期被设定为地址#1的检测地址,在第三时钟周期输出存储在地址#1中的数据“F”。
在第四时钟周期,地址生成器63将检测地址更新到地址#3。输出数据寄存器67输出在第三时钟周期从RAM 62接收的与地址#1有关的数据“F”。同时,预期数据生成器69在第四时钟周期输出预期数据“F”,该预期数据与地址#1有关。进而,比较器71对作为从RAM62的地址#0得到的输出数据的在第三时钟周期从输出数据寄存器67接收的数据和在第三时钟周期从预期数据生成器69接收的与地址#0有关的预期数据进行比较。响应在第三时钟周期从输出数据寄存器67接收的RAM 62的地址#0得到的输出数据与从预期数据生成器69接收的有关预期数据相匹配这一事实,比较器71在第四时钟周期禁止地址更新使能信号72。最后,RAM 62响应在第三时钟周期被设定为地址#2的检测地址,在第四时钟周期输出存储在地址#2中的数据“8”。需要注意的是,存储在地址#2中的数据和与地址#2有关的预期数据不匹配。
在第五时钟周期,地址生成器63将检测地址更新到地址#4。输出数据寄存器67输出在第四时钟周期从RAM 62接收的与地址#2有关的数据“8”。同时,预期数据生成器69在第五时钟周期输出预期数据“0”,该预期数据与地址#2有关。进而,比较器71响应在第四时钟周期从输出数据寄存器67接收的RAM 62的地址#1得到的输出数据和在第四时钟周期从预期数据生成器69接收的与地址#1有关的预期数据相匹配这一事实,在第五时钟周期禁止地址更新使能信号72。最后,RAM 62响应在第四时钟周期被设定为地址#3的检测地址,在第五时钟周期输出存储在地址#3中的数据“F”。
在第六时钟周期,地址生成器63将检测地址更新到地址#5。输出数据寄存器67输出在第五时钟周期从RAM 62接收的与地址#3有关的数据“F”。同时,预期数据生成器69在第六时钟周期输出预期数据“F”,该预期数据与地址#3有关。进而,比较器71响应在第五时钟周期从输出数据寄存器67接收的RAM 62的地址#2得到的输出数据和在第五时钟周期从预期数据生成器69接收的与地址#2有关的预期数据不匹配这一事实,在第六时钟周期使能地址更新使能信号72。最后,RAM 62响应在第五时钟周期被设定为地址#4的检测地址,在第六时钟周期输出存储在地址#4中的数据“3”。
在第七时钟周期,地址生成器63将检测地址更新到地址#6。响应在第六时钟周期被使能的地址更新使能信号72,地址保持寄存器64的第三级在第七时钟周期对地址#2进行锁存,地址#2是由地址生成器63在第三时钟周期生成的。输出数据寄存器67输出与在第六时钟周期从RAM 62接收的地址#4有关的数据“3”。同时,预期数据生成器69在第七时钟周期输出预期数据“0”,该预期数据与地址#4有关。进而,比较器71响应在第六时钟周期从输出数据寄存器67接收的RAM62的地址#3得到的输出数据和在第六时钟周期从预期数据生成器69接收的与地址#3有关的预期数据相匹配这一事实,在第七时钟周期禁止地址更新使能信号72。第二输出数据寄存器68响应地址更新使能信号72在第六时钟周期被使能这一事实,对从第一输出数据寄存器67接收的与地址#2有关的输出数据“8”进行锁存。最后,RAM 62响应在第六时钟周期被设定为地址#5的检测地址,在第七时钟周期输出存储在地址#5中的数据“F”。
在第八时钟周期,地址生成器63将检测地址更新到地址#7。地址#7为RAM 62的最高地址,因此在第八和后续时钟周期地址生成器63继续输出地址#7。输出数据寄存器67输出在第七时钟周期从RAM62接收的与地址#5有关的数据“F”。同时,预期数据生成器69在第八时钟周期输出预期数据“F”,该预期数据与地址#5有关。进而,比较器71响应在第七时钟周期从输出数据寄存器67接收的RAM 62的地址#4得到的输出数据和在第七时钟周期从预期数据生成器69接收的与地址#4有关的预期数据不匹配这一事实,在第八时钟周期使能地址更新使能信号72。最后,RAM 62响应在第七时钟周期被设定为地址#6的检测地址,在第八时钟周期输出存储在地址#6中的数据“0”。
在第九时钟周期,地址保持寄存器64的第三级响应在第八时钟周期被使能的地址更新使能信号72,对由地址生成器63在第五时钟周期生成的地址#4进行锁存。这会导致RAM 62的最高错误地址被存储在地址保持寄存器64的第三级(或输出级)中。输出数据寄存器67输出在第八时钟周期从RAM 62接收的与地址#6有关的数据“0”。同时,预期数据生成器69在第八时钟周期输出预期数据“0”,该预期数据与地址#6有关。进而,比较器71响应在第八时钟周期从输出数据寄存器67接收的RAM 62的地址#5得到的输出数据和在第八时钟周期从预期数据生成器69接收的与地址#5有关的预期数据相匹配这一事实,在第九时钟周期禁止地址更新使能信号72。第二输出数据寄存器68响应地址更新使能信号72在第八时钟周期被使能这一事实,对从输出数据寄存器67接收的与地址#4有关的输出数据“3”进行锁存。最后,RAM 62响应在第八时钟周期被设定为地址#7的检测地址,在第九时钟周期输出存储在地址#7中的数据“F”。
在第十时钟周期,输出数据寄存器67输出在第九时钟周期从RAM62接收的与地址#7有关的数据“F”。同时,预期数据生成器69在第十时钟周期输出预期数据“F”,该预期数据与地址#7有关。进而,比较器71响应在第九时钟周期从输出数据寄存器67接收的RAM 62的地址#6中得到的输出数据和在第九时钟周期从预期数据生成器69接收的与地址#6有关的预期数据相匹配这一事实,在第十时钟周期禁止地址更新使能信号72。
在第十一时钟周期,比较器71响应在第十时钟周期从输出数据寄存器67接收的RAM 62的地址#7中得到的输出数据和在第十时钟周期从预期数据生成器69接收的与地址#7有关的预期数据相匹配这一事实,禁止地址更新使能信号72。
在完成RAM 62的第一检测之后(例如在第十三时钟周期),与RAM 62的最高错误地址相同的存储在地址保持寄存器64的第三级中的检测地址被转移到错误诊断结束地址寄存器65。之后,错误诊断结束地址寄存器65将被转移的地址存储为诊断结束地址。在该实施例中,错误诊断结束地址寄存器65被设定为地址#4。
图9为时序图,示出了在执行上述第一检测之后在第二检测期间的错误诊断电路61的实例操作。需要注意的是,假设RAM 62输出用于地址#2的错误数据“8”和输出用于地址#4的错误数据“3”。当开始第二检测时,错误诊断结束地址寄存器65包含作为第一检测期间所检测到的最高错误地址的地址#4。第二检测从与第一检测相同的起始地址开始,也就是地址#0。
在第一时钟周期,地址生成器63将检测地址初始化为起始地址,也就是地址#0。比较器71在第一时钟周期首先禁止地址更新信号72。
在第二时钟周期,地址生成器63将检测地址更新到作为地址#0的下一个地址的地址#1。错误诊断使能生成器66响应由地址生成器63在第一时钟周期生成的检测地址#0低于存储在错误诊断结束地址寄存器65中的地址#4这一事实,使能诊断使能信号74。比较器71在第二时钟周期继续禁止地址更新使能信号72。另外,RAM 62响应在第一时钟周期被设定为地址#0的检测地址,在第二时钟周期输出存储在地址#0中的数据“0”。
在第三时钟周期,地址生成器63将检测地址更新到地址#2。错误诊断使能生成器66响应由地址生成器63在第二时钟周期生成的检测地址#1低于存储在错误诊断结束地址寄存器65中的地址#4这一事实,使能诊断使能信号74。另外,输出数据寄存器67输出在第二时钟周期从RAM 62接收的与地址#0有关的数据“0”。同时,预期数据生成器69在第三时钟周期输出预期数据“0”,该预期数据与地址#0有关。比较器71在第三时钟周期继续禁止地址更新使能信号72。最后,RAM 62响应在第二时钟周期被设定为地址#1的检测地址,在第三时钟周期输出存储在地址#1中的数据“F”。
在第四时钟周期,地址生成器63将检测地址更新到地址#3。错误诊断使能生成器66响应由地址生成器63在第三时钟周期生成的检测地址#2低于存储在错误诊断结束地址寄存器65中的地址#4这一事实,使能诊断使能信号74。另外,输出数据寄存器67输出在第三时钟周期从RAM 62接收的与地址#1有关的数据“F”。同时,预期数据生成器69在第四时钟周期输出预期数据“F”,该预期数据与地址#1有关。比较器71响应在第三时钟周期从输出数据寄存器67接收的RAM62的地址#0得到的输出数据和与地址#0有关的预期数据相匹配这一事实,在第四时钟周期禁止地址更新使能信号72。最后,RAM 62响应在第三时钟周期被设定为地址#2的检测地址,在第四时钟周期输出存储在地址#2中的数据“8”。需要注意的是,存储在地址#2中的数据和与地址#2有关的预期数据不匹配。
在第五时钟周期,地址生成器63将检测地址更新到地址#4。错误诊断使能生成器66响应由地址生成器63在第四时钟周期生成的检测地址#3低于存储在错误诊断结束地址寄存器65中的地址#4这一事实,使能诊断使能信号74。另外,输出数据寄存器67输出在第四时钟周期从RAM 62接收的与地址#2有关的数据“8”。同时,预期数据生成器69在第五时钟周期输出预期数据“0”,该预期数据与地址#2有关。比较器71响应在第四时钟周期从输出数据寄存器67接收的RAM62的地址#1得到的输出数据和与地址#1有关的预期数据相匹配这一事实,在第五时钟周期禁止地址更新使能信号72。最后,RAM 62响应在第四时钟周期被设定为地址#3的检测地址,在第五时钟周期输出存储在地址#3中的数据“F”。
在第六时钟周期,地址生成器63将检测地址更新到地址#5。错误诊断使能生成器66响应由地址生成器63在第四时钟周期生成的检测地址#4不低于存储在错误诊断结束地址寄存器65中的地址#4这一事实,禁止诊断使能信号74。由于检测地址超过了存储在错误诊断结束地址寄存器65中的诊断结束地址#4,因此错误诊断使能生成器66在第六和后续时钟周期持续地禁止诊断使能信号74。输出数据寄存器67输出在第五时钟周期从RAM 62接收的与地址#3有关的数据“F”。同时,预期数据生成器69在第六时钟周期输出预期数据“F”,该预期数据与地址#3有关。在诊断使能信号74在第四时钟周期被使能的情况下,比较器71响应在第五时钟周期从输出数据寄存器67接收的RAM 62的地址#2得到的输出数据和与地址#2有关的预期数据不匹配这一事实,在第六时钟周期使能地址更新使能信号72。最后,RAM 62响应在第五时钟周期被设定为地址#4的检测地址,在第六时钟周期输出存储在地址#4中的数据“3”。需要注意的是,存储在地址#4中的数据和与地址#4有关的预期数据不匹配。
在第七时钟周期,地址生成器63将检测地址更新到地址#6。地址保持寄存器64的第三级对来自其第二级的由地址生成器63在第三时钟周期生成的地址#2进行锁存。输出数据寄存器67输出在第六时钟周期从RAM 62接收的与地址#4有关的数据“3”。同时,预期数据生成器69在第七时钟周期输出预期数据“0”,该预期数据与地址#4有关。比较器71响应在第六时钟周期从输出数据寄存器67接收的RAM62的地址#3得到的输出数据和与地址#3有关的预期数据相匹配这一事实,在第七时钟周期禁止地址更新使能信号72。最后,RAM 62响应在第六时钟周期被设定为地址#5的检测地址,在第七时钟周期输出存储在地址#5中的数据“F”。
在第八时钟周期,地址生成器63将检测地址更新到地址#7。地址#7为RAM 62的最高地址,因此地址生成器63在第八和后续时钟周期继续输出地址#7。输出数据寄存器67输出在第七时钟周期从RAM62接收的与地址#5有关的数据“F”。同时,预期数据生成器69在第八时钟周期输出预期数据“F”,该预期数据与地址#5有关。进而,比较器71响应诊断使能信号74在第六和后续时钟周期被禁止这一事实,在第八时钟周期禁止地址更新使能信号72。最后,RAM 62响应在第七时钟周期被设定为地址#6的检测地址,在第八时钟周期输出存储在地址#6中的数据“0”。
在第九时钟周期,输出数据寄存器67输出在第八时钟周期从RAM62接收的与地址#6有关的数据“0”。同时,预期数据生成器69在第八时钟周期输出预期数据“0”,该预期数据与地址#6有关。最后,RAM62响应在第八时钟周期被设定为地址#7的检测地址,在第九时钟周期输出存储在地址#7中的数据“F”。
在第十时钟周期,输出数据寄存器67输出在第九时钟周期从RAM62接收的与地址#7有关的数据“F”。同时,预期数据生成器69在第十时钟周期输出预期数据“F”,该预期数据与地址#7有关。
在完成RAM 62的第二检测之后(例如在第十三时钟周期),与RAM 62的最高错误地址相同的存储在地址保持寄存器64的第三级中的检测地址被转移到错误诊断结束地址寄存器65。之后,错误诊断结束地址寄存器65将被转移的地址存储为诊断结束地址。在该实施例中,错误诊断结束地址寄存器65被设定为地址#2。
如此描述的错误诊断方法有效地减少了用于存储错误地址的硬件;错误诊断电路61只需要存储用于外部地得到所有错误地址的一个错误地址。另外,本实施例中的错误诊断方法通过在实际运行频率上运行RAM 62提供了RAM 62内的与速度相关的错误的检测。
第五实施例
图10为框图,示出了本发明第五实施例中的错误诊断电路的实例结构。图10所示的错误诊断电路执行与上述实施例中讲述的方法不同的错误诊断方法。
在该实施例中,错误诊断电路81和RAM 82单片集成于单个半导体芯片之内。设计的错误诊断电路81对RAM 82进行检测。RAM 82包括由相关地址识别的多个存储单元。简而言之,假设RAM 82的地址范围为0~7,由4位表示。当在写操作期间外部地输入写地址和写数据时,RAM 82将写数据存储在与写地址有关的存储单元中。当在读操作期间输入读地址时,RAM 82输出存储在与读地址有关的存储单元中的数据。设计的RAM 82与为其提供的时钟信号的上升沿同步,并且当在某个时钟周期发出具有读地址的读请求时,RAM 82在下一个时钟周期输出与读地址有关的期望数据。
错误诊断电路81包括地址生成器83、错误地址寄存器84、输出数据寄存器85、预期数据生成器86和比较器87。
地址生成器83生成和更新用于RAM 82的检测地址。检测地址的更新与时钟信号是同步的;地址生成器83对于每一个时钟周期增加检测地址。地址生成器83通常由计数器组成。
设计的错误地址寄存器84响应从比较器87接收的数据更新使能信号88,对来自地址生成器83的检测地址进行锁存。当数据更新使能信号88被使能时,错误地址寄存器84锁存来自地址生成器83的测试地址。当数据更新使能信号88被禁止时,错误地址寄存器84保留在前一个时钟周期存储于其中的检测地址。通过信号线91,错误地址寄存器84可以被外部地访问。当被请求时,错误地址寄存器84通过信号线91输出存储于其中的地址。
设计的输出数据寄存器85响应数据更新使能信号88,对从RAM82接收的输出数据进行锁存。当数据更新使能信号88被使能时,输出数据寄存器85对从RAM 82接收的输出数据进行锁存。另一方面,当数据更新使能信号88被禁止时,输出数据寄存器85保留存储于其中的数据。通过信号线92,输出数据寄存器85可以被外部地访问。当被请求时,输出数据寄存器85外部地输出存储于其中的数据。
预期数据生成器86生成用于每一个检测地址的预期数据。将所生成的预期数据提供给比较器87。
比较器87对从RAM 82接收的输出数据和从预期数据生成器86接收的预期数据进行比较,以生成数据更新使能信号88。当从RAM 82接收的输出数据与从预期数据生成器86接收的预期数据相匹配时,比较器87禁止数据更新使能信号88。当从RAM 82接收的输出数据与有关预期数据不匹配时,比较器87使能数据更新使能信号88。
本实施例中的错误诊断方法包括使用错误诊断电路81对RAM 82进行检测,该方法由以下步骤组成:检测数据写步骤、第一检测步骤,以及接着第一检测步骤的一个或多个后续检测步骤。
检测数据写步骤包括将检测数据写到RAM 82上。在该实施例中,将数据“0”写到RAM 82的每一个偶数地址上,并且将数据“F”(或者在十进制中为数据“15”)写到每一个奇数地址上。
检测数据写步骤之后跟随着第一检测步骤。第一检测步骤从对错误地址寄存器84进行初始化开始,将地址#8设定到错误地址寄存器84中。然后从起始地址开始执行第一检测,连续地将时钟信号提供给错误诊断电路81和RAM 82,其超过足够对RAM 82的所有地址进行检测的时钟周期。当在RAM 82中存在一个或多个错误时,则由于只当从RAM 82接收的输出数据与有关预期数据不匹配时才响应数据更新使能信号88来更新错误地址寄存器84,因此会导致错误地址寄存器84被设定为已被发现的最高错误地址。由于只当从RAM 82接收的输出数据与有关预期数据不匹配时输出数据寄存器85才对来自RAM 82的输出数据进行锁存,因此在第一检测后输出数据寄存器85包含与最高错误地址有关的输出数据。通过信号线91和92来外部地输出错误地址寄存器84中所存储的最高错误地址和输出数据寄存器85中所存储的有关输出数据。
当在第一检测期间发现了任何错误时,则在第一检测之后执行一个或多个后续检测。第二检测从计算自起始地址(也就是地址#0)到恰好为由第一检测检测出的最高错误地址的前一个地址来检测RAM82所需的时钟周期数目开始。例如,当在第一检测期间在地址#2和#4发现错误时,计算从地址#0到#3来检测RAM 82所需的时钟周期数目。在这之后提供超过所计算的时钟周期数目的时钟信号。这会导致错误地址寄存器84被设定为第二最高错误地址,并且输出数据寄存器85被设定为与第二最高错误地址有关的输出数据。通过信号线91和92外部地输出存储在错误地址寄存器84中的错误地址和与其有关的输出数据。重复如此描述的检测,直到在检测中找不到另外的错误为止。该程序有效地实现了获得RAM 82内的所有错误地址和与其有关的输出数据。
本实施例中的错误诊断方法相比于前述实施例的一个优点是本实施例中的错误诊断方法消除了对提供用于激活比较器的错误诊断起始地址寄存器或错误诊断结束地址寄存器的需要。这有效地减小了电路开销。
非常明显,本发明并不限于上述实施例,在不偏离本发明的范围的情况下可以对本发明进行修改和改变。

Claims (16)

1.一种用于半导体器件的错误诊断方法,其中在半导体芯片中单片集成了存储器和寄存器,所述错误诊断方法包括:
对与一系列地址有关的所述存储器进行第一检测,以识别第一错误地址;
外部地输出所述第一错误地址;
将所述第一错误地址存储到所述寄存器;
对与一系列地址有关的所述存储器进行第二检测;
使用所述第二检测结果和存储在所述寄存器中的所述第一错误地址,识别不同于所述第一错误地址的第二错误地址;
外部地输出所述第二错误地址;以及
更新所述寄存器,以存储所述第二错误地址。
2.如权利要求1所述的错误诊断方法,其中第二检测包括从预定起始地址到高于所述第一错误地址的某个地址对所述存储器进行连续地检测,并且
其中将由所述第二检测在高于所述第一错误地址的地址范围内首先发现的错误地址识别为所述第二错误地址。
3.如权利要求2所述的错误诊断方法,其中所述第二检测包括:
为每一个时钟周期提供检测地址;
从所述存储器的所述检测地址得到输出数据;以及
对所述输出数据和与所述检测地址有关的预期值进行比较,并且
其中对所述第二地址的所述识别包括:
响应高于所述第一错误地址的所述检测地址,使能诊断使能信号;
响应等于或低于所述第一错误地址的所述检测地址,禁止所述诊断使能信号;
在所述诊断使能信号被使能的情况下,当所述输出数据和所述预期值不同时,将所述检测地址识别为所述第二错误地址。
4.如权利要求2所述的错误诊断方法,其中所述第二检测响应在所述地址范围中被发现的所述首先发现的错误地址而停止。
5.如权利要求3所述的错误诊断方法,其中在所述半导体芯片内进一步集成了输出数据寄存器,并且
所述错误诊断方法进一步包括:
每当从所述存储器得到所述输出数据时,更新所述输出数据寄存器,以存储所述输出数据;以及
在完成所述第二检测之后,从所述输出数据寄存器外部地输出所述输出数据。
6.如权利要求1所述的错误诊断方法,其中所述第一检测包括从起始地址到结束地址对所述存储器进行连续地检测,并且将由所述第一检测最后发现的错误地址识别为所述第一错误地址,
其中所述第二检测包括从所述起始地址到所述第一错误地址的恰好前一个地址或到低于所述第一错误地址的某个地址对所述存储器进行连续地检测,并且
其中将由所述第二检测在从所述起始地址到所述第一错误地址的所述恰好前一个地址的地址范围中最后发现的错误地址识别为所述第二错误地址。
7.如权利要求6所述的错误诊断方法,其中所述第二检测包括:
为每一个时钟周期提供检测地址;
从所述存储器的所述检测地址得到输出数据;以及
对所述输出数据和与所述检测地址有关的预期值进行比较,
其中对所述第二地址的所述识别包括:
响应低于所述第一错误地址的所述检测地址,使能诊断使能信号;
响应等于或高于所述第一错误地址的所述检测地址,禁止所述诊断使能信号;以及
在所述诊断使能信号被使能的情况下,当所述输出数据和所述预期值不同时,更新所述寄存器,以存储所述检测地址,并且
其中当完成所述第二检测时,存储在所述寄存器中的错误地址被识别为所述第二错误地址。
8.如权利要求6所述的错误诊断方法,其中每当在所述第二检测期间发现错误地址时,更新所述寄存器以存储发现的所述错误地址。
9.如权利要求6所述的错误诊断方法,其中在所述半导体芯片内进一步集成了输出数据寄存器,
其中所述第二检测包括:
为每一个时钟周期提供检测地址;
从所述存储器的所述检测地址得到输出数据;以及
对所述输出数据和与所述检测地址有关的预期值进行比较,
所述错误诊断方法进一步包括:
每当从所述存储器得到所述输出数据时,更新所述输出数据寄存器,以存储所述输出数据;以及
在完成所述第二检测之后,从所述输出数据寄存器外部地输出所述输出数据。
10.如权利要求1所述的错误诊断方法,进一步包括:
对与一系列地址有关的所述存储器进行第三检测;
使用所述第三检测的结果和存储在所述寄存器中的所述第二错误地址,识别不同于所述第一和第二错误地址的第三错误地址;
外部地输出所述第三错误地址;以及
更新所述寄存器,以存储所述第三错误地址。
11.一种半导体器件,包括:
存储器;
地址生成器,用于生成和更新地址,以便所述地址从某个起始地址连续地增加;
错误诊断起始地址寄存器,用于包含错误诊断起始地址,以便所述错误诊断起始地址是外部可访问的;
错误诊断使能生成器,用于对所述地址和所述错误诊断起始地址进行比较;以及
比较器,用于对从所述存储器的所述地址得到的输出数据和与所述地址有关的预期值进行比较,
其中当所述输出数据与所述预期值不匹配,并且所述地址高于所述错误诊断起始地址时,所述地址生成器停止更新所述地址;以及
其中所述错误诊断起始地址寄存器接收停止地址,并且将所述错误诊断起始地址更新到所述停止地址,其中在所述停止地址,停止所述地址的更新。
12.如权利要求11所述的半导体器件,进一步包括:
地址保持寄存器,其用于每当所述地址被更新时,从所述地址生成器接收所述地址,并且其包含所述接收的地址,
其中在所述地址的所述更新停止之后,所述地址保持寄存器为所述错误诊断起始地址寄存器提供包含于其中的所述地址,来作为所述停止地址。
13.如权利要求12所述的半导体器件,进一步包括:
输出数据寄存器,其用于保持从所述存储器接收的所述输出数据,以便所述输出数据是外部可访问的,
其中每当从所述存储器输出所述输出数据时,更新所述输出数据寄存器,以存储所述输出数据。
14.一种半导体器件,包括:
存储器;
地址生成器,用于生成和更新地址,以便所述地址从某个起始地址连续地增加;
错误诊断结束地址寄存器,用于包含错误诊断结束地址,以便所述错误诊断结束地址是外部可访问的;
地址保持寄存器,其用于从所述地址生成器接收所述地址;
错误诊断使能生成器,用于对所述地址和所述错误诊断结束地址进行比较;以及
比较器,用于对从所述存储器的所述地址得到的输出数据和与所述地址有关的预期值进行比较,
其中当所述地址低于所述错误诊断结束地址并且所述输出数据与所述预期数据不匹配时,更新所述地址保持寄存器,以存储从所述地址生成器接收的所述地址,
其中在所述地址到达所述错误诊断结束地址的恰好前一个地址之后,将所述错误诊断结束地址寄存器中所包含的所述错误诊断结束地址更新为所述地址保持寄存器中所包含的所述地址。
15.如权利要求14所述的半导体器件,进一步包括:
输出数据寄存器,其用于保持从所述存储器接收的所述输出数据,以便所述输出数据是外部可访问的,
其中每当从所述存储器输出所述输出数据时,更新所述输出数据寄存器,以存储所述输出数据。
16.一种半导体器件,包括:
存储器;
地址生成器,用于生成和更新地址,以便所述地址从某个起始地址连续地增加;
错误地址保持寄存器,其用于从所述地址生成器接收所述地址;以及
比较器,用于对从所述存储器的所述地址得到的输出数据和与所述地址有关的预期值进行比较,
其中当所述输出数据与所述预期数据不匹配时,更新所述错误地址保持寄存器,以存储从所述地址生成器接收的所述地址,并且
其中所述地址保持寄存器是外部可访问的。
CNB2005100728255A 2004-05-20 2005-05-20 用于内置错误诊断的半导体存储器件 Expired - Fee Related CN100479067C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004150293A JP4514028B2 (ja) 2004-05-20 2004-05-20 故障診断回路及び故障診断方法
JP2004150293 2004-05-20

Publications (2)

Publication Number Publication Date
CN1700357A true CN1700357A (zh) 2005-11-23
CN100479067C CN100479067C (zh) 2009-04-15

Family

ID=35376638

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100728255A Expired - Fee Related CN100479067C (zh) 2004-05-20 2005-05-20 用于内置错误诊断的半导体存储器件

Country Status (3)

Country Link
US (1) US7562256B2 (zh)
JP (1) JP4514028B2 (zh)
CN (1) CN100479067C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109462495A (zh) * 2018-09-30 2019-03-12 北京工业大学 一种船舶硬件与通信系统检测系统及方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539633A (ja) * 2007-09-18 2010-12-16 メンター グラフィックス コーポレイション メモリbist環境における故障診断
WO2009062280A1 (en) * 2007-11-15 2009-05-22 Mosaid Technologies Incorporated Methods and systems for failure isolation and data recovery in a configuration of series-connected semiconductor devices
WO2010102235A1 (en) * 2009-03-05 2010-09-10 Mentor Graphics Corporation Fault diagnosis for non-volatile memories
KR20120117347A (ko) * 2011-04-15 2012-10-24 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 테스트 방법
KR20140042546A (ko) * 2012-09-28 2014-04-07 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
KR20150021785A (ko) * 2013-08-21 2015-03-03 삼성전자주식회사 반도체 메모리 테스트 방법
US9711241B2 (en) 2015-04-01 2017-07-18 Qualcomm Incorporated Method and apparatus for optimized memory test status detection and debug
US10141059B2 (en) 2016-11-30 2018-11-27 Taiwan Semiconductor Manufacturing Co., Ltd. Failure detection circuitry for address decoder for a data storage device
US10281527B2 (en) * 2017-06-16 2019-05-07 International Business Machines Corporation On-chip hardware-controlled window strobing

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6279379A (ja) * 1985-10-02 1987-04-11 Ando Electric Co Ltd タイミング信号発生装置
US4817093A (en) * 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
US4871956A (en) * 1988-02-18 1989-10-03 Power Conversion Inc. Method and apparatus for cell monitoring and control
GB8923037D0 (en) * 1989-10-12 1989-11-29 Inmos Ltd Timing control for a memory
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5226150A (en) * 1990-10-01 1993-07-06 Digital Equipment Corporation Apparatus for suppressing an error report from an address for which an error has already been reported
JPH04178580A (ja) * 1990-11-14 1992-06-25 Ando Electric Co Ltd 半導体メモリの故障自己診断装置
FR2697663B1 (fr) * 1992-10-30 1995-01-13 Hewett Packard Cy Circuit de test de mémoire.
US5588115A (en) * 1993-01-29 1996-12-24 Teradyne, Inc. Redundancy analyzer for automatic memory tester
EP0637034B1 (en) * 1993-07-26 1999-01-13 STMicroelectronics S.r.l. Method for detecting faulty elements of a redundancy semiconductor memory
US5644704A (en) * 1994-11-30 1997-07-01 International Game Technology Method and apparatus for verifying the contents of a storage device
JPH0962588A (ja) * 1995-08-24 1997-03-07 Mitsubishi Electric Corp メモリテスト回路
US6014033A (en) * 1995-08-31 2000-01-11 Texas Instruments Incorporated Method of identifying the point at which an integrated circuit fails a functional test
JPH09139096A (ja) * 1995-11-14 1997-05-27 Nec Corp 論理lsiのram試験回路
TW338159B (en) * 1996-04-29 1998-08-11 Texas Instruments Inc Apparatus and method for subarray testing in dynamic random access memories using a built-in-self-test unit
JP3601913B2 (ja) * 1996-08-30 2004-12-15 株式会社東芝 メモリ解析装置及びメモリ解析方法
JP3367848B2 (ja) * 1996-12-10 2003-01-20 株式会社東芝 半導体デバイスのテスト装置
JP3090094B2 (ja) 1997-06-20 2000-09-18 日本電気株式会社 テスト回路
JP2954096B2 (ja) 1997-06-24 1999-09-27 日本電気アイシーマイコンシステム株式会社 半導体集積回路のテスト回路および方法
TW400469B (en) * 1997-07-08 2000-08-01 Winbond Electronics Corp Device capable of fixing programs in embedded microprocessor
US6253333B1 (en) * 1998-03-23 2001-06-26 International Business Machines Corporation Apparatus and method for testing programmable delays
JP2000011693A (ja) * 1998-06-26 2000-01-14 Advantest Corp データ転送装置、メモリデバイス試験装置、データ転送方法及びメモリデバイス試験方法
US6550023B1 (en) * 1998-10-19 2003-04-15 Hewlett Packard Development Company, L.P. On-the-fly memory testing and automatic generation of bitmaps
KR100305679B1 (ko) * 1999-02-24 2001-09-26 윤종용 반도체 메모리 장치의 테스터의 테스터 방법 및 그 장치
JP3538334B2 (ja) 1999-03-23 2004-06-14 沖電気工業株式会社 メモリテスト方法、メモリテスト回路及び半導体集積回路
US6137734A (en) * 1999-03-30 2000-10-24 Lsi Logic Corporation Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals
US6104650A (en) * 1999-07-09 2000-08-15 Micron Technology, Inc. Sacrifice read test mode
JP2001035192A (ja) * 1999-07-19 2001-02-09 Nec Corp メモリ搭載集積回路およびそのテスト方法
JP4230061B2 (ja) * 1999-07-21 2009-02-25 株式会社アドバンテスト 不良救済解析器を搭載したメモリ試験装置
US6141276A (en) * 1999-09-02 2000-10-31 Micron Technology, Inc. Apparatus and method for increasing test flexibility of a memory device
US6536005B1 (en) * 1999-10-26 2003-03-18 Teradyne, Inc. High-speed failure capture apparatus and method for automatic test equipment
US6574763B1 (en) * 1999-12-28 2003-06-03 International Business Machines Corporation Method and apparatus for semiconductor integrated circuit testing and burn-in
US6535986B1 (en) * 2000-03-14 2003-03-18 International Business Machines Corporation Optimizing performance of a clocked system by adjusting clock control settings and clock frequency
US7143321B1 (en) * 2000-04-29 2006-11-28 Hewlett-Packard Development Company, L.P. System and method for multi processor memory testing
US6604060B1 (en) * 2000-06-29 2003-08-05 Bull Hn Information Systems Inc. Method and apparatus for determining CC-NUMA intra-processor delays
DE10034878C2 (de) * 2000-07-18 2003-12-04 Infineon Technologies Ag Verfahren zum Überprüfen eines Bauelementes und Bauelement mit Testspeicher
US6643807B1 (en) * 2000-08-01 2003-11-04 International Business Machines Corporation Array-built-in-self-test (ABIST) for efficient, fast, bitmapping of large embedded arrays in manufacturing test
US6829737B1 (en) * 2000-08-30 2004-12-07 Micron Technology, Inc. Method and system for storing device test information on a semiconductor device using on-device logic for determination of test results
JP3972089B2 (ja) * 2000-11-30 2007-09-05 株式会社ルネサステクノロジ 半導体メモリのテスト用ボードおよびテスト方法並びに製造方法
US6691264B2 (en) * 2001-01-22 2004-02-10 Lsi Logic Corporation Built-in self-repair wrapper methodology, design flow and design architecture
US6904551B1 (en) * 2001-02-20 2005-06-07 Cypress Semiconductor Corporation Method and circuit for setup and hold detect pass-fail test mode
US6721216B2 (en) * 2001-03-30 2004-04-13 Intel Corporation Memory addressing structural test
DE10119144C1 (de) * 2001-04-19 2002-10-10 Infineon Technologies Ag Verfahren zum Testen von Halbleiter-Speicherbausteinen
US6760865B2 (en) * 2001-05-16 2004-07-06 Freescale Semiconductor, Inc. Multiple level built-in self-test controller and method therefor
US6347056B1 (en) * 2001-05-16 2002-02-12 Motorola, Inc. Recording of result information in a built-in self-test circuit and method therefor
US7240256B2 (en) * 2001-05-16 2007-07-03 Advantest Corp. Semiconductor memory test apparatus and method for address generation for defect analysis
US6910155B2 (en) * 2001-06-25 2005-06-21 Hewlett-Packard Development Company, L.P. System and method for chip testing
DE10134654A1 (de) * 2001-07-20 2003-02-13 Infineon Technologies Ag Verfahren zur Fehleranalyse von Speichermodulen
US6901542B2 (en) * 2001-08-09 2005-05-31 International Business Machines Corporation Internal cache for on chip test data storage
DE10154812B4 (de) * 2001-11-08 2010-04-15 Qimonda Ag Schaltung zum Einstellen einer Signallaufzeit eines Signals auf einer Signalleitung
EP1343173A1 (en) * 2002-03-04 2003-09-10 iRoC Technologies Prgrammable test for memories
US6968479B2 (en) * 2002-03-06 2005-11-22 Hewlett-Packard Development Company, L.P. Verifying data in a data storage device
JP2003346500A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd 半導体集積回路及びそのテスト方法
US7107501B2 (en) * 2002-05-31 2006-09-12 Infineon Technologies Ag Test device, test system and method for testing a memory circuit
JP2004086996A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd メモリテスト回路
US7096393B2 (en) * 2002-12-20 2006-08-22 Sun Microsystems, Inc. Built-in self-test (BIST) of memory interconnect
US7313739B2 (en) * 2002-12-31 2007-12-25 Analog Devices, Inc. Method and apparatus for testing embedded cores
JP3866216B2 (ja) * 2003-04-10 2007-01-10 松下電器産業株式会社 半導体集積回路およびその検査方法
KR100543449B1 (ko) * 2003-04-11 2006-01-23 삼성전자주식회사 상대 어드레스 방식으로 모든 메모리 셀들의 액세스가가능하게 하는 반도체 메모리 장치
JP4241157B2 (ja) * 2003-04-16 2009-03-18 株式会社アドバンテスト 試験装置
US6959256B2 (en) * 2003-05-16 2005-10-25 Analog Devices, Inc. Universally accessible fully programmable memory built-in self-test (MBIST) system and method
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7062695B2 (en) * 2003-05-23 2006-06-13 Lsi Logic Corporation Memory implementation for handling integrated circuit fabrication faults
US7210085B2 (en) * 2003-12-02 2007-04-24 International Business Machines Corporation Method and apparatus for test and repair of marginally functional SRAM cells
US7325178B2 (en) * 2003-12-05 2008-01-29 Texas Instruments Incorporated Programmable built in self test of memory
US7197670B2 (en) * 2003-12-31 2007-03-27 Intel Corporation Methods and apparatuses for reducing infant mortality in semiconductor devices utilizing static random access memory (SRAM)
JP4455547B2 (ja) * 2006-07-07 2010-04-21 株式会社東芝 半導体集積回路
JP4455623B2 (ja) * 2007-07-19 2010-04-21 株式会社東芝 半導体集積回路及びそのテストシステム
JP2009059434A (ja) * 2007-08-31 2009-03-19 Toshiba Corp 半導体集積回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109462495A (zh) * 2018-09-30 2019-03-12 北京工业大学 一种船舶硬件与通信系统检测系统及方法

Also Published As

Publication number Publication date
JP2005332492A (ja) 2005-12-02
JP4514028B2 (ja) 2010-07-28
US20050262422A1 (en) 2005-11-24
US7562256B2 (en) 2009-07-14
CN100479067C (zh) 2009-04-15

Similar Documents

Publication Publication Date Title
CN1700357A (zh) 用于内置错误诊断的半导体存储器件
CN1189890C (zh) 具有多个低功耗模式的半导体存储器件
CN1145970C (zh) 非易失半导体存储器
CN1696733A (zh) 定位装置、定位方法、定位程序、存储该程序的存储介质
CN1405886A (zh) 半导体器件
CN1521639A (zh) 自更新装置及方法
CN1866215A (zh) 计算机系统及系统软件的安装方法和便携式计算机的软件安装方法
CN1484147A (zh) 实现自动开关机测试的系统及方法
CN1558332A (zh) 一种实现自动读写内部集成电路设备的装置和方法
CN1808412A (zh) 总线仲裁方法和半导体装置
CN1820206A (zh) 测试装置以及测试方法
CN1278228C (zh) 两层粘贴缓冲区和显示装置
CN101034587A (zh) 半导体存储装置中的地址缓冲器及缓冲地址的方法
CN1748153A (zh) 边界扫描控制器、半导体装置、半导体装置的半导体电路芯片识别方法及其控制方法
CN1771722A (zh) 固态摄像装置和摄像方法
CN1495796A (zh) 半导体储存器和半导体储存器的测试方法
CN1490702A (zh) Pc卡控制装置、使用其的计算机系统及pc卡识别方法
CN1286005C (zh) 微处理器
CN101075205A (zh) 集成电路装置、调试工具及系统、微型计算机和电子设备
CN1734415A (zh) 分枝预测装置及分枝预测方法
CN1266481C (zh) 用于半导体集成电路的故障检测方法
CN1529858A (zh) 计算系统
CN1260655C (zh) 数据的锁存时刻调整装置
CN1224053C (zh) 用于减少输入测试模式的输入周期数的半导体存储器
CN1941167A (zh) 具有串行输入/输出接口的多端口存储器装置

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
C56 Change in the name or address of the patentee

Owner name: RENESAS ELECTRONICS CO., LTD.

Free format text: FORMER NAME: NEC CORP.

CP01 Change in the name or title of a patent holder

Address after: Kanagawa, Japan

Patentee after: Renesas Electronics Corporation

Address before: Kanagawa, Japan

Patentee before: NEC Corp.

CP02 Change in the address of a patent holder

Address after: Tokyo, Japan

Patentee after: Renesas Electronics Corporation

Address before: Kanagawa, Japan

Patentee before: Renesas Electronics Corporation

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090415

Termination date: 20180520