用于随机存取存储器的可编程自检测的制作方法

文档序号:6776931阅读:124来源:国知局

专利名称::用于随机存取存储器的可编程自检测的制作方法
技术领域
:本发明所公开的内容大体涉及集成电路领域,更具体地,涉及一种用于检测集成电路的一个存储器或多个存储器的可编程内建自检测结构和相应的检测方法。
背景技术
:集成电路(IC)技术得到了不断的改进,包括按比例缩小器件的几何形状以实现较低的制造成本、较高的器件集成密度、较高的速度和更好的性能。这些改进为IC提供了最佳质量。典型地,在制造之后检测IC,以确保IC展现出所需质量。检测通常包括为被检测的IC施加一个激励源,获得并分析IC器件的响应,且将器件的响应与已知的、所需的响应作对比。在IC的存储器的检测中,一种方法包括可编程内建自检测(BIST)电路。常规的可编程BIST制造在IC上且采用单独的从属嵌入式存储器(例如,只读存储器),用于编程一套检测指令。但是,当检测复杂的存储器器件时,从属嵌入式存储器需要大的指令集,其导致比所期望的更大的面积开销。
发明内容因此,本发明的目的是提供一种面积有效的可编程BIST结构,以提供多重复杂的自检测程序。根据本发明,提供了一种系统,该系统有效地提供适于复杂嵌入式存储器的大的检测指令集,同时提供减小的面积开销。在一个实施例中,一种用于检测集成电路的存储器的系统包括一组寄存器,该组寄存器提供基于用于多个检测的可编程要素,其中各个检测包括多个检测要素;一个用于从所述寄存器组接收多个检测指令的有限状态机,其中该有限状态机分配信号来指示一个检测模式发生器以产生一个检测模式;一个存储器控制模块,用于将所产生的检测模式施加到存储器;以及一个比较器模块,用于将从存储器接收的响应与所存储的、已知的响应相比较。在一些实施例中,寄存器组包括用于定义多个检测要素的多个检测要素控制寄存器。在一些实施例中,多个检测要素控制寄存器包括用于控制写功能的至少一位以及用于控制读功能的至少一位。在一些实施例中,多个检测要素控制寄存器包括用于启动重复功能的至少一个可编程位。在一些实施例中,多个检测要素控制寄存器包括用于启动刷新功能的至少一个可编程位。在一些实施例中,寄存器组包括一个检测要素重复计数寄存器,其对定义了一个检测要素的至少一个检测要素控制寄存器指定了该检测要素被重复的次数。在一些实施例中,寄存器组包括用于为多个检测要素控制寄存器定义检测设置的至少一个检测模式寄存器。在一些实施例中,至少一个检测模式寄存器包括通过列地址来控制数据模式触发的至少一位、通过行地址来控制数据模式触发的至少一位以及用于控制数据模式触发来生成字线图案的至少一位。在一些实施例中,至少一个检测模式寄存器包括用于启动错误触发模式的至少一个可编程yf立。在一些实施例中,寄存器组包括一个刷新时间寄存器,其定义了用于插入一个刷新的至少一个时间。在一些实施例中,寄存器组包括一个组开始寄存器和一个组终止寄存器,其中组开始寄存器定义了用于一个检测的存储器的一个开始组,且组终止寄存器定义了用于一个检测的存储器的一个终止组。在一些实施例中,组开始寄存器和组终止寄存器提供了检测分立存储器组和存储器组的不同组群的能力。在一些实施例中,寄存器组包括一个检测循环寄存器,其选择重复一个检测直至接收一个终止命令。在一些实施例中,多个检测包括零-一、棋盘、MATS、MATS+、MATS++、进程X、进程C、进程C-、进程Y、MOVI和干扰。在一些实施例中,多个检测的至少一个包括一个暂停检测要素。在一个实施例中,提供一种用于检测集成电路的存储器的方法,其中该存储器包括多个存储器组,包括编程包括了编程多个检测要素的一个寄存器组,其中编程多个检测要素的不同组合表示多个检测;生成符合编程的寄存器组的多个检测指令;执行多个检测指令来检测存储器;存储所执行的多个检测指令生成的结果;以及通过将所存储的结果与已知的响应相比较来确定存储器的质量。在一些实施例中,编程多个检测要素进一步包括为多个检测要素的至少一个启动重复功能且为至少一个检测要素定义重复次数。在一些实施例中,编程多个检测要素进一步包括为多个检测要素的至少一个启动刷新功能且定义用于插入刷新的时间。在一些实施例中,编程寄存器组进一步包括定义一个开始存储器组和定义一个终止存储器组,其中所述定义提供了检测分立存储器组和存储器组的不同组群的能力。在一些实施例中,执行多个检测指令并存储所执行的多个指令生成的结果进一步包括探测和记录存储器中的第一错误的位置,存储所述位置作为一个触发点;通过该触发点继续多个指令的执行直至探测和记录存储器中的第二错误的位置,存储第二错误的位置作为该触发点;通过该触发点继续多个指令的执行直至探测和记录存储器中的相继错误的位置,存储各个相继错误的位置作为该触发点直至停止多个指令的执行。总的来说,所公开的实施例提供以下一个或多个优点(l)基于大检测指令集的可编程要素;(2)可编程重复功能和可编程重复计数功能;(3)可编程保留4企测和可编程刷新检测,当检测DRAM时尤为有用;(4)用于动态干扰故障检测的特殊检测模式;(5)用于检测的可编程组;(6)记录生成在所检测的存储器(或多个存储器)中的故障的新颖的错误触发;(7)在调试RAM中具有高灵活性的小面积开销;以及(8)通过提供这种检测作为可编程保留检测、可编程刷新检测和用于动态干扰故障检测的特殊检测模式来确保DRAM质量。当阅读附图时,;^^开内容将从如下详细描述中得到最好的理解。需要强调的是,根据行业内的标准做法,不同的特征未按比例绘制且仅用于阐述性目的。事实上,为了讨论的清楚,不同特征的尺寸可以任意增大或减小。图1是根据本发明的一个实施例的可编程BIST结构的简图。图2是根据本发明的一个实施例的可编程BIST寄存器的简图。图3阐述了根据本发明的一个实施例的包含在一組可编程BIST寄存器中的可编程检测要素控制寄存器的实例。6图4阐述了根据本发明的一个实施例的包含在一组可编程BIST寄存器中的可编程检测模式寄存器的实例。具体实施例方式可以理解的是,以下公开内容提供了多个不同的实施例或实例,用来实现本发明的不同特征。以下描述部件和装置的特定实例以简化本公开内容。当然,以下描述的部件和装置的特定实例仅仅是实例且并不旨在限制。另外,本公开内容可以在不同的实例中重复使用附图标记和文字。这种重复用于简化和清楚的目的,且并不能由其本身决定所论述的不同实施例和/或构造之间的关系。参考图1至4,用于检测集成电路存储器,特别是复杂的嵌入式动态随机存取存储器的可编程BIST(pBIST)结构100和pBIST寄存器200共同在下文中描述。可以理解的是,其他特征可以添加到pBIST结构100和pBIST寄存器200中,且对于pBIST结构100和pBIST寄存器200的其他实施例来说,下文描述的一些特征可以被取代或被取消。pBIST结构100和pBIST寄存器200的当前实施例允许编程大指令集以执行多重复杂的自检测程序,同时又能明显地降低这种指令集所需的面积开销。参照图1,提供一种pBIST结构100。pBIST结构100包括存储器110、指令模块120、有限状态机130、检测模式发生器140、数据发生器142、地址发生器144、比较器150、存储器控制模块160和pBIST寄存器200。pBIST结构IOO检测存储器110的各种故障。存储器IIO可以包括被检测的单一存储器或多个存储器。存储器IIO可以包括集成电路存储器芯片,例如随机存取存储器(RAM)、只读存储器(ROM)、其他合适的存储器和/或其組合。RAM可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、非易失性随机存取存储器(NVRAM)和/或其他合适的随机存取存储器。ROM可以包括可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存和/或其他合适的只读存储器。指令模块120存储不同的检测指令、数据信息和存储器信息。指令模块120提供检测指令到有限状态机130。典型地,指令模块120存储硬编码检测指令,包括检测集(例如,算法集)。但是,在指令模块120中存储检测指令会导致大的面积开销,且导致硬编码设计不灵活。常规的pBIST结构使用指令模块120来存储大的检测指令集,这未能提供真正的高速检测能力且经常展现出对于实现多重复杂的自检测程序的能力的不足,特别是当检测例如DRAM的复杂的存储器的时候。在本实施例中,pBIST寄存器200提供一种存储大检测指令集的新颖方式,其是面积节约的,且无需对常规pBIST结构的硬件做改变或再设计。pBIST寄存器200提供用于检测的基于要素的可编程性(即,一个检测可以一个要素一个要素的编程)。如以下进一步论述的,一个要素一个要素的编程检测的能力包括在存储器单元上运行例如读和写的组合操作的能力。这种用于检测的基于要素的可编程性减小了面积开销,但仍能使大的指令集在存储器110上运行。表1提供了在pBIST寄存器200中可以一个要素一个要素编程的检测实例。<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>表l中提供的各个检测探测被检测的存储器(或多个存储器)110的不同类型的故障。"T,,表示操作开始于存储器中的最低地址且向存储器中的最高地址前进。"r表示操作开始于存储器中的最高地址且向存储器中的最低地址前进。"r,表示地址顺序是无关的,操作可以从存储器中的最高地址开始并向最低地址前进,或操作可以从存储器中的最低地址开始并向最高地址前进。"w"表示向被测的存储器110写入,以及"R"表示AM皮测的存储器110读出。"o"表示预先确定的数据模式是写或读,以及"r,表示预先确定的数据模式的补集是写或读。"暂停"表示没有操作(nop),不作操作的指令。本实施例中的干扰检测提供一种用于动态干扰故障检测的方法,当检测动态随机存取存储器时显得尤为重要,其中"暂停,vnop可以被编程为单一要素。这种新颖的检测包括如下步骤1.在任何地址顺序下,写o到所有位置。2.在最低地址处读0,在最低地址处写1,重复这一系列操作直至到达最高地址。3.暂停/nop,即,对存储器阵列不做任何操作。4.以任意地址顺序读1和写0,依照所选择的地址顺序,重复这一系列操作,直至到达最低地址或最高地址。5.暂停/nop,即,对存储器阵列不做任何操作。6.以任意地址顺序读O,依照所选择的地址顺序,重复这种操作,直至到达最低地址或最高地址。暂停/nop要素提供检测dram的数据保留的能力。可以理解的是,"暂停"/nop要素可以编程到任何检测中,且不局限于干扰检测。pBIST寄存器200降低了与作为用于生成检测地址信号、检测数据信号和被检测的存储器110的控制信号的源的另一从属嵌入式存储器的依存关系。参考图2,pBIST寄存器200包括多个检测要素控制寄存器202、检测要素重复计数寄存器204、刷新时间寄存器206、检测模式寄存器208、检测循环寄存器210、检测控制寄存器212、组开始寄存器214、组终止寄存器216、检测状态寄存器218、故障计数寄存器220、故障数据寄存器222以及故障地址寄存器224。可以理解的是,pBIST寄存器200的数量、种类和功能不局限于以下列出或探讨的那些。pBIST寄存器200可以提供其他功能。pBIST寄存器200可以进一步包括由一个或多个寄存器实现的任意組合的功能。检测要素控制寄存器202提供检测的基于要素的可编程性。多个检测要素控制寄存器202定义了多个检测要素。具体地,每一个检测要素控制寄存器202可以编程一种检测的单一要素。例如,如果pBIST寄存器200包括十六个检测要素控制寄存器202(其中各个检测要素控制寄存器202具有多重控制位),则接着可以编程十六种要素。可以理解的是,pBIST寄存器200的组可以包括任意数量的检测要素控制寄存器202。图3提供了可编程检测要素控制寄存器的一个实施例。可编程检测要素控制寄存器可以包括十三个控制位。多个检测要素控制寄存器202可以包括任意适量的控制位。在可替换的实施例中,多个检测要素控制寄存器202可以包括一个控制位,该控制位适于任何适当的功能和/或提供不同功能的控制位的任意组合,这种功能和组合不局限于下文探讨的那些。检测要素控制寄存器在零-一检测中,"wO",对第一要素进行编程。第一位是可编程的重复位,确定是否重复特定的检测要素。在本实施例中,第一位是"0",其表明禁止重复功能。如果第一位是'T,,则启动重复功能。当启动重复功能时,检测要素重复计数寄存器204定义了检测要素重复的次数。在一些实施例中,pBIST寄存器200可以包括多个检测要素重复计数寄存器204,以便各个检测要素控制寄存器202与检测要素重复计数寄存器204—致。可编程重复位提供一种可编程保留检测,当检测DRAM的保留时尤为有用。例如,检测要素控制寄存器在以上介绍的干扰检测中可以编程为"暂停,,要素,且可进一步被编程而为"暂停"要素启动重复功能。重复"暂停,,要素任意次数来检测DRAM保持数据的能力。10在编程检测要素控制寄存器中的第二位是一个可编程的刷新位,表示是否启动内部刷新功能。在本实施例中,内部刷新是启动的。当启动内部刷新位时,刷新时间寄存器206规定插入刷新的一个时间(或多个时间)。接着,三位字段(第三、第四和第五位)是一种数据反转控制,其规定是否反转数据。编程检测要素控制寄存器进一步包括一个读控制位(第六位)和一个写控制位(第七位),其禁止或启动读和写功能。分离的可编程读和写控制位能够使得组合操作在存储器单元上实施(即,如果读和写控制位设置成启动读操作和写操作,则在前进到第二存储器单元之前,在第一存储器单元上实施读和写操作)。在本实施例中,因为编程检测要素控制寄存器在零-一检测,"wO,,下对第一要素进行编程,则启动写功能并禁止读功能。包括了第八和第九位的两位字段表示在检测序列中的第一操作。包括第十、第十一和第十二位的三位字段表示操作总数减一。第十三位表示地址顺序,例如检测要素是升序运行还是降序运行。当地址顺序位是"o,,时,地址以升序读取,开始于最低地址位置并连续通过各个相继的较高地址位置,直至到达最高地址。当地址顺序位是"r,时,地址以降序读取,开始于最高地址位置并连续通过各个相继的较低地址位置,直至到达最低地址。检测模式寄存器208定义了多个检测要素控制寄存器202中编程的各个要素的检测设置。图4提供编程检测模式寄存器的一个实施例。编程检测模式寄存器可以包括二十二个控制位。可以理解的是,检测模式寄存器208可以包括任意适量的控制位。可以进一步理解的是,检测模式寄存器208可以包括用于任何适当的功能和/或提供不同功能的控制位的任意组合的一个控制位,这种功能和组合不局限于以下探讨的那些。编程检测模式寄存器包括用于禁止/启动数据编码功能的第一位,以及用于禁止/启动错误触发模式的第二位。在本实施例中,启动了错误触发模式,其提供了用于记录在存储器110上运行检测时出现的故障的新故障触发模式。本实施例中通过每次寻找、存储和记录一个故障来记录故障。例如,在一个实施例中,该方法包括运行检测、探测第一错误、记录第一错误、存储第一错误的位置作为一个触发点、通过该触发点运行检测直至探测第二错误、记录第二错误、存储第二错误的位置作为一个新的触发点、通过该触发点运行检测直至探测第三错误等等。记录故障的错误触发方法的本实施例导致低的面积开销。与常规pBIST结构不同,检测模式寄存器208包括用于管理数据模式切换的三个分离控制。这三个分离的数据模式切换控制允许用于动态干扰检测的一种特殊模式,当检测动态随机存取存储器时尤为有用。在本实施例中,编程检测模式寄存器包括一个三位字段(第三、第四和第五位)来控制用于产生不同字线图案的数据模式切换,一位(第六位)通过行地址来控制数据模式切换,且一位(第七位)通过列地址来控制数据模式切换。编程检测模式寄存器进一步包括一个两位字段(第八和第九位),用于禁止/启动一个快速行模式并确定是否检测所有组;一个八位字段(第十到第十七位),用于确定读或者写数据;以及一个五位字段(第十八到第二十二位),表示检测中的要素数目减一。检测循环寄存器210选择和确定重复检测(即,特定的算法或算法集)的次数。检测循环寄存器210可以重复检测直至接收一个终止命令,且允许无限循环检测。检测控制寄存器212发出一个运行命令到pBIST以开始一个检测(或多个^r测)。常规pBIST结构在一个存储器阵列中的所有存储器组上运行检测/算法,即,第一检测要素施加到每一个组中的所有位,接着第二检测要素施加到每一个组中的所有位,等等。本实施例提供用于检测的可编程组。组开始寄存器214和组终止寄存器216控制组以便一个检测要素或多个纟企测要素施加到组。组开始寄存器214定义了用于检测运行的开始组。组终止寄存器216定义了用于检测运行的结束组。例如,在一个实施例中,存储器IIO可以包括三十二个(32)组,组#0到组#31。組开始寄存器214可以编程到组#2,且组终止寄存器216可以编程到组#15。因此,4企测要素将运行通过组#2中的所有位、组#3中的所有位,...直至组#15中的所有位。可编程组开始寄存器214和組终止寄存器216允许检测存储器单元中不同的存储器组,而无需在存储器单元中的所有存储器组上运行检测。在一些实施例中,检测要素可以仅在存储器的一个组上运行。在一些实施例中,检测要素可以仅在存储器的某一部分/组上运行。检测状态寄存器218记录来自pBIST运行的各个检测的结果。故障计数寄存器210存储和报告发生在特定检测运行中的故障总数。故障地址寄存器212存储和报告发生在特定检测运行中的地址故障的总数。故障数据寄存器214存储和报告发生在特定检测运行中的故障的数据总数。有限状态机(CTRL—FSM)130是可编程的,以根据从指令模块120和pBIST寄存器200接收的检测指令,在一个存储器或多个存储器IIO上执行检测的特定序列。检测模式发生器(TPG)140包括数据发生器142和地址发生器144。数据发生器142和地址发生器144根据从有限状态机130接收的控制信号来一起生成检测地址和检测数据。比较器150的作用是将存储器110的实际响应与已知的、存储的响应作比较。存储器控制模块160将从检测模式发生器140接收的检测地址和检测数据施加到检测下的一个存储器(或多个存储器)110。总的来说,所公开的实施例提供以下一个或多个优点(l)基于大检测指令集的可编程要素;(2)可编程重复功能和可编程重复计数功能;(3)可编程保留检测和可编程刷新检测,当检测DRAM时尤为有用;(4)用于动态干扰故障检测的特殊检测模式;(5)用于检测的可编程组;(6)记录生成在所检测的存储器(或多个存储器)中的故障的新颖的错误触发;(7)在调试RAM中具有高灵活性的小面积开销;以及(8)通过提供这种检测作为可编程保留检测、可编程刷新检测和用于动态干扰故障检测的特殊检测模式来确保DRAM质量。发生器前述内容概述了几个实施例的特征,以便本领域技术人员可以更好的理解本公开内容的观点。本领域技术人员应当认识到,他们可以容易地使用相同优点的其他方法和结构的基础。本领域技术人员还应当认识到,这些等价构造未背离本公开内容的精神和范围,且在不背离本公开内容的精神和范围的情况下,他们可以在这里做出不同的改变、替换和变型。1权利要求1.一种用于检测集成电路的存储器的系统,包括一组寄存器,提供用于多个检测的基于要素的可编程性,即,一个检测可以一个要素一个要素的编程,其中各个检测包括多个检测要素;一个有限状态机,用于从所述寄存器组接收多个检测指令,其中所述有限状态机分配信号来指示检测模式发生器以产生检测模式;一个存储器控制模块,用于将所产生的检测模式施加到存储器;以及一个比较器模块,用于将从所述存储器接收的响应与所存储的、已知的响应相比较。2.如权利要求1所述的系统,其中所述寄存器组包括用于定义所述多个检测要素的多个检测要素控制寄存器。3.如权利要求2所述的系统,其中所述多个检测要素控制寄存器包括用于控制写功能的至少一位以及用于控制读功能的至少一位、用于启动重复功能的至少一个可编程位或者用于启动刷新功能的至少一个可编程位。4.如权利要求2所述的系统,其中所述寄存器组包括一个检测要素重复计数寄存器,其指定了对于定义了一个检测要素的至少一个检测要素控制寄存器,该检测要素被重复的次数;或者包括用于为多个检测要素控制寄存器定义检测设置的至少一个检测模式寄存器。5.如权利要求4所述的系统,其中所述至少一个检测模式寄存器包括通过列地址用于控制数据模式触发的至少一位、通过行地址用于控制数据模式触发的至少一位以及用于控制数据模式触发来生成字线图案的至少一位,或者用于启动错误触发模式的至少一个可编程位。6.如权利要求l所述的系统,其中所述寄存器组包括一个刷新时间寄存器,其定义了用于插入一个刷新的至少一个时间。7.如权利要求l所述的系统,其中所述寄存器组包括一个组开始寄存器和一个组终止寄存器,其中所述组开始寄存器定义了用于一个检测的存储器的一个开始组,且组终止寄存器定义了用于一个^r测的存储器的一个终止组。8.如权利要求7所述的系统,其中所述组开始寄存器和所述组终止寄存器提供了检测分立存储器组和/或存储器组的不同组群的能力。9.如权利要求l所述的系统,其中所述寄存器组包括一个检测循环寄存器,其选择重复一个检测直至接收到终止命令。10.如权利要求1所述的系统,其中所述多个检测包括零-一、棋盘、MATS、MATS+、MATS++、进程X、进程C、进程C-、进程Y、M0VI和干扰。11.如权利要求10所述的系统,其中所述多个检测的至少一个包括暂停才企测要素。12.—种用于检测集成电路的存储器的方法,其中所述存储器包括多个存储器组,所述方法包括编程包括了编程多个检测要素的寄存器组,其中编程多个检测要素的各种组合表示多个4企测;生成符合所述编程的寄存器组的多个检测指令;执行所述多个检测指令以检测存储器;存储所执行的所述多个检测指令生成的结果;以及通过将所述存储的结果与已知的响应相比较来确定存储器的质量。13.如权利要求12所述的检测存储器的方法,其中编程多个检测要素进一步包括为多个检测要素的至少一个检测要素启动重复功能且为至少一个被重复的检测要素定义重复次数、或者为多个检测要素的至少一个检测要素启动刷新功能且定义用于插入刷新的时间。14.如权利要求12所述的检测存储器的方法,其中编程pBIST寄存器组进一步包括定义一个开始存储器组和定义一个终止存储器组,其中所述定义提供了检测分立存储器组和存储器组的不同组群的能力。15.如权利要求12所述的检测存储器的方法,其中执行多个检测指令并存储所执行的多个指令生成的结果进一步包括探测和记录存储器中的第一错误的位置,存储所述位置作为触发点;继续通过触发点的多个指令的执行直至探测和记录存储器中的第二错误的位置,存储第二错误的位置作为触发点;继续通过触发点的多个指令的执行直至探测和记录存储器中的相继错误的位置,存储各个相继错误的位置作为触发点直至停止多个指令的执行。全文摘要本发明公开了一种可提供用于检测存储器的大指令集又能降低面积开销的系统。这种用于检测集成电路的存储器的系统包括一组寄存器,提供用于多个检测的基于要素的可编程性,即一个检测可以一个要素一个要素的编程,其中各个检测包括多个检测要素;一个有限状态机,用于从寄存器组接收多个检测指令,其中该有限状态机分配信号来指示检测模式发生器以产生检测模式;一个存储器控制模块,用于将所产生的检测模式施加到存储器;以及一个比较器模块,用于将从存储器接收的响应与所存储的、已知的响应相比较。文档编号G11C29/16GK101661799SQ20091016656公开日2010年3月3日申请日期2009年8月26日优先权日2008年8月27日发明者张晴雯,林士杰,郑玮嘉申请人:台湾积体电路制造股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1