用于处理存储器修复信息的方法和装置

文档序号:311091 发布日期:2021-11-26 浏览:13次 >En<

阅读说明:本技术 用于处理存储器修复信息的方法和装置 (Method and apparatus for processing memory repair information ) 是由 B·纳多-多西 L·罗曼 于 2019-08-27 设计创作,主要内容包括:用于修复存储器的系统和方法。一种方法包括执行嵌入式存储器的修复分析,以产生修复信息。该方法包括将修复信息存储在寄存器中,其中所述寄存器被组织成多个组,所述多个组包括长度相同的链。该方法包括在所述多个组的每一组中的修复信息之间执行冲突检测。该方法包括将多个组的每一组中的修复信息进行融合。该方法包括利用融合的修复信息对嵌入式存储器进行修复。(Systems and methods for repairing memory. A method includes performing a repair analysis of an embedded memory to generate repair information. The method includes storing repair information in registers, wherein the registers are organized into a plurality of groups, the plurality of groups including chains of equal length. The method includes performing collision detection between repair information in each of the plurality of groups. The method includes fusing repair information in each of a plurality of groups. The method includes repairing the embedded memory using the fused repair information.)

用于处理存储器修复信息的方法和装置

相关申请的交叉引用

本申请要求2019年4月19日提交的62/836,100号美国临时专利申请的申请日的权益,该美国临时专利申请通过引用并入本文。

技术领域

所公开的技术是针对用于电路设计、电路测试和电路制造的技术,更具体地,所公开的技术是针对用于处理具有嵌入式存储器的集成电路的存储器修复信息的创新的系统。

背景技术

当前的高密度半导体通常包括嵌入式存储器。内建自测试(built-in self-test,BIST)技术用于识别存储器中的缺陷和问题。类似地,这些存储器可以包括或采用内建自修复(built-in self-repair,BISR)技术,其中部分或全部修复分析(内建修复分析或BIRA(built-in repair analysis))和修复交付(repair delivery)都在芯片本身上执行。

这种分析和修复可以偶尔执行,或可以在每次启动嵌入式系统时执行。典型的修复包括将修复指令和其它修复信息存储到一个或多个寄存器中,然后利用可编程熔丝串行地传送且永久性地存储该修复信息。一个或多个寄存器可以耦合在BISR链中以存储存储器修复信息并且用于修复一个或多个坏的存储器单元。可以通过以扫描链方式串行地连接序列元素来形成BISR链,使得所需的数据可以被移位到序列元素中。将修复信息存储到BISR链中的过程将是耗时且低效的,并且当前技术需要大量存储。需要改进的技术。

发明内容

各个公开的实施例包括用于修复存储器的装置和方法。一种方法包括执行嵌入式存储器的修复分析,以产生修复信息。该方法包括将修复信息存储到寄存器中,其中所述寄存器被组织成多个组,所述多个组包括长度相同的链。该方法包括在所述多个组的每一组中的修复信息之间执行冲突(collision)检测。该方法包括将多个组的每一组中的修复信息进行融合。该方法包括利用融合的修复信息对嵌入式存储器进行修复。

在各个实施例中,该方法由例如计算设备、片上控制器或具有存储器的片上实现的电路的装置来执行。在各个实施例中,对嵌入式存储器进行修复包括存储融合的修复信息并随后将融合的修复信息进行广播。在各个实施例中,修复信息被存储在嵌入式非易失性存储器中。在各个实施例中,对嵌入式存储器进行修复包括存储融合的修复信息并随后将融合的修复信息进行广播,并且其中所述融合的修复信息在被存储之前进行压缩并且在被广播之前进行解压缩。在各个实施例中,所述多个组是被串行处理的。在各个实施例中,所述多个组是被并行处理的。在各个实施例中,当检测到冲突时中止修复过程。在各个实施例中,冲突检测包括确定在所述链的多于一个链中在由修复字大小限定的窗口内是否存在相同的修复字。在各个实施例中,选择某一组内的多个链的子集进行修复,而其它的不受干扰。各个实施例还包括对至少一个链中的修复信息进行修改,以产生相同的长度。

前面已经相当宽泛地概述了本公开的特征和技术优势,以便本领域技术人员可以更好地理解下面的详细描述。下面将描述形成权利要求主题的本公开的附加特征和优点。本领域技术人员将理解,他们可以容易地使用所公开的概念和特定实施例作为用于修改或设计其它结构以实现本公开的相同目的的基础。本领域的技术人员还将认识到,这种等效结构不会偏离最广泛形式的本公开的精神和范围。

在描述下面的

具体实施方式

之前,阐明整个该专利文献中所使用的某些词或短语的定义可能是有利的:术语“包括”和“包含”及其衍生词意味着包括而不是限制;术语“或”是包容性的,表示“和/或”;短语“与…相关联”和“与之相关联”及其衍生词可以意味着包括、包括在其中、互连、包含、包含在其中、连接至或与其连接、耦合至或与其耦合、可与其通信、与…协作、交错、并列、接近、绑定到或与…绑定、具有某种特性等;术语“控制器”是指控制至少一个操作的任何设备、系统或其部件,无论这种设备是以硬件、固件、软件还是其中至少两种的组合来实现的。应当注意,与任何特定控制器相关联的功能可以是集中的或分布式的,无论是本地的还是远程的。在本专利文献中提供了某些词和短语的定义,并且本领域普通技术人员将理解,这样的定义在许多(如果不是大多数)实例中适用于这样定义的词和短语的先前使用和将来使用。虽然一些术语可能包括各种各样的实施例,但所附权利要求书可明确地将这些术语限制为特定实施例。

附图说明

为了更全面地理解本公开及其优点,现在参考结合附图进行的以下描述,其中相同的数字表示相同的对象,并且其中:

图1例示了可用于实现所公开的技术的各个实施例的计算设备的部件;

图2A和图2B一起例示了根据所公开的实施例实现的存储器修复装置的示例;

图3例示了根据所公开的实施例的用于处理电路的存储器修复信息的装置的示例性配置;

图4A至图4C例示了根据所公开的实施例的成功的冲突检查的示例;

图5A至图5C例示了根据所公开的实施例的失败的冲突检查的示例;

图6A至图6D例示了根据所公开的实施例的冲突检查的附加示例;

图7例示了根据所公开的实施例的用于处理不相同长度的链的技术;以及

图8例示了根据所公开的实施例的处理过程。

具体实施方式

用于描述本专利文献中的本公开原理的以下讨论的附图以及各个实施例仅是例示性的,并不应当以任何方式解释为限制本公开的范围。本领域技术人员将理解,可以在任何适当布置的设备中实现本公开的原理。将参考示例性且非限制性的实施例来描述本申请的众多创新的教导。

传统的BIST/BISR技术包括对单独BISR链的修复信息进行压缩和存储的过程。当电路被划分在电力域中时,在整个电路或一部分电路通电时可随后对BISR链进行检索和分配。

然而,所有这些技术都需要大量的存储。这些技术还需要在修复时间(即在通电时串行地加载BISR链所需的时间)与读取修复信息并将该修复信息施加到所述链的电路的复杂度之间进行权衡。

所公开的实施例可以通过利用并行处理的多个链来使修复时间最小化,但电路复杂度随着链的数量线性地增加。所公开的实施例可以使通电时的修复时间、用于修复信息的片上存储量以及实现修复所需的电路复杂度最小化。

说明性操作环境

可以通过计算设备(例如可编程计算机)执行软件指令来实现所公开的技术的一些示例,而在片上电路中实现其它实施例。因此,图1示出了可用于片外实施例的计算设备101的说明性示例。如该图所示,计算设备101包括计算单元103,计算单元103具有处理单元105和系统存储器107。处理单元105可以是用于执行软件指令的任何类型的可编程电子设备,但处理单元105通常可以为微处理器。系统存储器107可以包括只读存储器(ROM)109和随机存取存储器(RAM)111。如本领域普通技术人员将理解的,只读存储器(ROM)109和随机存取存储器(RAM)111均可以存储用于由处理单元105执行的软件指令。

处理单元105和系统存储器107通过总线113或可替代的通信结构直接地或间接地连接至一个或多个外围设备。例如,处理单元105或系统存储器107可以直接地或间接地连接至一个或多个附加的存储器存储设备,例如“硬”磁盘驱动器115、可移动磁盘驱动器117、光盘驱动器119、或闪存卡121。处理单元105和系统存储器107也可以直接地或间接地连接至一个或多个输入设备123以及一个或多个输出设备125。输入设备123可以包括例如键盘、指点设备(例如鼠标、触摸板、触控笔、轨迹球、或操纵杆)、扫描仪、相机、和麦克风。输出设备125可以包括例如监视器显示器、打印机、和扬声器。在计算设备101的各种示例中,外围设备115至125中的一者或多者可以与计算单元103一起容纳在内部。可替代地,外围设备115至125中的一者或多者可以在计算单元103的壳体的外部,并且通过例如通用串行总线(USB)连接与总线113连接。

在一些实现方式中,计算单元103可以直接地或间接地连接至一个或多个网络接口127,用于与构成网络的其它设备通信。网络接口127根据一个或多个通信协议(例如传输控制协议(TCP)和因特网协议(IP))将来自计算单元103的数据和控制信号转换成网络消息。此外,接口127可以采用用于连接至网络的任何合适的连接代理(或代理的组合),所述连接代理包括例如无线收发器、调制解调器、或以太网连接。这种网络接口和协议在本领域中是已知的,因此在此处不再详细讨论。

应当理解,计算设备101仅例示为示例,而并不旨在对其进行限制。可以利用包括图1中所例示的计算设备101的部件的一个或多个计算设备来实现所公开的技术的各个实施例,所述一个或多个计算设备仅包括图1中所例示的部件的子集,或者包括这些部件的可替代组合,包括图1中未示出的部件。例如,可以利用多处理器计算机、被布置成网络的多个单处理器和/或多处理器计算机、或者这两者的某种组合来实现所公开技术的各个实施例。

还应当理解,图1中例示的计算设备101的描述仅作为示例提供,并且并不旨在建议对本发明的各个实施例的使用范围或功能性的任何限制。计算设备可以是ATE(Automatic Test Equipment,自动测试设备)、调试站、或用于将测试应用于集成电路并分析测试结果的类似设备中的一部分。

所公开的实施例包括用于并行处理BISR链的系统、设备和方法。所公开的技术可以优化对于具有重复块的设计的处理,减少加载BISR链所需的时间,并且减少存储修复解决方案或其它修复信息所需的熔丝的数量。所公开的实施例可以实现用于任何存储器的改进的修复过程,并且在BISR链可以形成相同长度的多个组的任何电路中是特别有用的。所公开的实施例对于具有重复块的设计将是特别有用的,然而其他设计可以通过如本文所描述的那样对多个链进行分割或填充而受益。

可以在各个实施例中获得这些优点,这些实施例可以利用多个被组织成相同长度的多个组链来计算可以在通电期间广播的链的公共修复解决方案。这些技术对于具有重复块的设计是特别有利的。各个实施例可以包括多个处理过程,例如在某些情况下的链长度平衡以及根据需要添加伪寄存器以使链完整。

所公开的技术与具有并行修复接口或串行修复接口的存储器兼容,并且并行链可以是不同电力域的一部分。用户可以在每次运行BISR控制器时启用任何链子集,并且能够在系统运行时对所选链执行硬增量修复。

如本文更详细地描述的,各个实施例包括修改控制信号以同时启用并行组的所有链,并且这些修改可应用于自主模式。可以使用扫描输入/扫描输出来支持并行模式,在特定实施例中,包括向所有链广播修复信息并且使用允许融合多个输入的AND-OR(与-或)结构。在各个实施例中,可以接收用户输入以选择单独链,并且可以向所有选定的链广播相同的修复解决方案。

所公开的实施例包括熔丝编程。所述熔丝编程可以包括用于链之间抵触(conflict)的电路检查,确保修复字不交叠,并且如果是这样,则BISR控制器报告错误(例如,Go=0,如下所述)。每个并行组只使用一个指针,并且能够使单个并行组的控制器部分的所有链共享相同熔丝。可以在所有自主模式(例如BIRA到BISR传输、熔丝编程、验证和通电)期间执行检查。

图2A和图2B一起例示了根据所公开的实施例实现的存储器修复装置200的示例,该存储器修复装置200可以在BISR控制器202或具有相关电路的计算设备100的控制下执行,以修复嵌入式存储器214中的错误。虽然每个块210示出了BIRA控制器212、嵌入式存储器214和BISR链216的单独实例,但是这些实例不一定是单独的元件;例如,每个嵌入式存储器214可以是同一个嵌入式存储器的一部分,并且多个BIRA控制器212可以都是同一个控制器。

各个实施例涉及用于存储器分析和修复的实际片上解决方案。BISR控制器202和BIRA控制器212各自可由一个或多个控制器或控制电路以物理方式实现。在特定实施例中,BIRA控制器214可被实现为执行本文所述的修复分析的控制器,并且BISR控制器202可管理如下所述的其它功能。

在被实现为在计算设备100的控制下的片外解决方案的其它实施例中,在该示例中描绘的一个或多个其它功能也可以在片外实现。

虽然每个嵌入式存储器214在本例中被例示为单个块元件,但是每个嵌入式存储器214可以被实现为数百个或数千个存储器块,其中每个存储器块装备有备用行和/或备用列,或者每个嵌入式存储器214可以被实现为其它物理存储器电路的任意组合。本文描述的原理和操作不受嵌入式存储器216的物理实现方式的限制。类似地,非易失性存储器220可以被实现为任何可编程的非易失性存储介质,包括熔丝、闪存和其它设备,并且可以与任何嵌入式存储器214进行组合。

在该示例中,BIRA控制器212对嵌入式存储器214执行修复分析,以产生修复信息。该修复信息存储在一个或多个BISR寄存器216中,其中每个链组包括一个或多个BISR链,并且每个BISR链包括来自一个或多个寄存器的修复信息。例如,如图2A和图2B所示,块A1和块B1中的BISR寄存器216形成BISR链230,块A2和块B2中的BISR寄存器216形成BISR链232。A1/B1链230和A2/B2链232形成链组。

修复信息通过链接口204到达BISR控制器202。如本文描述,由冲突检测/融合电路206处理所述修复信息。

如果冲突检测/融合电路206在修复信息中未检测到冲突,则如本文所公开的那样对扫描组中的修复信息进行融合。这可以是例如被融合的并行链的所有对应位的逻辑OR(或)。然后可以将融合的修复信息串行地或并行地传递到压缩器/解压缩器218,以压缩修复信息用于存储,然而在某些情况下可以省略压缩过程。在其它情况下,同时执行压缩和融合,以便在融合时对修复信息进行压缩。类似地,可以在冲突检查期间进行融合,以便在执行冲突检查时对修复信息进行融合。

然后,融合的(并且可能也是压缩的)修复信息可以串行地或并行地传递到任何类型的非易失性存储器220,包括通过编程熔丝、存储在闪存中或以其他方式进行。可以从熔丝或其它非易失性存储器中读取融合的修复信息,并对其进行解压缩,并且在下次通电时将其广播到链。此时,完成嵌入式存储器214的修复迭代。

为了将BISR链分配给多个组,各个实施例可以使用一种选项或若干选项的组合。这种分配可以根据基于BISR共享所使用的现有属性的自动分区,或者可以根据例如基于分区定义文件的手动分区。在各个实施例中,链可以添加到组是为了确保每个组具有相同的长度。在某些情况下,如果冲突概率变得足够高以至于对良率具有实质性影响,则系统可以限制组中链的数量。

冲突检测/融合电路206用于确定并行链或并行组的修复信息是否是兼容的。这可以在链轮换(chain rotation)或熔丝编程期间启用,并且在轮换期间特别有利,以避免对熔丝编程。在链轮换期间,融合的输出可以在分析链的内容是否有冲突的同时向组中的所有链广播。这是通过在对链进行时钟控制的同时选择多路复用器208的输入“1”来完成的,其中所述多路复用器208是由软修复(SoftRepair)信号控制的。

冲突检测/融合电路206可以执行如下处理过程。冲突检测/融合电路206将在逐位且并行地接收每个链组时对每个链组进行监视。当在其中一个链上检测到“1”时,冲突检测/融合电路206检查所有其它链在由修复字大小(N)限定的窗口中仅包含零,包括初始值1。任意链上的1限定由修复字大小确定的窗口。通常,如果是非真(not true)-如果在多个不同的链组的窗口中存在“1”-则检测到冲突并且融合(和压缩)失败。通常,只能在同一组的链之间检查冲突。在特定的非限制性实现方式中,对多个组进行顺序地处理,以减少逻辑量和非易失性存储器的大小(例如熔丝的数量),但是,在其它实现方式中,可以对多个组进行并行处理。

然而,在特定情况下,组中的两个或更多个链可以在窗口的第一位中具有1。在这种情况下,冲突检测/融合电路206可以检查到窗口中的所有N位在所有链上是相同的,这对于增量修复以及是否在链轮换之后启用冲突检测206是必要的。

所公开的实施例特别适用于包含相同块的集成电路,其中每个块可以包含一个或多个BISR链。本文公开的方法在需要修复少量存储器时是特别有用的,并且对于不需要被立即修复的存储器是可接受的。在这种情况下,系统能够以形成连接至BISR控制器的并行链组的方式来有效地连接块链。组中的链优选地具有相同的长度,并且组中的所有链的修复信息可以在被存储在非易失性存储器(例如,熔丝阵列)中之前被融合和压缩。如果来自并行链的修复信息是不兼容的且不能被融合,则冲突检测器报告故障。一旦通电,修复信息可以被解压缩并且向组中的所有链广播。在各个实施例中,如果那些链属于不同的电力域,则可以仅加载其中一些链。

图3例示了用于处理本文描述的电路的存储器修复信息的装置300的示例性配置。该图例示了BISR控制器部分302和某一组链304。该组链304中的每个链306代表一个或多个BISR寄存器。可以通过成行的数据(Data In line)来加载链304。在该示例中,有四个链被组织成两组,它们共享共同的冲突检测器306。如图所例示的,链304被分组以形成大小相等的组;例如,链0/a与链0/b组合的大小与链1/a与链1/b组合的大小相同(组0,例示为组308),链2的大小与链3(组1)的大小相同。如果驱动某一个链的时钟门控单元(clockgating cell,CGC)的控制输入被设置为逻辑1,则该链接收时钟脉冲。

在该示例中,由于四个链被组织成共享公共冲突检测器的两个组,因此在任何时刻只能选择一个组。信号组[1:0]选择一个组。链0和链1是组0的一部分,而链2和链3是组1的一部分。信号链[3:0]选择链。如果选择了链组和链号两者,则该链只接收时钟脉冲。例如,如果将组[1]和链[2]设置为逻辑1,则链2变为启用的。链[3:0]输入允许选择组的子集。这在同一组中的链是不同电力域的一部分时是有用的。这些链可能在不同时刻被通电。如果一个链是启用的,则该链的输出对冲突检测器的输入有贡献。否则,冲突检测器的相应输入被设置为逻辑0。冲突检测器接收来自所选链的输入,并将其冲突检测的输出(CollisionDetected output)设置为1,该冲突检测的输出继而将BISR控制器输出设置为0,其指示操作失败。所选链的位流被一起进行或运算(ORed),以在数据输出(DataOut)上获得融合的修复解决方案。

如图2和图3所例示的,在这些示例中,修复(BISR)寄存器被组织成并行链的多个组,其中这些组优选地具有相同的长度,并且连接至BISR控制器。如果需要,可以将长链分成较小的段并对其进行填充,以达到所需的长度,并且若干集成电路可以包含重复的块实例。只要未检测到抵触/冲突,系统就可以广播修复信息。冲突检测过程有助于节省测试时间,对链之间的冲突进行早期检测避免了冗长的熔丝编程和后期修复再测试。

在图4至图6中,下面,将三个链(链0至链2)从左到右移入到冲突检测器中。当在其中任何链上检测到1时,其指示以橙色突出显示的修复字的开始。如本文所述的,对修复字大小进行选择。

图4A至图4C例示了通过冲突检测206检测到的成功的冲突检查(意味着未检测到冲突)的示例。在这些示例中的每一者中,所有BISR寄存器都具有7位,当然在其它实现方式中,该长度可以是不同的。在各个实施例中,不必要求BISR寄存器具有相同的长度。当长度可变时,修复字大小可以对应于最大BISR寄存器长度、平均BISR寄存器长度、或适合于修复信息的最佳压缩的任何其它大小。

图4A例示了只有一个链(链0)具有修复信息的示例,该修复信息被例示为包括多个1和多个0的以“1”开头的突出显示的修复字。由于只有在单个链中存在修复信息,因此不存在冲突。

图4B例示了只有两个链(链0和链1)具有修复信息的示例,该修复信息被例示为包括多个1和多个0的以“1”开头的突出显示的修复字。由于针对不同链的修复信息不交叠,因此不存在冲突。

图4C例示了所有三个链均具有修复信息的示例,该修复信息被例示为包括多个1和多个0的以“1”开头的突出显示的修复字。由于针对不同链的修复信息完全不交叠或重叠为完全相同的数据,因此在该增量修复情况中不存在冲突。在该示例中,在第一修复时段或过程中,三个链中仅有一个链(例如链0)需要修复。在融合修复解决方案后,即使链1和链2不需要修复,也以相同的方式修复所有三条链。图5C示出了在第二修复时段期间在修复分析之后但在融合修复解决方案之前的链的内容。

图5A至图5C例示了通过冲突检测206检测到的失败的冲突检查(意味着检测到冲突并因此不能执行压缩/融合)的示例。在这些示例中的每一者中,所有BISR寄存器都具有7位,当然在其它实现方式中,该长度也可以是不同的。

图5A例示了只有两个链(链0和链2)具有修复信息的示例,该修复信息被例示为包括多个1和多个0的以“1”开头的突出显示的修复字。由于存在修复字的部分重叠并且由于修复字中的修复信息不匹配,因此存在冲突。

图5B例示了只有两个链(链0和链2)具有修复信息的示例,该修复信息被例示为包括多个1和多个0的以“1”开头的突出显示的修复字。虽然在修复字的重叠部分中不存在修复数据的不匹配,但是由于修复字是未对齐的,因此存在冲突。

图5C例示了所有三个链均具有修复信息的示例,该修复信息被例示为包括多个1和多个0的以“1”开头的突出显示的修复字。由于存在修复字的仅部分重叠,因此存在冲突。此外,在这种情况下,复杂度显著地增加,并且可能难以持续跟踪单独链的修复字窗口。此外,由于对于所有存储器的字大小是相同的,因此可能存在不准确性。

图6A至图6D例示了冲突检查的附加示例。如图6A至图6D所例示的,BISR寄存器通常(但并不总是)由修复使能位组成,并且其余位是要在存储器中替换的行或列的修复地址。突出显示的位指示修复使能的位置。所示链的一部分中的所有BISR寄存器具有相同的长度(6),但其它BISR寄存器可以具有不同的长度。这就是为什么在该示例中,所指示的修复字大小是6或8。

在图6A中,不存在冲突。修复字大小为N=6,并且修复使能更接近链输出。注意,由于修复字大小为6,因此不存在重叠的不一致的修复信息—针对每个链的修复字仅对应于另一个链中的零。

在图6B中,存在冲突。修复字大小为N=8,并且修复使能更接近链输出。注意,由于修复字大小是8,尽管数据与图7A中的相同,但在修复字内存在重叠的不一致的修复信息。

在图6C中,存在冲突。修复字大小可以为N=6或N=8,并且修复使能更接近链输入。无论修复字大小是6还是8,在修复字内存在重叠的不一致的修复信息(其中修复字窗口从第一个“1”开始)。

在图6D中,不存在冲突。修复字大小可以为N=6或N=8,并且修复使能更接近链输入。无论修复字大小是6还是8,在修复字内不存在重叠的不一致的修复信息(其中修复字窗口从第一个“1”开始)。

图7例示了根据所公开的实施例的用于处理不相同长度的链的一种技术。在该示例中,所有BISR寄存器均具有7位。如本例所例示的,链2短于链0和链1。这个问题可以通过多种方式解决,这些方式在本文中都被称为在至少一个链中“修改修复信息”,以产生相同的长度。执行这种修改的一种方式是将BISR寄存器添加到链2,使链2的长度与其它链的长度相同。

执行这种修改的另一种方式是延迟较短链链2的时钟,并且当执行冲突检测时,针对缺失位假定其值为0,当执行冲突检查和融合时,在链2的初始部分上有效地“填充”0值,如在802处所例示的。融合的解决方案具有与最长的一个或多个链一样多的位,然后在将修复解决方案加载回链中时,较短的一个或多个链可以被过渡移位(over-shift)。

图8例示了根据所公开的实施例的过程800,该过程800可以例如由装置(例如本文公开的计算设备)、片上控制器、或电路(例如在具有嵌入式存储器的芯片上实现的专用集成电路)、或由其它电路或处理器来执行,所有这些在下文中统称为“系统”。总体上,这样的装置可以具有控制器和多个嵌入式存储器,所述多个嵌入式存储器连接到所述控制器以由该控制器访问,并且耦合到能够存储修复信息的寄存器。

所述系统可以执行嵌入式存储器的修复分析,以产生修复信息(802)。修复信息可以初始地存储在多个寄存器中。

该系统可以将修复信息存储到寄存器中,其中寄存器被组织成多个组,所述多个组包括长度相同的链(804)。在某些情况下,可以选择某一组内的链的子集进行修复,而其它的链不受干扰。

系统可以在所述多个组的每一组中的修复信息之间执行冲突检测(806)。如果检测到冲突,则可以中止该过程。所述冲突检测可以包括确定在所述链的多于一个链中在由修复字大小限定的窗口内是否存在相同的修复字。

当由所述冲突检测没有检测到冲突时,系统可以将所述多个组的每一组中的修复信息进行融合(808)。可以在执行冲突检测的同时执行融合过程。

在执行融合过程之后或执行融合过程的同时,系统还可以对修复信息进行压缩(810)。

系统可以将所述修复信息存储到非易失性存储器中(812)。

如果在810处进行压缩,则融合的修复信息可以在被广播或以其它方式处理之前进行解压缩(814)。

该系统可以利用融合的修复信息对嵌入式存储器进行修复(816)。修复嵌入式存储器可以包括在步骤812进行存储并且随后将融合的修复信息进行广播。

在各个实现方式中,可以串行地处理多个组或者可以并行地处理多个组。在一些实施例中,可以修改至少一个链中的修复信息,以产生相同的长度。

各个实施例可以根据特定规则来限制压缩/处理。这样的规则的示例包括要求同一组的链具有相同长度,或者要求链的所有段是同一电力域的一部分。

类似地,可以使用许可(permission)来限定特定特征。这样的许可的示例包括:链可以包括任意数量的段,某一组中的链可以由不同类型的段组成,并且在特定过程中不需要相同的模块/块。例如,在四个链分为两组的系统中,可以将一个组(组[0])限定为包括两个链(链[1:0]),并且可以将第二个组(组[1])限定为包括剩余的两个链(链[3:2])。

在各个实施例中,可以在系统运行时通过执行系统内增量修复来修复一些链。在这些情况下,第一组的链在第一次通过过程时被完全修复,然后剩余的链或组可以在随后的通过中利用新的解决方案被修复。在只需修复一个链的情况下,可以限定平衡所有链长度的单个组,其中如果需要,可以使用自定义的BISR寄存器进行填充。

本文公开了用于BISR的方法、设备和系统的示例性实施例。所公开的方法、装置和系统不应被解释为以任何方式进行限制。相反,本公开针对各个所公开的实施例的所有新颖且非显而易见的特征和方面,各个实施例可以是单独的也可以是彼此进行各种组合和子组合的方式。此外,所公开的实施例的任何特征或方面可用于彼此的各种组合和子组合中或用于与其它方法、装置和系统进行的各种组合和子组合中。所公开的方法、装置和系统不限于任何特定方面或特征或其组合,所公开的实施例也不要求存在任何一个或多个特定优点或解决任何一个或多个特定问题。

美国专利10,134,483、10,014,074、9,852,810、9,799,413、8,775,880、7,757,135、8,295,108、7,898,882、7,415,640和7,149,924描述了其它与BISR相关的问题,这些美国专利通过引用并入本文。

本文公开的实施例中是用于修复BISR过程中的信息存储的过程。所公开的技术通过减少修复信息所需的存储区域、减少修复时间和降低电路复杂度而提供显著的改进。

虽然为了便于呈现而以特定的一系列的顺序次序来描述所公开的方法中的一些方法的操作,但是应当理解,这种描述方式涵盖重新排列,除非通过下面阐述的特定语言要求特定的次序。例如,在某些情况下,可以重新排列或同时地执行按顺序描述的操作。此外,为了简单起见,附图可以未示出所公开方法可以与其它方法结合使用的各种方式。可以在本公开的范围内以任意数量的方式对本文公开的各种元件、步骤和过程进行全部或部分地组合。

另外,该描述有时使用诸如“压缩”的术语来描述所公开的方法。这些术语是执行的实际操作的高级抽象。对应于这些术语的实际操作可根据特定的实现方式而变化,并且是本领域普通技术人员容易辨别的。

所公开技术的实施例可以由存储在一个或多个计算机可读介质(例如,诸如一个或多个光学介质盘、易失性存储器或存储部件(诸如DRAM或SRAM)或非易失性存储器或存储部件(例如硬盘驱动器)的有形的非瞬时性计算机可读介质)上的并且在计算机上执行的计算机可执行指令来执行或创建。这样的实施例可以实现为例如电子设计自动化(electronic-design-automation,EDA)软件工具(例如,自动测试模式生成(automatictest pattern generation,ATPG)工具)。计算机可执行指令可以是例如专用软件应用程序的一部分或经由Web浏览器或其它软件应用(例如远程计算应用)访问或下载的软件应用的一部分。可以使用一个或多个网络计算机在例如单个本地计算机上或在网络环境(例如经由因特网、广域网、局域网、客户端-服务器网络(例如云计算网络)或其它这样的网络)中执行这种软件。为了清楚起见,仅描述了基于软件的实现方式的某些选定方面。本领域公知的其它细节被省略。例如,应当理解,所公开的技术并不限于任何特定的计算机语言、软件工具或计算机。所公开的任何方法可以可替代地在硬件(例如,ASIC、PLD或SoC)中(部分地或完全地)实现。在各个实施例中,可以在连接至如本文所述的电子电路(例如ASIC、PLD、SoC)的ATE或调试站上实现一个或多个过程步骤。

此外,可以将描述任何一个公开的装置的任何电路描述或设计文件,或将利用任何一个公开的方法创建或修改的任何数据结构、数据文件、中间结果或最终结果,存储在一个或多个计算机可读存储介质(例如,有形的非瞬时性计算机可读介质,诸如一个或多个光学介质盘、易失性存储器或存储部件(例如DRAM或SRAM)上,或非易失性存储器或存储部件(诸如硬盘驱动器))上。

此外,任何一个基于软件的实施例(包括例如计算机可执行指令,当计算机执行所述指令时,所述指令使得计算机执行任何一个公开的方法或为任何一个公开的装置创建设计数据)可通过合适的通信装置来发送、接收或访问。例如,服务器计算机可以(例如,在服务器从客户端计算机接收到下载计算机可执行指令的请求之后)向客户端计算机发送用于执行任何一个公开的方法或用于为任何一个公开的装置创建设计数据的计算机可执行指令。

类似地,可以通过合适的通信手段来发送、接收或访问使用任何一个公开的方法创建或修改的或描述任何一个所公开的装置的任何电路描述、设计文件、数据结构、数据文件、中间结果或最终结果。这种合适的通信手段包括例如因特网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括RF通信、微波通信和红外通信)、电子通信、或其它通信手段。这样的通信手段可以是例如共享网络的一部分或专用网络的一部分。

另外,可以使用合适的显示设备(例如,计算机监视器、触摸屏、或其他这样的显示设备)向用户显示由任何一个所公开的方法产生的或描述任何一个所公开的设备的任何电路描述、设计文件、数据结构、数据文件、中间结果或最终结果。这样的显示可以被执行为执行所公开的任何一个方法的计算机实现的方法的一部分。

可以在总体设计流的一个或多个阶段使用或实现所公开的方法或装置。用利用所公开技术的实施例创建或测试的设计来制造的电路也被认为在本公开的范围内。例如,可以利用已知的微光刻技术将描述任何一个公开的测试环境的电路设计制造成集成电路。

可以在EDA环境中执行或设计任何一个所公开的方法或装置。然而,为了呈现的目的,本公开有时可以指被测试的电路(包括被测试电路的各种部件)和由它们的物理对应物(例如,扫描链、扫描单元、铃流发生器、移相器、影像寄存器、控制选通器和其它此类术语)相关联的测试硬件(包括硬件的各种部件)。然而,应当理解,任何这样的参考不仅包括物理部件,而且还包括存储在非瞬时性计算机可读介质上的这类部件的如在模拟、自动测试模式生成或其它这样的EDA环境中使用的表示。例如,可以将所公开的任何一个装置描述或表示为存储在一个或多个计算机可读介质上的设计数据或设计信息。更具体地,可以在HDL文件(例如Verilog、VHDL、或寄存器传输级文件)、门级网表(gate-level netlist)或其它这样的EDA设计文件(例如GDSII文件或Oasis文件)中描述或表示任何一个所公开的测试装置。可以利用适当的EDA软件工具来创建这样的设计数据或设计信息。

本领域技术人员将认识到,为了简洁和清楚,在本文并未描绘或描述适合与本公开一起使用的所有数据处理系统的完整结构和操作。相反,仅描绘和描述了本公开所特有的或理解本公开所必需的大部分的数据处理系统。数据处理系统的构造和操作的其余部分可以符合本领域已知的各种当前实现方式和实践中的任何一种。

重要的是要注意,虽然本公开包括完全功能性系统的上下文中的描述,但是本领域技术人员将理解,本公开的机制的至少一部分能够以包含在机器可用介质、计算机可用介质或计算机可读介质中的指令的形式以各种形式中的任何形式来分布,并且本公开同样适用,而不管用于实际执行分布的指令或信号承载介质或存储介质的特定类型如何。机器可用/可读或计算机可用/可读介质的示例包括:非易失性硬编码类型介质,例如只读存储器(ROM)或可擦除电可编程只读存储器(EEPROM),以及用户可记录类型介质,诸如软盘、硬盘驱动器和光盘只读存储器(CD-ROM)或数字多功能盘(DVD)。

虽然已经详细描述了本公开的示例性实施例,但是本领域的技术人员将理解,可以在不脱离本公开最宽泛形式的精神和范围的情况下对本文公开进行各种改变、替代、变化和改进。在例示和描述了所公开的技术的原理之后,对于本领域技术人员明了的是,可以在不背离这些原理的情况下在布置方式和细节上对所公开的实施例进行修改。鉴于许多可能的实施例,将认识到所例示的实施例仅包括示例,并且不应被视为对所公开的技术的范围的限制。相反,所公开的技术包括各种所公开的装置、方法、系统及其等同物的单独的和彼此进行各种组合和子组合的所有新颖和非显而易见的特征和方面。

本申请中的任何描述都不应被理解为暗示任何特定元素、步骤或功能是必须被包括在权利要求范围中的必要元素:专利主题的范围仅由所允许的权利要求限定。此外,这些权利要求中没有一项旨在援引35USC§112(f),除非精确的词语“用于…手段(means for)”后面有分词。权利要求书中的例如(但不限于)“机制”、“模块”、“设备”、“单元”、“部件”、“元件”、“构件”、“装置”、“机器”、“系统”、“处理器”或“控制器”等术语的使用被理解为并旨在指相关领域的技术人员已知的结构,这些术语通过权利要求书本身的特征被进一步修改或增强,并且并不旨在援引35U.S.C.§112(f)。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于识别手术后处于高复发风险的早期NSCLC患者的预测性测试

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!