可修复的多层存储器芯片堆迭及其方法

文档序号:6739634阅读:157来源:国知局
专利名称:可修复的多层存储器芯片堆迭及其方法
技术领域
本公开涉及一种芯片堆迭,且特别涉及一种可修复的多层存储器芯片堆迭。
背景技术
三维芯片整合技术可用于缩短内连线(interconnection)的导线长度,提高系统运作效率。对于具有规律性架构的电子元件,例如存储器芯片,使用三维芯片整合技术,可依现有的芯片制作方式顺利达成弹性扩充存储器容量,而无须重新布局,另外制作新的光罩来符合新应用硬件的存储器需求。三维整合技术意指通过穿透娃通孔(Through SiliconVia,以下称TSV)内连线工艺将多个半导体芯片堆迭于同一个封装中。存储器芯片内部通常会被置放至少一个冗余(Redundant或Spare)存储器区块,以便修复存储器芯片。

发明内容
本公开提供一种可修复的多层存储器芯片堆迭,其中冗余修复单元可以被用来修复芯片堆迭中的任意存储器芯片。本公开实施例提出一种可修复的多层存储器芯片堆迭。所述芯片堆迭包括多个存储器芯片。这些存储器芯片均耦接至地址总线与数据总线。每一个存储器芯片各自包括控制单元、解码单元、存储器阵列模块以及冗余修复单元。控制单元接收一识别码而对应产生启动信号(activation signal)。解码单元稱接至地址总线以接收存储器地址而产生解码地址(decoded address)。存储器阵列模块I禹接至解码单元以接收该解码地址,以及I禹接至该控制单元以接收该启动信号。其中,存储器阵列模块依据该启动信号来决定是否允许数据总线存取存储器阵列模块中该解码地址所对应的数据。冗余修复单元耦接解码单元,其中该冗余修复单元包括至少一组冗余修复元件(redundant repair element),每一组冗余修复元件由一个有效栏位(valid field)、一个芯片识别栏位(chip ID field)、一个失效地址栏位(a faulty address field)以及一个冗余存储器组成。当在该冗余修复单元中的一组冗余修复元件的有效栏位的值为有效(或致能),且该冗余修复元件的该芯片识别栏位的值吻合该识别码,以及该冗余修复元件的该失效地址栏位的值吻合该解码地址时,则该冗余修复元件的该冗余存储器被耦接至数据总线。另本公开实施例提出一种多层存储器芯片堆迭的修复方法,包括:在一存储器芯片中配置一个冗余修复单元,其中所述冗余修复单元包括至少一组冗余修复元件,每一组冗余修复元件各自包含一有效栏位、一芯片识别栏位、一失效地址栏位以及一冗余存储器;解码一地址总线的一存储器地址,以产生一解码地址与一解码冗余地址;如果一识别码吻合,且解码地址的对应存储器元件为有效,则致能该存储器芯片的一存储器阵列模块的数据存取端口,使一数据总线可以经由该数据存取端口存取该存储器阵列模块;以及若在该冗余修复单元中的一组冗余修复元件的有效栏位的值为有效,且该识别码相符于该冗余修复元件的该芯片识别栏位的值,且该存储器地址相符于该冗余修复元件的该失效地址栏位的值,则致能该冗余修复元件的该冗余存储器,使该数据总线可以存取该冗余存储器。
另本公开实施例提出一种可修复的多层存储器芯片堆迭,包括多个存储器芯片。这些存储器芯片均耦接至地址总线与数据总线。每一个存储器芯片各自包括控制单元、解码单元、存储器阵列、至少一开关控制单元、冗余修复单元、有效遮罩(valid mask)单元以及多个多工器。控制单元接收识别码而对应产生启动信号。解码单元耦接至该地址总线以接收存储器地址,以及产生解码地址与解码冗余地址。存储器阵列耦接至该解码单元以接收该解码地址。依据该启动信号与该解码地址,存储器阵列的多个位线被决定是否允许该数据总线存取对应于该存储器地址的这些位线的数据。所述至少一开关控制单元依照该存储器阵列的一测试结果决定是否致能这些位线的最后位。冗余修复单元耦接该解码单元。该冗余修复单元包括至少一组冗余修复元件,每一组冗余修复元件各自包括一个有效栏位、一个芯片识别栏位以及一个冗余存储器。有效遮罩单元接收该解码地址。有效遮罩单元依照该启动信号与该解码地址决定是否允许该数据总线存取该冗余存储器。所述多个多工器从该有效遮罩单元接收至少一选择信号,以决定这些位线中的何者会被连接至该数据总线。其中,当在该冗余修复单元中的冗余修复元件的有效栏位的值为有效状态,且该冗余修复元件的芯片识别栏位的值吻合该识别码时,在该冗余修复单元中该冗余修复元件的其中一组的冗余存储器被耦接至数据总线。基于上述,本公开实施例由于在冗余修复单元加上用以存储具有失效元件的存储器芯片的识别码或启动码的芯片识别栏位,即可在不需要任何额外的TSV下,达到跨层修复存储器的机制,因此可以通过跨层修复的机制提高三维存储器堆迭的良率,且无需复杂的解码器电路与TSV的设计。为让本公开的 上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。


图1A是依照本公开实施例说明一种可修复的多层存储器芯片堆迭的方块示意图。图1B是依照本公开实施例说明图1A所示多层存储器芯片堆迭的操作流程示意图。图2是依照本公开实施例说明图1A中存储器芯片CHIP_1的方块示意图。图3是依照本公开另一实施例说明图1A中存储器芯片CHIP_1的方块示意图。图4是依据本公开另一实施例说明一种可修复的多层存储器芯片堆迭的方块示意图。图5是依据本公开一实施例说明图4中识别码产生器与控制单元的电路示意图。图6是说明图5在图4堆迭七层存储器时,各堆迭层的启动码的真值表。图7是依照本公开又一实施例说明图1A中存储器阵列中部分字节的方块示意图。图8是依照本公开再一实施例说明图1A中存储器阵列中部分字节的方块示意图。主要元件符号说明100、400:芯片堆迭110_1、110_2、110_N:控制单元120_1 120_N:存储器阵列模块
121:有效遮罩单元
122:逻辑电路
123:存储器阵列
124、240:开关电路
130_Γ130_Ν:冗余修复单元
131、131_B、131_D 131_H:芯片识别栏位
132:失效地址栏位
133、133_A 133_H:冗余存储器
134、134_B、134_D 134_H:有效栏位
150_1 150_N:解码单元
200:冗余控制单元
210、220、1510、1610、1660:比较器
230、1564、1663、1664:与门
310_1、310_2、310_N:识别码产生器
410:存储器控制器
530,810:异或门
1112:或门
1501 1505、1518 1522、1604 1605、1618 1622:位线
1506 1509、1523 1526、1609、1623 1625、1661、1671、1672:模拟多工器
1511、1533、1611、1662:数字多工器。
1512 1514、1527 1529、1613、1614、1627 1629:感测放大器
1515 1517、1530 1532、1616、1617、1630:开关
1551、1552、1651 1654:开关控制单元
AC:启动码
ADB:地址总线
Comew:位
CHIP_1、CHIP_2、CHIP_N:存储器芯片
CMPl:比较器
CS_1 CS_N:启动信号
CSB:芯片选择总线
DAB:数据总线
ID、ID_riD_N:识别码
Red_A Red_H:冗余列修复元件
SC_rSC_N:种子码
S105 S145:步骤
VM:有效遮罩信号具体实施方式
图1A是依照本公开实施例说明一种可修复的多层存储器芯片堆迭100的方块示意图。芯片堆迭100包括多个存储器芯片CHIP_f CHIP_N。这些存储器芯片CHIP_f CHIP_N稱接至地址总线(address bus)ADB与数据总线(data bus)DAB。这些存储器芯片CHIP_fCHIP_N之间使用穿透硅通孔(Through Silicon Via,以下称TSV)连线技术相互传递信号。每一存储器芯片CHIP_1 CHIP_N各自包括解码单元(decoding unit)、控制单元(control unit)、存储器阵列模块(memory array module)以及冗余修复单兀(redundantrepair unit)。例如,存储器芯片CHIP_1包括控制单元110_1、存储器阵列模块120_1、冗余修复单元130_1以及解码单元150_1。其他存储器芯片可以参照存储器芯片CHIP_1的相关说明。例如,CHIP_N包括控制单元110_N、存储器阵列模块120_N、冗余修复单元130_N以及解码单元150_N。为使图式简洁易懂,在图1A中并未绘出存储器阵列模块120_1的其他相关信号路径。本实施芯片堆迭100可以达到跨层修复存储器的功能,例如利用存储器芯片CHIP_1的冗余修复单元130_1去修复存储器芯片CHIP_N的存储器阵列模块120_N。
在芯片堆迭100的后段工艺中,每一存储器芯片CHIP_fCHIP_N的存储器阵列模块可以被测试,以便发现存储器阵列模块中所有失效的存储器元件(faulty memoryelement)。多层存储器芯片堆迭100的修复步骤如下:
首先进行存储器芯片测试,并利用修复算法修复存储器芯片的失效元件,或是存储该存储器芯片的失效地址,以便在存储器完成堆迭并进行最后测试时,将符合具有失效元件的该芯片的识别码与失效地址的值,存入到可以用来修复该失效地址的冗余修复元件。
在堆迭这些存储器芯片之前,将测试过的存储器芯片CHIP_fCHIP_N分成四类,
a.第一类为在堆迭前测试(pre-stacking test)与修复程序完成后,芯片本身尚有冗余修复元件可供其他芯片层修复使用的芯片;
b.第二类为在堆迭前测试与修复程序完成后,无损坏的存储器元件但也无冗余修复元件可供其他芯片层修复使用的芯片;
c.第三类为只坏一小部分存储器元件并可利用其他芯片层上的冗余修复元件修复的芯片;以及
d.第四类为具有过多损坏的存储器元件而无法利用其他芯片层的冗余修复元件完全修复的存储器,此类的存储器芯片将无法用于3D存储器堆迭。
在进行存储器堆迭时,只能使用第一类、第二类、与第三类存储器芯片。
并在进行存储器堆迭前,如果该存储器堆迭100中有第三类存储器芯片时,则先计算该堆迭中所有第三类存储器所需要的冗余修复元件的数目,并在该堆迭100中,使用至少一个第一类存储器芯片,且该(或这些)存储器芯片可用的冗余修复元件的数目必须大于或等于所需要的冗余修复元件的数目。
当检测到第三类存储器已损坏的存储器元件时,需将第三类存储器的识别码(ID)与已损坏的存储器元件地址存储到第一类存储器芯片的可用的冗余修复元件中,并重复此步骤,直到所有损坏的存储器元件的芯片识别码与损坏的存储器元件地址都存储到可用的冗余修复元件为止。
图1B是依照本公开实施例说明图1A所示多层存储器芯片堆迭100的操作流程示意图。请参照图1A与图1B。存储器芯片CHIP_fCHIP_N*别接收存储器地址与识别码(步骤S105)。解码单元150_1耦接至地址总线ADB以接收存储器地址。解码单元150_1可以解码地址总线ADB的存储器地址,以便产生对应的解码地址(decoded addresses)给存储器阵列模块120_1,和/或是产生对应的解码冗余地址(decoded redundant addresses)给冗余修复单元130_1。其中解码地址包含解码行地址(decoded row addresses)与解码列地址(decoded column addresses),而解码冗余地址包含解码冗余行地址(decoded redundantrow addresses)与解码冗余列地址(decoded redundant column addresses)。在一些实施例中,解码单元150_1可以共用同一个预解码单元(pre-decoder unit)对地址总线ADB的存储器地址进行解码,而将预解码单元输出的解码结果作为解码地址与解码冗余地址。在另一些实施例中,解码单元150_1是使用不同的预解码单元对地址总线ADB的存储器地址进行解码,而各自产生解码地址与解码冗余地址。在另一些实施例中,解码单元150_1则不进行预解码而直接将地址总线ADB的存储器地址作为解码地址或解码冗余地址。
存储器阵列模块120_1与解码单元150_1也可以是存储器技术领域的其他公知技术。不论存储器阵列模块120_1与解码单元150_1的实现方式为何,亦不论存储器(含冗余存储器133)的类型为易失性存储器(volatile memory)或非易失性存储器(non-volatilememory),其皆可以应用于本实施例中。
控制单元110_1接收并检查识别码ID_1而对应产生启动信号CS_1 (步骤S105)。如果识别码ID_1吻合,则启动信号CS_1为致能。存储器阵列模块120_1耦接至控制单元110_1以接收启动信号CS_1。存储器阵列模块120_1决定是否允许数据总线DAB存取存储器阵列模块120_1中该存储器地址所对应的数据(步骤S110)。如果启动信号CS_1为禁能时,存储器阵列模块120_1的数据存取端口会被禁能(步骤SI 15)。当存储器芯片CHIP_1被选择时(即启动信号CS_1为致能),则存储器控制器可以经由地址总线ADB与解码单元传送存储器地址给存储器阵列模块120_1。存储器阵列模块120_1会进行步骤S120,以便检查地址总线ADB的存储器地址所对应的存储器元件是否失效(faulty)(步骤S120),例如检查存储器阵列模块120_1的解码地址的有效遮罩(valid mask)的值是否致能(或有效)。如果目前的解码地址所对应的存储器元件为失效,即目前的解码地址的有效遮罩的值为失效(或禁能),则存储器阵列模块120_1的数据存取端口会被禁能(步骤S115)。如果目前的解码地址所对应的存储器元件不是失效,则存储器阵列模块120_1的数据存取端口会被致能(步骤S125),然后数据总线DAB可以经由数据存取端口存取存储器阵列模块120_1的目前解码地址的数据。
冗余修复单元130_1耦接解码单元150_1与数据总线DAB。冗余修复单元130_1包括至少一组冗余修复元件(redundant repair element)。冗余修复单元130_N^接解码单元150_N与数据总线DAB,而冗余修复单元130_N亦包括至少一组冗余修复元件。其中冗余修复元件依其修复电路,可为冗余行修复元件或冗余列修复元件。如同绘示于图1A中冗余修复单元130_1 —般,每一组冗余修复元件各自包括一个芯片识别栏位131、一个失效地址栏位132、一个冗余存储器133以及一个有效栏位134。当在该冗余修复单元中的一组冗余修复元件的该有效栏位134的值表示有效,且该冗余修复元件的该芯片识别栏位131的值吻合识别码ID_1,以及该冗余修复元件的该失效地址栏位132的值吻合解码单元150_1的解码地址时,在冗余修复单元130_1中该冗余修复元件的该冗余存储器133被耦接至数据总线DAB。依冗余修复单元130_1的电路类型,上述失效地址栏位132的值可以是行地址(row address)或是列地址(column address),同样地,依冗余修复单元130_1的电路类型,上述冗余存储器133可为冗余行存储器或冗余列存储器,且冗余行存储器或冗余列存储器所修复的存储器阵列,不限定于修复存储器阵列中的其中一行或其中一列,也可是修复存储器阵列中的多行区块或多列区块。
在芯片堆迭100的后段工艺中,每一存储器芯片CHIP_f CHIP_N的存储器阵列模块可以被测试,以便发现存储器阵列模块中失效的存储器元件(faulty memory element)。例如,存储器芯片CHIP_1的存储器阵列模块120_1中地址为X所对应的存储器元件是失效,则在芯片堆迭100的后段工艺中,地址X经过解码单元所产生的解码冗余地址dec_redundant_X可以被存储于存储器芯片CHIP_1的冗余修复单元130_1的其中一组冗余修复元件的失效地址栏位132,而存储器芯片CHIP_1的识别码ID_1 (或是对应于启动存储器芯片CHIP_1的其他识别信息)可以被存储于该冗余修复元件的芯片识别栏位131。
当存储器芯片CHIP_1的存储器阵列模块120_1中地址为X所对应的存储器元件被存取时,存储器芯片CHIP_1会接收到存储器芯片CHIP_1的识别码以及存储器地址X(步骤S105)。冗余修复单元130_1接着进行步骤S130,以便比较所有冗余修复元件的芯片识别栏位131的值是否符合步骤S105所接收到的识别码。如果在冗余修复单元130_1中冗余修复元件的芯片识别栏位131的值皆不符合所接收到的该识别码,则在该(或这些)芯片识别栏位131的值所对应的冗余修复元件内的冗余存储器133会被禁能(步骤S135)。如果冗余修复元件内的芯片识别栏位的值符合步骤S105所接收到的该识别码,则冗余修复单元130_1接着进行步骤S140,以便检查该冗余修复元件的失效地址栏位132的内容是否符合步骤S105所接收到的解码冗余地址。如果冗余修复元件内的芯片识别栏位的值不符合,则在失效地址栏位132所对应的冗余修复元件中的冗余存储器133会被禁能(步骤S135)。如果冗余修复元件内的芯片识别栏位的值符合步骤S105所接收到的该识别码,且对应于失效地址栏位132的地址值符合步骤S105所接收到的解码冗余地址,则在对应的该冗余修复元件内的冗余存储器133会被致能(步骤S145)。因此,在冗余修复单元130_1的对应冗余修复元件内的冗余存储器133可以被用来取代存储器阵列模块120_1中地址为X所对应的失效元件。因此,冗余修复单元130_1可以被用来修复所属存储器芯片CHIP_1的存储器阵列模块120_1。对于每一个存储器地址,只能对应到该存储器芯片堆迭的其中一个存储器芯片中的存储器阵列模块的存储器元件或一组冗余修复元件。
再例如,假设存储器芯片CHIP_N的存储器阵列模块120_N中地址为Y所对应的存储器元件是失效元件,则在芯片堆迭100的后段工艺中,地址Y经过解码单元所产生的解码地址dec_redundant_Y可以被存储于存储器芯片CHIP_1的冗余修复单元130_1的其中一组对应冗余修复元件的失效地址栏位132,而存储器芯片CHIP_N的识别码ID_N (或是对应于启动存储器芯片CHIP_N的其他识别信息)可以被存储于存储器芯片CHIP_1的冗余修复单元130_1的对应冗余修复元件的芯片识别栏位131。当存储器芯片CHIP_N的存储器阵列模块120_N中地址为Y所对应的存储器元件被存取时,由于该芯片识别栏位131与该失效地址栏位132内容分别符合冗余修复单元130_1所接收的识别码与解码冗余地址,因此存储器芯片CHIP_1的冗余修复单元130_1中的对应冗余修复元件的冗余存储器133可以被用来取代存储器芯片CHIP_N的存储器阵列模块120_N中地址为Y的失效存储器元件。因此,冗余修复单元130_1可以被用来跨层修复其他存储器芯片CHIP_N的存储器阵列模块120_N。通过本实施例所公开的跨层修复技术可以提高三维存储器堆迭的良率,且无需复杂的解码器电路与增加大量额外的TSV。
上述存储器芯片CHIP_f CHIP_N各自接收的识别码ID_f ID_N可以是来自芯片选择总线的同一个识别码,也可以是由识别码产生器所产生的不同识别码。也就是说,识别码ID_1 ID_N可以是相同码或不同码(distinct codes)。如果识别码ID_1 ID_N是相同码,则内建于存储器芯片CHIP_f CHIP_N的控制单元中的所有启动码彼此不相同。如果识别码ID_f ID_N是彼此不同,则内建于存储器芯片CHIP_fCHIP_N的控制单元中的所有启动码是相同码。所述相同/不相同识别码的实现细节将在稍后诸实施例中详述。因此,如果要利用存储器芯片CHIP_1的冗余修复元件来修复存储器芯片CHIP_N的失效元件,则当对应识别码ID_N启动存储器芯片CHIP_N时,存储器芯片CHIP_1的识别码ID_1的值被存储到存储器芯片CHIP_1的冗余修复单元130_1的冗余修复元件的芯片识别栏位131。
图2是依照本公开实施例说明图1A中存储器芯片CHIP_1修复行(rows)存储器的方块示意图。本实施例将说明“相同识别码”的应用范例。芯片堆迭100中其他存储器芯片(例如CHIP_N)可以参照存储器芯片CHIP_1的相关说明。在本实施例中,所有存储器芯片CHIP_f CHIP_N的控制单元(例如控制单元110_1)皆耦接至芯片选择总线CSB以接收同一个识别码ID。这些存储器芯片CHIP_f CHIP_N的控制单元各自内建互不相同的启动码AC,例如存储器芯片CHIP_1的控制单元110_1内建的启动码AC为AC_1,而存储器芯片CHIP_N的控制单元110_N内建的启动码AC为AC_N。
图2中各芯片层的启动码AC可在工艺中内建在电路上,或是使用保险丝电路设定启动码AC。例如,在芯片堆迭之前或过程中去设定(programming)在不同存储器芯片上的保险丝电路,以便产生不同的启动码。或是,使用启动码产生器(如加法器)产生各自不同且固定的启动码。不论是预先定义的启动码或用启动码产生器产生的启动码,在同一个存储器芯片堆迭里, 每一个存储器芯片都拥有各自不同的(唯一的)启动码。
存储器控制器可以通过芯片选择总线CSB将识别码ID同时输出给所有存储器芯片CHIP_fCHIP_N的控制单元110_f 110_N,以便选择性地启动存储器芯片CHIP_1 CHIP_N的其中一个芯片。在控制单元110_1 110_Ν各自内建一个比较器,例如控制单元110_1内建比较器CMP_1。比较器CMP_1可以比较芯片选择总线CSB的识别码ID与控制单元110_Γ110_Ν内建的启动码AC_1是否相同。
当芯片选择总线CSB的识别码ID相符于这些存储器芯片CHIP_f CHIP_N中第i芯片CHIP_i的控制单元110_i内建的启动码AC_i时,该第i芯片CHIP_i的控制单元110_i启动第i芯片CHIP_i的存储器阵列模块。例如,当比较器CMP_1检测芯片选择总线CSB的识别码ID相符于存储器芯片CHIP_1的控制单元110_1内建的启动码AC_1且有效遮罩单元121的输出信号为真(代表存储器地址所对应的存储器元件为有效)时,存储器芯片CHIP_1的控制单元110_1输出启动信号CS以便启动存储器芯片CHIP_1的存储器阵列模块120_1。
请参照图2,在本实施例中,存储器阵列模块120_1包括存储器阵列(memoryarray) 123、有效遮罩单元121、逻辑电路122以及开关电路124。解码单元150_1解码地址总线ADB的存储器地址,然后输出对应的解码地址给存储器阵列123与有效遮罩单元121,以及产生对应的解码冗余行地址给冗余修复单元130_1。有效遮罩单元121耦接解码单元150_1以接收该解码地址而对应产生有效遮罩信号VM。有效遮罩单元121为一可编程的逻辑元件(如保险丝),在进行存储器芯片测试程序时,可存储该存储器阵列的各行有效状态。逻辑电路122接收启动信号CS以及有效遮罩单元121的有效遮罩信号VM,并将输出信号至存储器阵列123与开关电路124。当存储器地址所对应的存储器元件失效时,则有效遮罩信号VM被设定为禁能状态,以关闭存储器阵列与开关电路124,否则有效遮罩信号VM被设定为致能状态。控制单元110_1的启动信号CS以及有效遮罩单元121的有效遮罩信号VM控制存储器阵列123是否致能或禁能。耦接于存储器子阵列123与数据总线DAB之间的开关电路124受控于逻辑电路122的输出信号。开关电路124是开关电路,其可以是传输门(transmission gate)、三态缓冲器(tr1-state buffer)等各种开关。当启动信号CS与有效遮罩单元121的有效遮罩信号VM均为致能时,开关电路124为致能,以便允许数据总线DAB存取存储器阵列123。除此之外,开关电路124为禁能,因此数据总线DAB无法存取存储器阵列123。
在本实施例中,冗余修复单元130_1还包括多个冗余控制单元200。冗余控制单元200接收所属冗余修复元件的有效栏位134、芯片识别栏位131与失效地址栏位132的值,以及依据这些值决定是否将该所属冗余修复元件的冗余存储器133耦接至数据总线DAB。每一个冗余控制单元200各自包含第一比较器210、第二比较器220、与门230以及开关电路240。第一比较器210的第一输入端接收芯片选择总线CSB的识别码ID。第一比较器210的第二输入端耦接至对应的芯片识别栏位131。当芯片选择总线CSB的识别码ID符合芯片识别栏位131的值时,第一比较器210输出的逻辑值为真,否则为伪。
第二比较器220的第一输入端接收解码单元150_1所输出的解码冗余行地址。第二比较器220的第二输入端耦接至对应的失效地址栏位132。当解码单元150_1的解码冗余行地址符合失效地址栏位132的值时,第二比较器220输出的逻辑值为真,否则为伪。
与门230的第一输入端I禹接至第一比较器210的输出端,与门230的第二输入端耦接至第二比较器220的输出端。与门230的第三输入端耦接至对应的有效栏位134。因此,如果有效栏位134的值为真,则此有效栏位134所对应的芯片识别栏位131与失效地址栏位132的值为有效,否则芯片识别栏位131与失效地址栏位132的值为无效。
与门230的输出端耦接至对应的冗余修复元件中的冗余行存储器133与开关电路240的控制端。开关电路240的第一端与第二端分别耦接对应的冗余修复元件中的冗余行存储器133与数据总线DAB。只有当有效栏位134的值为真时,与门230可以依照比较器210与220的输出来控制开关电路240。与门230可以决定是否致能对应的冗余修复元件中的冗余行存储器133,以及致能开关电路240以便允许数据总线DAB耦接至在对应的冗余修复元件中的冗余行存储器133。冗余行存储器133依设计需求可为单一行(row)修复或多行(multiple rows)的群组修复。
例如,存储器阵列123中行地址为X的存储器元件是失效元件,则行地址X经过解码单元所产生的解码冗余行地址deC_redundant_X可以被存储于冗余修复单元130_1中的其中一个冗余修复元件的失效地址栏位132,而存储器芯片CHIP_1的启动码AC_1可以被存储于冗余修复单元130_1的该冗余修复元件的芯片识别栏位131。此时,该冗余修复元件的有效栏位134的值会被对应设为“真”。当存储器控制器欲存取存储器芯片CHIP_1的存储器子阵列123中地址为X的存储器元件时,存储器控制器会通过芯片选择总线CSB输出内容值为AC_1的识别码ID给存储器芯片CHIP_f CHIP_N。由于芯片选择总线CSB的识别码ID符合该芯片识别栏位131的值(即启动码AC_1),因此第一比较器210输出的逻辑值为真。另一方面,由于解码单元150_1输出的解码冗余行地址(即地址dec_redundant_X)符合失效地址栏位132的值,因此第二比较器220输出的逻辑值为真。当在比较器210与220的输出同时为真,且有效栏位134的值为真时,与门230会致能在对应的冗余修复元件中的冗余行存储器133,以及致能对应的开关电路240以便允许数据总线DAB耦接至此对应的冗余行存储器(冗余行存储器133)。至此,冗余修复单元130_1的冗余修复元件中的冗余行存储器133可以被用来取代存储器阵列123中行地址为X所对应的失效存储器元件。因此,冗余修复单元130_1可以修复所属存储器芯片CHIP_1的存储器阵列123。
再例如,请参照图1A与图2,假设存储器芯片CHIP_N的存储器阵列中地址为Y所对应的存储器元件是失效元件,则地址Y经过解码单元所产生的解码冗余行地址dec_redundant_Y可以被存储于存储器芯片CHIP_1的冗余修复单元130_1的其中一组冗余修复元件的失效地址栏位132,而存储器芯片CHIP_N的启动码AC_N可以被存储于存储器芯片CHIP_1的冗余修复单元130_1中的该冗余修复元件的芯片识别栏位131。此时,该冗余修复元件的有效栏位134的值会被对应设为“真”。当存储器控制器欲存取存储器芯片CHIP_N的存储器子阵列中地址为Y所对应的存储器元件时,存储器控制器会通过芯片选择总线CSB输出内容为AC_N的识别码ID给存储器芯片CHIP_f CHIP_N。由于芯片选择总线CSB的识别码ID符合该芯片识别栏位131的值(即启动码AC_N),因此第一比较器210输出的逻辑值为真。另一方面,由于解码单元150_1输出的解码冗余行地址(值为dec_redundant_Y)符合失效行地址栏位132的值(即地址dec_redundant_Y),因此第二比较器220输出的逻辑值为真。在比较器210与220的输出同时为真的情况下,且该有效栏位134的值为真,则与门230会致能在对应的冗余行存储器中的冗余行存储器133,以及致能对应的开关电路240以便允许数据总线DAB耦接至在此对应的冗余行存储器中的冗余行存储器133。至此,在存储器芯片CHIP_1的冗余修复单元130_1的对应冗余行存储器中的冗余行存储器133可以被用来取代存储器芯片CHIP_N的存储器阵列中地址为Y所对应的失效存储器元件。因此,存储器芯片CHIP_1的冗余修复单元130_1可以被用来跨层修复其他存储器芯片CHIP_N的存储器阵列。
本公开的实施方式并不限于图2所述。例如,图3是依照本公开另一实施例说明图1A中存储器芯片CHIP_1修复行存储器的方块示意图。本实施例将说明“不相同识别码”的应用范例。芯片堆迭100中其他存储器芯片(例如CHIP_N)可以参照存储器芯片CHIP_1的相关说明。图3所不实施例可以参照图1A、图1B与图2的相关说明。不同于图2所示实施例之处,在于图3所示实施例中控制单元110_1是耦接至识别码产生器(IDgenerator) 310_1,而不是耦接至芯片选择总线CSB。识别码产生器310_1可以依照“种子码” SC_1产生循环码(cyclic code)作为识别码ID_1。在本实施例中,存储器控制器可以输出“种子码”SC_1给识别码产生器310_1来启动或不启动存储器芯片CHIP_1。识别码产生器310_1与控制单元110_1的实施方式于下详述。
图4是依据本公开另一实施例说明一种可修复的多层存储器芯片堆迭400的方块示意图。图4所示实施例可以参照图1A与图3的相关说明。例如,虽然图4所示实施例虽未绘示冗余修复单元,然而本领域的技术人员可以理解图4所示实施例每一存储器芯片CHIP_fCHIP_N各自包括冗余修复单元,而这些冗余修复单元的实现细节可以参照图1A中冗余修复单元的相关说明。芯片堆迭400包括存储器控制器410与N个芯片(例如第一芯片CHIP_1、第二芯片CHIP_2与第N芯片CHIP_N)。这些芯片之间可以通过TSV与导电凸块(bump)彼此电性连接。
通过芯片选择信号CS_f CS_N的控制,芯片CHIP_f CHIP_N的存储器阵列模块可以选择是否被启动。例如,芯片选择信号CS_1可以决定是否启动第一芯片CHIP_1的存储器阵列模块120_1,而芯片选择信号CS_N可以决定是否启动第N芯片CHIP_N的存储器阵列模块120_N。
与图1A所示芯片堆迭100相比,图4所示多层存储器芯片堆迭400还包含N个识别码产生器(例如第一识别码产生器310_1、第二识别码产生器310_2与第N识别码产生器310_N),以及N个控制单元(例如第一控制单元110_1等)。第i识别码产生器310_i配置于这些芯片CHIP_f CHIP_N中的第i芯片CHIP_i中,其中i为1、的整数。例如,第一识别码产生器310_1配置于第一芯片CHIP_1中,第二识别码产生器310_2配置于第二芯片CHIP_2中,而第N识别码产生器310_N配置于第N芯片CHIP_N中。以下将说明第一芯片CHIP_1与第二芯片CHIP_2的实现方式,其他芯片(例如第N芯片CHIP_N)可以类推之。
这些识别码产生器310_f 310_N中第一识别码产生器310_1接收第一种子码SC_1,并且依据第一种子码SC_1而对应地产生第一识别码ID_1与第二种子码SC_2。其它第i识别码产生器310_i电性连接至第1-Ι个识别码产生器121_(1-l)以接收第i种子码SC_i,并且依据第i种子码SC_i而对应地产生第i识别码ID_i与第i+Ι种子码SC_(i+l),其中所述第一识别码ID_1至第N识别码ID_N互不相同。例如,第二识别码产生器310_2电性连接至第一个识别码产生器310_1以接收第二种子码SC_2,并且依据该第二种子码SC_2而对应地产生第二识别码ID_2与第三种子码SC_3。存储器控制器410电性连接至第一识别码产生器310_1,以供应第一种子码SC_1。第一识别码产生器310_1依据第一种子码SC_1而对应地产生第一识别码ID_1与第二种子码SC_2。
其中,存储器芯片CHIP_fCHIP_N中第i芯片CHIP_i的控制单元110_i耦接至所述第i识别码产生器310_i以接收该第i识别码ID_i做为所述识别码ID。这些控制单元110_Γ110_Ν内部的启动逻辑各自内建相同的启动码AC。控制单元可以任何方式实现,例如解码器或比较器等 逻辑电路,以便解码比较所接收的第i识别码ID_i与内部的启动码AC是否相符。在完成芯片堆迭后,控制单元110_f 110_N内建的上述启动码AC是相同的且不可变的,而上述识别码ID_f ID_N是可变的。当存储器芯片CHIP_f CHIP_N中第i芯片CHIP_i的控制单元110_i所接收的第i识别码ID_i相符于启动码AC时,第i芯片CHIP_i的控制单元110_i启动第i芯片CHIP_i的存储器阵列模块。
例如,存储器芯片CHIP_1的控制单元110_1电性连接至第一识别码产生器310_1以接收第一识别码ID_1。当控制单元110_1所接收的第一识别码ID_1与控制单元110_1内建的启动码AC相符时,控制单元110_1会输出芯片选择信号CS_1以启动第一芯片CHIP_1的存储器阵列模块120_1。其他存储器芯片CHIP_2 CHIP_N可以参照存储器芯片CHIP_1的相关说明。第二识别码产生器310_2电性连接至第一识别码产生器310_1以接收第二种子码SC_2,并且依据第二种子码SC_2而对应地产生第二识别码ID_2,其中第一识别码ID_1与第二识别码ID_2互不相同。另外,第二识别码产生器310_2依据第二种子码SC_2而对应地产生第三种子码SC_3给下一芯片的识别码产生器。第二存储器芯片CHIP_2的控制单元110_2的实施方式等同第一存储器芯片CHI_P1的控制单元110_1。以此类推,第N识别码产生器310_N接收前一芯片的识别码产生器所提供的第N种子码SC_N,并且依据第N种子码SC_N而对应地产生第N识别码ID_N给第N存储器芯片CHIP_N的控制单元110_N,其中第N识别码ID_N不相同于第一识别码ID_1与第二识别码ID_2。
本实施例只要求识别码产生器310_f310_N在堆迭后可产生互不同的识别码即可,而不限制识别码产生器310_f310_N的实现方式。例如,识别码产生器310_f310_N可以是循环码产生器(cyclic code generator)或组合逻辑(combinational logic)电路。在芯片CHIP_fCHIP_N的电路设计与布局结构必须一致的某一些实施例中,可用线性反馈位移暂存器(Linear Feedback Shift Register,以下简称LFSR)的组合逻辑电路来实践此识别码产生器310_1 310_Ν。以下将详述识别码产生器310_1 310_Ν与控制单元110_广110_N的详细实施范例。
本实施例所 述三维堆迭半导体芯片的识别码产生器310_f310_N采用循环码产生器的运作原理,将循环码产生器的在时间上的状态变化转换成以组合逻辑电路来完成在空间上的逻辑序列。在每个堆迭半导体芯片CHIP_f CHIP_Ni皆实现一个结构相同的识别码产生器310_1 310_Ν。图4所示,当存储器芯片CHIP_fCHIP_N堆迭起来时,每层芯片的识别码产生器会依芯片堆迭的顺序串联起来。在最靠近存储器控制器410的堆迭半导体芯片CHIP_1接收来自存储器控制器410发出的第一种子码SC_1。依据前一个邻层芯片所产生的识别码,每层芯片的识别码产生器可产生新的识别码,并将此新的识别码传输到下一个邻层芯片。因此,每层堆迭芯片的识别码可依据此第一种子码SC_1来做改变,而所有芯片层分别接收不相同的识别码。此即所谓“不相同识别码”。
图5是依据本公开一实施例说明图4中识别码产生器310_f310_N与控制单元110_Γ110_Ν的电路示意图。在本实施例中,识别码产生器310_1 310_Ν的实施方式为参照l+x2+x3的LFSR的组合逻辑电路部分所实践。以图5与图4的识别码产生器310_1为例,其中第一种子码SC_1包含C2、C1与Ctl等位,而第二种子码包含C2 nOT、Cl new与Cci mw等位。C2X1等位通过绕线方式分别移位(shift)至Cl nrat与Cci mw等位,此方式即所谓的绕线位移。识别码产生器310_1中异或门810的输入端接收C1与Ctl信号,而产生输出端信号至位C2 其他识别码产生器(例如310_2与310_N)的实施方式则与310_1相同。控制单元110_f 110_N是以具有3输入端的与门实现。如图5所示,当3个输入全部为逻辑I时,与门的输出才为I。因此,控制单元110_f 110_N各自内建相同的启动码AC,也就是“ 111”。当然,本领域的技术人员可以依据本实施例的教示,而将启动码AC定义为其他值。在本实施例中,例如,如果要启动第二芯片CHIP_2,则存储器控制器410输出“110”给第一识别码产生器310_1当作第一种子码SC_1。如果要启动第一芯片CHIP_1,则存储器控制器410输出“111”给第一识别码产生器310_1当作第一种子码SC_1。如果芯片CHIP_f CHIP_N全都不要启动,则存储器控制器410可以输出失能码(disable code) “000”给第一识别码产生器310_1当作第一种子码SC_1。因此本实施例可达到利用“不相同识别码”选择芯片的方式。
图6是说明图5在图4堆迭七层存储器时,启动各堆迭层的真值表。例如,当存储器控制器410的输出第一种子码SC_1为“111”,可启动存储器芯片CHIP_1。当第一种子码SC_1为“100”,可启动存储器芯片CHIP_5。其余以此类推。当不启动任何一层时,则第一种子码SC_1为“000”,如图6中最后一列。前述对应于启动存储器芯片CHIP_fCHIP_N的其他识别信息,可从图6真值表中得知。例如,当存储器控制器410启动芯片CHIP_1而输出第一种子码SC_1为“111”时,其它存储器芯片CHIP_2飞HIP_7对应于启动存储器芯片CHIP_1的识别信息,在于识别码ID_2 ID_7分别为“011”、“001”、“100”、“010”、“101”与“110”。例如,当芯片CHIP_5接收到识别码ID_5为“010”时,存储器芯片CHIP_1是被启动的,因此芯片CHIP_5可以将“010”视为“对应于启动存储器芯片CHIP_1的其他识别信息”。故当欲以芯片CHIP_5的其中一组冗余修复元件修复芯片CHIP_1的失效存储器元件时,该冗余修复元件中的芯片识别栏位的存储值为“010”,即可修复芯片CHIP_1中的失效存储器元件。
图7是依照本公开又一实施例说明图1A中存储器阵列中修复部分位的方块示意图,亦即本领域技术人员所称的存储器列(column)修复。在此实施例中,仅示范最后三个位线(bit line)与两个冗余列修复元件Red_A与Red_B,可被用来修复在同层中最多两个失效列以及在其他层中最多一个失效列,本领域技术人员可以依照本实施例的教示而类推至其他位线数量失效的情况。其他存储器芯片(例如CHIP_1)可以参照存储器芯片CHIP_N的相关说明。
请参照图1A与图7,可修复的多层存储器芯片堆迭包括多个存储器芯片(例如0ΗΙΡ_Γ0ΗΙΡ_Ν)。这些存储器芯片CHIP_f CHIP_N均耦接至地址总线ADB与数据总线DAB。每一个存储器芯片各自包括控制单元、解码单元、存储器阵列、至少一开关控制单元、冗余修复单元、有效遮罩单元以及多个多工器。例如,存储器芯片CHIP_N包含一控制单元110_N、一解码单元150_N、一存储器阵列(其输出包含多个位线,如1501、1502与1503等)、一有效遮罩单元121_N(可在存储器芯片测试时,存储器各列的有效状态)、多个多工器(如1506、1507、1508、1509及1511,以选择输出位。其中1506、1507、1508与1509为模拟多工器,1511为数字多工器)、至少一个开关控制单元1551 (用以在启动信号CS_N启动存储器芯片CHIP_N时,依照修复算法产生逻辑值“I”或“O”来致能或禁能开关1517)、多个感测放大器(Sense Amplif ier,如1512、1513及1514,以检测位线的输出值)、多个开关(如1515、1516及1517,以耦接感测放大器至数据总线DAB)、以及冗余修复单元130_N。在本实施例中,冗余修复单元130_N包括两个冗余列修复元件Red_A与Red_B。
请参照图1A与图7,控制单元110_N接收识别码ID以对应地产生启动信号CS_N。解码单元150_Ν.接至地址总线ADB以接收存储器地址,以及产生解码地址与解码冗余地址。存储器阵列模块120_N的存储器阵列耦接至解码单元150_Ν以接收该解码地址。依据该启动信号CS_N与该解码地址,该存储器阵列的多个位线被决定是否允许该数据总线DAB存取对应于该存储器地址的这些位线的数据。所述至少一开关控制单元(例如1551)依照存储器阵列模块120_N的存储器阵列的测试结果决定是否致能这些位线的最后位(lastbit (s),例如位线1503)。冗余修复单元130_N稱接该解码单元150_N。该冗余修复单元130_N包括至少一组冗余修复元件(例如冗余修复元件Red_A或Red_B),每一组冗余修复元件各自包括一个有效栏位、一个芯片识别栏位以及一个冗余存储器。在本实施例中,冗余修复元件Red_B包括一个有效栏位134_B、一个芯片识别栏位131_B以及一个冗余存储器133_B。
有效遮罩单元121_N接收该解码地址。有效遮罩单元121_N依照该启动信号CS_N与该解码地址决定是否允许该数据总线DAB存取该冗余存储器(例如冗余存储器133_A或133_B)。图7所示多个多工器从该有效遮罩单元121_N接收至少一选择信号,以决定这些位线中的何者可以被连接至数据总线DAB。其中,当在该冗余修复单元中的冗余修复元件的有效栏位(例如冗余修复元件Red_B的有效栏位134_B)的值为有效状态,且该冗余修复元件的芯片识别栏位(例如冗余修复元件Red_B的芯片识别栏位131_B)的值吻合该识别码时,在该冗余修复单元130_N*该冗余修复元件的其中一组的冗余存储器(例如冗余存储器133_B)被耦接至数据总线DAB。
开关控制单元1551所产生的逻辑值“I”或“O”可以在存储器芯片CHIP_N的存储器阵列的修复过程中被内建于开关控制单元1551。在一些实施例中,保险丝电路可以被用来实现开关控制单元1551,以便于设定(program)保险丝电路去产生逻辑值(“I”或“O”)。如果存储器芯片CHIP_N的冗余列修复元件(例如Red_A与Red_B)的数量足够修复在同一个芯片层中(即存储器芯片CHIP_N)存储器阵列的所有失效列,则开关控制单元1551可以被设定产生逻辑值“I”。如果存储器芯片CHIP_N的冗余列修复元件(例如Red_A与Red_B)的数量不够修复在同一个芯片层中(即存储器芯片CHIP_N)存储器阵列的所有失效列,则开关控制单元1551可以被设定产生逻辑值“O”。
其中冗余列修复元件Red_A仅可使用于修复在同层中的失效列,且其修复的列系依靠多工器来切换至正确的列地址,故可节省芯片识别栏位131、解码地址132与有效栏位134,仅保留冗余列存储器133_A。冗余列修复元件Red_B可同时使用于同层修复与跨层修复,且其跨层修复的列仅限定于最后一列(亦即解码地址永远耦接最后列),故可解省其解码地址132,仅保留有效栏位134_B、芯片识别栏位131_B与冗余列存储器133_B。
相类似地,存储器芯片CHIP_1包含多个位线(例如1518、1519、1520)、有效遮罩单元121_1、多个多工器(例如1523、1524、1525、1526、1533用来选择输出位,其中1523、1524、1525与1526为模拟多工器,1533为数字多工器)、开关控制单元1552、多个感测放大器(例如1527、1528、1529用来检测位线的输出值)、多个开关(例如1530、1531、1532用来将感测放大器耦接至数据总线DAB)、以及二个冗余列修复元件Red_C与Red_D。
逻辑值(“I”或“O”)可以在存储器芯片CHIP_1的存储器阵列的修复过程中被内建于开关控制单元1552。在一些实施例中,保险丝电路可以被用来实现开关控制单元1552,以便于设定(program)保险丝电路去产生逻辑值(“I”或“O”)。如果存储器芯片CHIP_1的冗余列修复元件(例如Red_C与Red_D)的数量足够修复在同一个芯片层中(即存储器芯片CHIP_1)存储器阵列的所有失效列,则开关控制单元1552可以被设定产生逻辑值“I”。如果存储器芯片CHIP_1的冗余列修复元件(例如Red_C与Red_D)的数量不够修复在同一个芯片层中(即存储器芯片CHIP_1)存储器阵列的所有失效列,则开关控制单元1552可以被设定产生逻辑值“O”。
冗余列修复元件Red_C仅可使用于修复在同层中的失效列,而其修复列经由多工器被切换至正确的地址,故可节省芯片识别栏位131、解码地址132与有效栏位134,仅保留冗余列存储器133_C。冗余列修复元件Red_D可使用于修复在同层中的失效列与在其他层中的另一失效列,而其跨层修复列亦限定为最后列(即解码地址固定耦接至最后列),故可解省其解码地址132,仅保留有效栏位134_D、芯片识别栏位131_D与冗余列存储器133_D。
在解码单元150_N输出的解码地址所对应的所有位皆为良好的情况下,有效遮罩单元121_N于存储器芯片测试时所存储的列(columns)有效状态,使存储器阵列模块120_N会控制多工器1506去选择输出位线1501的值,控制多工器1507去选择输出位线1502的值,以及控制多工器1508去选择输出位线1503的值。同时因所有列皆为良好而无须修复,故开关控制单元1551的逻辑值被设定为“I”。存储器控制器可以通过芯片选择总线CSB提供识别码ID给控制单元110_N而致能存储器阵列模块120_N。例如,存储器控制器通过控制单元110_N而致能开关1515与1516。关于开关1517,由于控制单元110_N输出的启动信号CS_N为真,使得多工器1511输出开关控制单元1551的逻辑值“I”给开关1517的控制端,因此开关1517亦为致能而输出多工器1509的输出值。另外,逻辑值为真的启动信号CS_N亦会控制多工器1509,使得多工器1508的输出端耦接至感测放大器1514。所以,存储器控制器可以通过数据总线DAB、感测放大器1512、1513与1514存取位线1501、1502与1503的数据。
在此实施例中,冗余列修复元件Red_A与Red_B的冗余列存储器133_八与133_8分别具有位线1504与1505输出。在仅有一个列(在存储器阵列中对应于位线1502)为失效的情况下,存储器阵列模块120_N依照存储于有效遮罩单元121_N的值来控制多工器1506去选择位线1501的输出,控制多工器1507去选择位线1503的输出,以及控制多工器1508去选择位线1504的输出。因此,位线1503与冗余列元件Red_A中的冗余列存储器133_A的位线1504依序移位(shift)其输出,以取代因存储器阵列模块120_N中失效的位线1502所造成的失效位,以修复失效列。当存储器控制器通过芯片选择总线CSB输出识别码ID给控制单元110_N而致能存储器阵列模块120_N时,存储器控制器可以通过数据总线DAB、感测放大器1512,1513与1514存取位线1501,1503与1504的数据。
以此类推,在存储器芯片CHIP_1中,在仅有两个位线1518与1520为失效的情况下,存储器阵列模块120_1会依据存储在有效遮罩单元121_1中的值来控制多工器1523去选择位线1519的输出,控制多工器1524去选择位线1521的输出,以及控制多工器1525去选择位线1522的输出。其中,位线1521与1522是冗余列修复元件Red_C与Red_D的位线。因此,冗余列修复元件可通过位线1521与1522来修复存储器阵列模块120_1中失效的位线1518与1520。在此例中,两个冗余列修复元件被用来修复该同层两个失效位,无须启用跨层修复电路,故开关控制单元1552设定为“I”。存储器控制器可以通过芯片选择总线CSB输出识别码ID给控制单元110_1而致能存储器阵列模块120_1。例如,存储器控制器通过控制单元110_1而致能开关1530与1531。关于开关1532,由于控制单元110_1输出的启动信号CS_1为真,使得多工器1533输出开关控制单元1552的逻辑值“I”给开关1532的控制端,因此开关1532亦为致能。另外,逻辑值为“I”的启动信号CS_1亦会控制多工器1526,使得多工器1525的输出端耦接至感测放大器1529。所以,当存储器控制器通过芯片选择总线CSB提供识别码ID给控制单元110_1而致能存储器阵列模块120_1时,存储器控制器可以通过有效遮罩单元121_1、数据总线DAB、感测放大器1527、1528与1529存取位线1519,1521 与 1522 的数据。
在仅有三个位线1518、1519与1520均为失效的情况下,存储器阵列模块120_1依据存储在有效遮罩单元121_1的值来控制多工器1523去选择位线1521的输出,控制多工器1524去选择位线1522的输出,并且控制多工器1525为禁能(亦即不选择任何位线)。然而,存储器芯片CHIP_1的两个冗余列修复元件Red_C与Red_D仅能通过位线1521与1522来修复其中两个位,因此需要其他层的冗余列修复元件来修复剩余的一个失效位线。因此,开关控制单元1552被设定“O”来禁能最后一个位线的输出,以便其他层的冗余列修复元件能取代在存储器芯片CHIP_1中的存储器阵列模块120_1的最后一个位。在本实施例中,存储器芯片CHIP_N的冗余列修复元件Red_B可通过位线1505来修复存储器芯片CHIP_1的失效存储器元件。请参照图7,存储器芯片CHIP_1的识别码ID (或是对应于启动存储器芯片CHIP_1的其他识别信息)可以被存储于存储器芯片CHIP_N中的冗余列修复元件Red_B的芯片识别栏位131_B,且该冗余列修复元件Red_B的有效栏位134_B设定为有效状态“I”。当存储器控制器通过芯片选择总线CSB输出识别码ID给控制单元110_1而致能存储器阵列模块120_1时,CHIP_N中的比较器1510比较芯片选择总线CSB的识别码ID与芯片识别栏位131_B的值。由于芯片选择总线CSB的识别码ID符合芯片识别栏位131_B的值,因此比较器1510的输出值被设为“1”,且冗余列存储器元件Red_B中的有效栏位134_B为有效状态(即有效栏位134_B的值为“I”),故与门1564的输出值为I。其中当与门1564的输出值为I时,方能将对应的冗余存储器133_B的值可以被输出至对应的位线1505上。在此同时,控制单元110_N输出逻辑值“0”,因此多工器1511被设定来选择与门1564的输出作为多工器1511的输出值,其耦接至开关1517的控制端。因为与门1564的输出值为1,使得开关1517为致能。由于控制单元110_N输出逻辑值“0”,因此多工器1509会将冗余列存储器元件Red_B的冗余列存储器133_B通过位线1505耦接至感测放大器1514的输入端。因此,当存储器控制器通过芯片选择总线CSB输出识别码ID给控制单元110_1而致能存储器芯片CHIP_1的存储器阵列模块120_1时,存储器控制器可以通过有效遮罩121_1、通过有效遮罩121_N、芯片识别栏位131_B、数据总线DAB、感测放大器1527、1528与1514存取位线1521、1522与1505的数据。因此,存储器芯片CHIP_N的冗余列修复元件Red_B可通过位线1505跨层修复存储器芯片CHIP_1的最后一个失效列。
需注意的是,当使用存储器芯片CHIP_N的冗余列修复元件Red_B来修复存储器芯片CHIP_1的失效存储器元件时,存储器芯片CHIP_1的多工器1533会输出开关控制单元1552的逻辑值“0”,使得开关1532禁能。因此,在冗余列修复元件Red_B修复存储器芯片CHIP_1的失效存储器元件时,感测放大器1529被禁能而没有总线连接于感测放大器1514的输出与感测放大器1529的输出之间。
图8是依照本公开又一实施例说明图1A中存储器阵列中修复部分位的方块示意图。在此实施例中,仅示范一字节的最后三个位线与两个冗余列存储器元件Red_E与Red_F,可被用来修复在同层中最多两个位线以及修复在其他层中最多两位线,其中冗余列存储器元件Red_E被用来修复在其他层中的一个失效列,而冗余列存储器元件Red_F被用来修复在其他层中的另一个失效列。在芯片CHIP_N的所有列皆良好或仅失效一个或两个位线时的修复方式,可参照图7的说明,并且由于无须通过跨层来修复失效列,故开关控制单元1651与1652的值皆设定为I即可。
请参照图1A与图8,在CHIP_1仅有三个位线1618、1619与1620均为失效的情况下,存储器阵列模块120_1依照存储在有效遮罩单元121_1中的值来控制多工器1623去选择位线1621的输出,控制多工器1624去选择位线1622的输出,并且禁能多工器1625 (亦即不选择任何位线输出)。由于存储器芯片CHIP_1的最后第二个位线可由同层的位线1622来修复,故开关控制单元1653必须设定为“1”,而最后一个位线必须要靠其他层的冗余列存储器元件来修复,故在开关控制单元1654中设定“O”来禁能最后一个位线输出,以便其他层的冗余列存储器元件能修复最后一个位线。在本实施例中,存储器芯片CHIP_N的冗余列修复元件Red_F会被用于修复存储器芯片CHIP_1的失效存储器元件。
请参照图1A与图8,存储器芯片CHIP_1的识别码ID (或是对应于启动存储器芯片CHIP_1的其他识别信息)可以被存储于存储器芯片CHIP_N中的冗余列修复元件Red_F的芯片识别栏位131_F,且该冗余列修复元件Red_F的有效栏位134_F设定为有效(即逻辑值“I”)。当存储器控制器通过芯片选择总线CSB输出识别码ID致能存储器芯片CHIP_1时,控制单元110_1输出的启动信号CS_1被设定为逻辑值I。因此,开关1630致能,多工器1671选择将多工器1624的输出耦接至感测放大器1628,以及多工器1672选择将多工器1625(禁能)的输出耦接至感测放大器1629。当存储器控制器通过芯片选择总线CSB输出识别码ID给控制单元110_1而致能存储器阵列模块120_1时,存储器芯片CHIP_N中的比较器1610比较芯片选择总线CSB的识别码ID与芯片识别栏位131_F的值。由于芯片选择总线CSB的识别码ID符合芯片识别栏位131_F的值,因此比较器1610的输出值被设定为“ I ”,且冗余列存储器元件Red_F中的有效栏位134_F被设定为有效(即逻辑值“ I ”),故与门1664的输出逻辑值为I。在此同时,控制单元110_N输出逻辑值“0”,因此多工器1611的输出被耦接至与门1664的输出(逻辑值“I”),而致能开关1617。由于控制单元110_N输出逻辑值“0”,因此多工器1609会将冗余列存储器元件Red_F的冗余列存储器133_F通过位线1605耦接至感测放大器1614的输入端。因此,当存储器控制器通过芯片选择总线CSB输出识别码ID给控制单元110_1而致能存储器阵列模块120_1时,存储器控制器可以通过有效遮罩121_1、数据总线DAB、感测放大器1627、1628与1614存取位线1621、1622与1605的数据。因此,存储器芯片CHIP_N的冗余列存储器元件Red_F可通过位线1605跨层修复存储器芯片CHIP_1最后不足的一个失效位。
以此类推,在CHIP_1仅有四个位线为失效的情况下,存储器阵列模块120_1依照存储在有效遮罩单元121_1的值来会控制多工器1623去选择位线1622的输出,禁能多工器1624与多工器1625。由于存储器芯片CHIP_1的最后两个位线皆不能由同层的冗余列存储器元件来修复,故开关控制单元1653与1654皆设定为“0”,来禁能最后两个位线的输出,以便其他层的冗余列修复元件能修复最后两个位线。在本实施例中,存储器芯片CHIP_N的冗余列存储器元件Red_E与Red_F会通过位线1604与1605来修复存储器芯片CHIP_1的两个失效位线。
请参照图1A与图8,存储器芯片CHIP_1的识别码ID (或是对应于启动存储器芯片CHIP_1的其他识别信息)可以被记录于存储器芯片CHIP_N中的冗余列修复元件Red_E及Red_F的芯片识别栏位131_E及131_F,且这些冗余列存储器元件的有效栏位134_G与134_F皆被设定为有效。当存储器控制器通过芯片选择总线CSB输出识别码ID给控制单元110_1而致能存储器阵列模块120_1时,CHIP_N中的比较器1660与比较器1610分别将芯片识别栏位131_E与芯片识别栏位131_F的值相较于来与选择总线CSB的识别码ID。由于芯片选择总线CSB的识别码ID同时符合芯片识别栏位131_E与芯片识别栏位131_F的值,因此比较器1660与1610的输出值皆被设为“ I ”,且冗余列修复元件Red_E与冗余列修复元件Red_F中的有效栏位134_E与134_F的值皆被设为有效,故与门1663与与门1664的输出值皆被设为I。其中,当与门1663的输出值为I时,方能将对应的冗余存储器133_E的值输出至对应的位线1604上。相类似地,当与门1664的输出值为I时,方能将对应的冗余存储器133_F的值输出至对应的位线1605上。在此同时,控制单元110_N输出逻辑值“0”,因此多工器1662与多工器1611的输出分别耦接至与门1663与与门1664的输出(值皆为“I”),而致能开关1616与开关1617。由于控制单元110_N输出逻辑值“0”,因此模拟多工器1661与模拟多工器1609会将冗余列修复元件Red_E与Red_F的冗余列存储器栏位133_E与133_F通过位线1604与位线1605分别耦接至感测放大器1613及感测放大器1614的输入端。因此,当存储器控制器通过芯片选择总线CSB输出识别码ID给控制单元110_1而致能存储器阵列模块120_1时,存储器控制器可以通过有效遮罩121_1、数据总线DAB、感测放大器1627、1613与1614存取位线1622、1604与1605的数据。因此,存储器芯片CHIP_N的冗余列修复元件Red_F与列余冗修复元件Red_F可通过位线1604及位线1605跨层修复存储器芯片CHIP_1最后不足的两个失效位线。
综上所述,在进行存储器测试时,以冗余分析(Redundant Analysis)算法来找出最佳的修复方式。例如,存储器容许多列跨层修复时需付出相对较高的硬件成本,所以为节省成本,以最多允许一列(Column)可进行跨层列修复,当面对此项硬件限制,在找到失效存储器元件时,其算法将优先以同层的冗余列(Column)存储器元件(例如图7所示冗余列存储器元件Red_A与Red_B)进行修复,并尽可能保留冗余行(Row)存储器元件进行跨层修复的冗余行存储器元件。当其他层需要某一层未使用到的冗余行(Redundant Row)时,则此冗余行的可编程地址(即芯片识别栏位131与失效地址栏位132)被设定为失效层的修复地址与识别码(或对应到该层的其他识别信息)。在失效行(Faulty Row)的部分,则是以一可编程的有效遮罩单元标示出该行是否发生故障。当在地址指向此失效行时,由于该指标为“失效”,因此存储器电路会关闭该失效行的输出,并关闭该失效层与数据总线DAB的连接,因此可以避免与另一层的冗余行发生总线竞争(Bus Contention)。
虽然本公开已以实施例公开如上,然其并非用以限定本公开,本领域技术人员,在不脱离本公开的精神和范围内,当可作些许的更动与润饰,故本公开的保护范围当视所附权利要求书所界定者为准。
权利要求
1.一种可修复的多层存储器芯片堆迭,其特征在于该多层存储器芯片堆迭包括: 多个存储器芯片,这些存储器芯片耦接至地址总线与数据总线,每一存储器芯片各自包括: 控制单元,接收识别码而对应产生启动信号; 解码单元,耦接至该地址总线以接收存储器地址,以及产生解码地址与解码冗余地址; 存储器阵列模块,耦接至该解码单元以接收该解码地址,以及耦接至该控制单元以接收该启动信号,其中该存储器阵列模块依据该启动信号与该解码地址来决定是否允许该数据总线存取该存储器阵列模块中该存储器地址所对应的数据;以及 冗余修复单元,耦接该解码单元,其中该冗余修复单元包括至少一组冗余修复元件,每一组冗余修复元件各自包括一个有效栏位、一个芯片识别栏位、一个失效地址栏位以及一个冗余存储器;当在该冗余修复单元中的其中一组冗余修复元件的有效栏位的值为有效状态,且该冗余修复元件的芯片识别栏位的值吻合该识别码,以及该冗余修复元件的失效地址栏位的值吻合该存储器地址时,则在该冗余修复单元中该冗余修复元件的冗余存储器被耦接至数据总线。
2.如权利要求1所述可修复的多层存储器芯片堆迭,其特征在于该存储器阵列模块包括: 存储器阵列,耦接至该解码单元; 有效遮罩单元,耦接至该解码单元以接收该解码地址而对应产生有效遮罩信号; 逻辑电路,其第一输入端耦接至该控制单元以接收启动信号,该逻辑电路的第二输入端耦接至该有效遮罩单元以接收该有效遮罩信号,该逻辑电路的输出信号传送至该存储器阵列以控制该存储器阵列是否致能;以及 开关电路,耦接于该存储器阵列与该数据总线之间,其中当该逻辑电路的输出信号为致能时,该开关电路为导通,否则该开关电路为截止。
3.如权利要求1所述可修复的多层存储器芯片堆迭,其特征在于该冗余修复元件还包括: 冗余控制单元,接收所属冗余修复元件的有效栏位、芯片识别栏位与失效地址栏位的值,以及依据该值决定是否将该所属冗余修复元件的冗余存储器耦接至该数据总线。
4.如权利要求3所述可修复的多层存储器芯片堆迭,其特征在于该冗余控制单元包括: 第一比较器,其第一输入端接收该识别码,该第一比较器的第二输入端耦接至该芯片识别栏位; 第二比较器,其第一输入端接收该解码地址,该第二比较器的第二输入端耦接至该失效地址栏位; 与门,其第一输入端耦接至该第一比较器的输出端,该与门的第二输入端耦接至该第二比较器的输出端,该与门的第三输入端耦接至该有效栏位;以及 开关电路,其第一端与第二端分别耦接该冗余存储器与该数据总线,该开关电路的控制端I禹接至该与门的输出端。
5.如权利要求1所述可修复的多层存储器芯片堆迭,其特征在于这些存储器芯片的该控制单元耦接至芯片选择总线以接收该识别码,这些控制单元各自内建互不相同的启动码,当该识别码相符于这些存储器芯片中第i芯片的该控制单元内建的启动码时,该第i芯片的该控制单元启动该第i芯片的该存储器阵列模块。
6.如权利要求1所述可修复的多层存储器芯片堆迭,其特征在于这些存储器芯片的数量为N,所述多层存储器芯片堆迭还包括: N个识别码产生器,其第i识别码产生器配置于这些存储器芯片中的第i芯片中,i为1、的整数,其中这些识别码产生器中第一识别码产生器接收第一种子码,并且依据该第一种子码而对应地产生第一识别码与第二种子码,其它第i识别码产生器电性连接至第i_l个识别码产生器以接收第i种子码,并且依据该第i种子码而对应地产生第i识别码与第i+Ι种子码,其中第一识别码至第N识别码互不相同; 其中这些存储器芯片中第i芯片的该控制单元耦接至所述第i识别码产生器以接收该第i识别码做为所述识别码,这些控制单元各自内建相同的启动码,当这些存储器芯片中第i芯片的该控制单元所接收的该第i识别码相符于该启动码时,该第i芯片的该控制单元启动该第i芯片的该存储器阵列模块。
7.如权利要求6所述可修复的多层存储器芯片堆迭,其特征在于这些识别码产生器是循环码产生器。
8.如权利要求1所述可修复的多层存储器芯片堆迭,其特征在于该失效地址栏位的值包含一列地址。
9.如权利要求1所述可修复的多层存储器芯片堆迭,其特征在于该失效地址栏位的值包含一行地址。
10.如权利要求5 所述可修复的多层存储器芯片堆迭,其特征在于每一这些存储器芯片的该控制单元各自内建启动码,且每一这些存储器芯片的该启动码各自为独一值。
11.如权利要求6所述可修复的多层存储器芯片堆迭,其特征在于每一这些存储器芯片的该控制单元各自内建启动码,且每一这些存储器芯片的该启动码为相同值。
12.—种多层存储器芯片堆迭的修复方法,其特征在于所述修复方法包括: 在存储器芯片中配置一个冗余修复单元,其中所述冗余修复单元包括至少一组冗余修复元件,每一组冗余修复元件各自包含有效栏位、芯片识别栏位、失效地址栏位以及冗余存储器; 解码地址总线的存储器地址,以产生解码地址与解码冗余地址; 如果识别码验证正确,且该解码地址所对应的存储器元件为有效,则致能该存储器芯片的存储器阵列模块的数据存取端口,使数据总线可以经由该数据存取端口存取该存储器阵列模块;以及 如果在该冗余修复单元中的一组冗余修复元件的有效栏位的值为有效状态,且该识别码相符于该冗余修复元件的该芯片识别栏位的值,且该存储器地址相符于该冗余修复元件的该失效地址栏位的值,则致能该冗余修复元件的该冗余存储器,使该数据总线可以存取该冗余存储器。
13.如权利要求12所述多层存储器芯片堆迭的修复方法,其特征在于所述修复方法还包括: 如果该识别码验证不正确,则禁能该存储器阵列模块;以及如果该解码地址为失效,则禁能该存储器阵列模块的数据存取端口。
14.如权利要求12所述多层存储器芯片堆迭的修复方法,其特征在于所述修复方法还包括: 如果该识别码不符于该芯片识别栏位的值,则禁能该冗余存储器;以及 如果该解码冗余地址不符于该失效地址栏位的值,则禁能该冗余存储器。
15.如权利要求12所述多层存储器芯片堆迭的修复方法,其特征在于该识别码被验证于启动码,该启动码内建于该存储器芯片,且每一这些存储器芯片的该启动码各自为独一值。
16.如权利要求12所述多层存储器芯片堆迭的修复方法,其特征在于该识别码被验证于启动码,该启动码内建于该存储器芯片,且每一这些存储器芯片的该启动码各自为相同值。
17.一种可修复的多层存储器芯片堆迭,其特征在于所述多层存储器芯片堆迭包括: 多个存储器芯片,这些存储器芯片耦接至地址总线与数据总线,每一存储器芯片各自包括: 控制单元,接收识别码而对应产生启动信号; 解码单元,耦接至该地址总线以接收存储器地址,以及产生解码地址与解码冗余地址; 存储器阵列,耦接至该解码单元以接收该解码地址,其中依据该启动信号与该解码地址,该存储器阵列的多个位线被决定是否允许该数据总线存取对应于该存储器地址的这些位线的数据; 至少一开关控制单元,依照该存储器阵列的测试结果决定是否致能这些位线的最后位; 冗余修复单元,耦接该解码单元,其中该冗余修复单元包括至少一组冗余修复元件,每一组冗余修复元件各自包括一个有效栏位、一个芯片识别栏位、以及一个冗余存储器;有效遮罩单元,接收该解码地址,其中该有效遮罩单元依照该启动信号与该解码地址决定是否允许该数据总线存取该冗余存储器;以及 多个多工器,从该有效遮罩单元接收至少一选择信号,以决定这些位线中的何者会被连接至该数据总线; 其中当在该冗余修复单元中的冗余修复 元件的有效栏位的值为有效状态,且该冗余修复元件的芯片识别栏位的值吻合该识别码时,则在该冗余修复单元中该冗余修复元件的其中一组的冗余存储器被耦接至该数据总线。
全文摘要
一种可修复的多层存储器芯片堆迭及其方法。所述芯片堆迭的每一个存储器芯片各自包括控制单元、解码单元、存储器阵列模块以及由至少一冗余修复元件组成的冗余修复单元。解码单元从地址总线接收存储器地址,而对应输出解码地址。存储器阵列模块依据控制单元的启动信号来决定是否允许数据总线存取存储器阵列模块中该解码地址所对应的数据。冗余修复元件包括有效栏位、芯片识别栏位、失效地址栏位以及冗余存储器。当有效栏位为有效状态,且芯片识别栏位的值吻合该识别码,以及失效地址栏位的值吻合该解码地址时,则该冗余存储器被耦接至数据总线。
文档编号G11C29/44GK103177771SQ201210323530
公开日2013年6月26日 申请日期2012年9月4日 优先权日2011年12月20日
发明者吴明学, 罗崑崙, 陈振岸, 陈宜文 申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1