具体实施方式
在将已经检测到缺陷的故障地址写入到本发明的半导体存储器件中的地址寄存器期间,当要写入的故障地址数目大于所结合的反熔丝数目时,例如,从DQ端子(数据的外部输入/输出端)提供溢出信号。
在对反熔丝进行编程期间,当要执行的编程实例数目大于所有反熔丝的编程实例数目时,从DQ端子提供溢出信号。这种类型的溢出信号用来向外部报告利用反熔丝的缺陷补救不再可能。
如图1所示,本发明的半导体存储器件具有这样的配置,包括:多个存储体10(图1中101~104),每个存储体由可独立访问的存储单元阵列组成;地址缓冲器20,其从外部接收地址信号A0~A15以及用于选择要访问的存储体10的存储体选择信号BA0和BA1作为输入,并且根据地址信号A0~A15生成行地址X0~X12以及列地址Y0~Y8;行地址缓冲器30,用于临时保持从地址缓冲器20传送来的行地址X0~X12,并且向每个存储体10提供行地址X0~X12;列地址缓冲器40,用于临时保持从地址缓冲器20传送来的列地址Y0~Y8;列地址计数器50,用于提供从列地址缓冲器40传送来的列地址Y0~Y8,并提供给每个存储体10;存储体选择缓冲器60,用于对存储体选择信号BA0和BA1进行解码,并且激活所选择的存储体10;模式寄存器70,用于保持操作模式信息,例如已知的CAS等待时间、突发长度、突发类型以及测试模式;反熔丝模块80,用于补救存储单元缺陷;输出缓冲器90,用于临时保持要从DQ端子传送的数据;输入缓冲器100,用于临时保持从DQ端子作为输入所接收的数据;以及控制电路110,用于控制半导体存储器件的总体操作。在图1中,示出了其中半导体存储器件具有四个存储体(存储体0~3)101~104的配置示例,但是存储体10的数目不限于四个,并且可以是任意数目。另外,虽然图1示出了其中地址信号A0~A16是16位的示例,但是这些信号不必是16位,并且可以是任意数目。在本实施例的解释中,假设半导体存储器件是DRAM(动态RAM),但是本发明可以应用于具有可以通过使用反熔丝来补救存储单元中的缺陷这样的配置的任何类型半导体存储器件,包括SRAM(静态RAM)或ROM。
从图1所示的行地址缓冲器30传送的行地址X0~X12以及从列地址计数器50传送的列地址Y0~Y8被提供给存储体101~104中所提供的行解码器和列解码器。行地址X0~X12和列地址Y0~Y8由行解码器和列解码器解码,并且针对作为解码结果所指示的访问目标的存储单元执行数据写入/读取。
每个存储体10通过读取/写入总线(RW-BUS)120连接到输入缓冲器100和输出缓冲器90。从DQ端子作为输入接收到的数据(例如,以16位部分提供)经由输入缓冲器100和读取/写入总线120被提供给作为访问目的地的存储体10,并且由与每个存储体10相对应提供的主放大器写入到地址信号所指定的存储单元。另外,由主放大器读取地址信号所指示的存储单元中存储的数据,并且经由读取/写入总线120和输出缓冲器90从DQ端子提供该数据。
图1所示的刷新计数器130是定时生成电路,用于控制在半导体存储器件为DRAM时所必需的公知刷新操作。DQS缓冲器140是用于保持已知DQ选通信号的缓冲器电路,并且DLL电路150是用于根据数据发送和接收的定时来延迟DQ选通信号的电路。这些电路与本发明无关,因此这里省略对它们的详细解释。
列地址计数器50是突发操作所需的电路,其中突发操作用于一次向半导体存储器件读取/写入多个数据项或者交叉读取/写入多个数据项,但是因为这些方面与本发明无关,所以这里省略详细解释。
图1所示的半导体存储器件所具有的配置采取对四个连续(邻近)地址单元的访问,因此将除了两个最低有效位之外的列地址Y2~Y8提供给反熔丝模块80。
模式寄存器70保持由控制电路110根据从外部输入端作为输入接收到的/RAS(行地址选通命令)、/CAS(列地址选通信号)、/WE(写入使能)、/CKE(时钟使能)、/CS(芯片选择)、A0~A15、BA0以及BA1的数值组生成的、指示各种操作模式的信息。另外,在测试模式期间基于从控制电路110传送的MRS(模式寄存器置位)信号,模式寄存器提供如下各项作为输出:用于将反熔丝模块80设置在初始状态的初始化信号INT_B;用于使输出缓冲器90能够接收溢出信号OVERFLOW的测试模式信号TOF;以及指示反熔丝的编程状态的编程模式标记TAF_PGM。
在图1所示的半导体存储器件中的测试模式期间,通过比较所读取的数据与以16×4=64位为单元预先写入的数据,来检测所有存储单元中的缺陷。对每个存储体10总结缺陷检测的结果,并且提供该结果作为与存储体101~104相对应的存储体错误检测信号ERR0~3。在从存储单元读取数据时,将访问目标的地址信号依次提供给反熔丝模块80,并且在检测到错误检测信号ERROR时,将相应访问目标的地址信号保持在地址寄存器中,其中错误检测信号ERROR是每个存储体错误检测信号ERR0~3的逻辑和(“或”)。
反熔丝模块80将存储体错误检测信号ERR0~3编码,以识别其中检测到故障的存储体10。
在补救缺陷时,反熔丝模块80还比较反熔丝中存储的故障地址与以位为单元从外部作为输入接收到的地址信号(从地址缓冲器20提供的列地址Y2~Y8、存储体选择信号BA0和BA1、以及行地址X0~X12),并且当地址匹配时,反熔丝模块80提供存储体熔丝命中信号AF0HIT~AF3HIT,指示访问缺陷存储单元。提供存储体熔丝命中信号AF0HIT~AF3HIT之一作为与访问目标的存储体10相对应的输出。反熔丝模块80还向每个存储体10提供反熔丝命中信号AFHIT_B,这是存储体熔丝命中信号AF0HIT~AF3HIT的“或”结果。
如上所述,在向本实施例的半导体存储器件中的地址寄存器中写入故障地址期间,当要对数目比反熔丝模块80中所提供的反熔丝数目大的故障地址执行写入时,从反熔丝模块80提供溢出信号OVERFLOW。或者,在对反熔丝编程期间,当要执行的编程数目大于对所有反熔丝的编程实例数目时,从反熔丝模块80提供溢出信号OVERFLOW。
如图2所示,输出缓冲器90具有选择电路91和缓冲器电路92,并且根据从模式寄存器70提供的测试模式信号TOF,传送经由读取/写入总线(RW-BUS)120所提供的数据,或者传送从反熔丝模块80提供的溢出信号OVERFLOW。不需要将图2所示的输出缓冲器90相应提供给所有DQ端子,并且可以仅在一个DQ端子处提供。可以在DQ端子处单独提供缓冲器电路92(见图2),其不传送溢出信号OVERFLOW。
下面参考图3~7解释图1所示的反熔丝模块80的配置。
如图3所示,反熔丝模块80具有这样的配置,包括:熔丝模块81,具有多个反熔丝和多个相应的地址寄存器;AF存储体编码器82,用于生成指定其中检测到缺陷的存储体10的编码信号BA0和BA1,以及错误信号ERROR,这是在向地址寄存器进行写入以及在对反熔丝进行编程期间所使用的那些存储体错误检测信号ERR0~3的“或”结果;AF选择电路83,用于提供用来选择反熔丝以存储故障地址的反熔丝选择信号AFNSEL和AF0SEL~AF3SEL,以及用来指示所有反熔丝都已使用的溢出信号OVERFLOW;编程模式计数器84,用于生成在对反熔丝进行编程期间所使用的定时信号;比较电路85,用于检测反熔丝中所保持的故障地址与从外部作为输入接收到的地址信号之间的匹配或失配;以及参考电平生成电路86,用于生成用来读取反熔丝中所存储的故障地址的参考电压Ref。
如图4所示,熔丝模块81例如具有这样的配置:其具有四个反熔丝组(AF0~3),每一个对应于一个存储体10。
反熔丝组AF0~3每一个都具有这样的模块:该模块具有反熔丝、地址寄存器、两个“与”电路、以及比较器;这些模块是针对行地址X0~X12、列地址Y2~Y8、存储体选择信号BA0和BA1中每一个来提供的,并且用于生成“反熔丝已使用”标记AF0EN~AF3EN。因此,图4所示的示例具有如下数目的模块(包括反熔丝和地址寄存器):地址位数(23)×组数(4)=92,每个模块包括反熔丝和地址寄存器。
如图5所示,AF选择电路83具有这样的配置,包括:串联连接的多个触发器831(图5中8311~8316),每一个生成反熔丝选择信号AFNSEL、AF0SEL~AF3SEL;多个“或”电路832(图5中8321~8325),用于基于指示反熔丝已经被使用的标记AF0ENL~AF3ENL来设置每个触发器831的值;以及“或”电路833,用于基于错误检测信号ERROR或者从编程模式计数器提供的、指示对一个反熔丝组编程结束的计数信号PCOUNT_MAX,生成用于使每个触发器831进行翻转操作的选择熔丝信号AFSHIFT。
AF选择电路83还具有:门电路834,用于在初始化信号INT_B的定时处,基于“反熔丝已使用”标记AF0EN~AF3EN,生成AF0ENL~AF3ENL中每一个,AF0ENL~AF3ENL是AF0EN~AF3EN的反转信号;以及延迟电路835,用于通过将从模式寄存器70提供的编程模式标记TAFPGM延迟,生成第一初始设置信号PGMINIT1,并且通过延迟第一初始设置信号PGMINIT1生成第二初始设置信号PGMINIT2。
“或”电路832将有效值提供给与下一次当“已使用”标记AF0ENL~AF3ENL获得有效值时要选择的反熔丝组相对应的触发器831的置位输入端S。在编程模式计数器84的计数信号PCOUNT_MAX或错误检测信号ERROR以及第一初始设置信号PGMINIT1都为有效值的情况下,每个触发器831顺序提供反熔丝选择信号AF0SEL~AF3SEL,用于选择下一次要使用的反熔丝组。
如图6所示,比较电路85具有这样的配置,包括:多个“异或”电路851,用于以位为单元检测每个反熔丝组AF0~3中存储的故障地址AF0_X0~AF0_Y8、AF1_X0~AF1_Y8、AF2_X0~AF2_Y8以及AF3_X0~AF3_Y8与从外部作为输入接收到的地址信号(从地址缓冲器20提供的行地址X0~X12、存储体选择信号BA0和BA1、以及列地址Y2~Y8)之间的匹配/失配;多个“和”电路852,用于针对每个存储体10聚集“异或”电路851的检测结果,并且提供结果作为存储体熔丝命中信号AF0HIT~AF3HIT;以及“或”电路853,用于聚集存储体熔丝命中信号AF0HIT~AF3HIT,并且提供结果作为反熔丝命中信号AFHIT_B。
另外,如图7所示,编程模式计数器84具有计数器电路,用于生成在对反熔丝进行编程期间所使用的脉冲信号PCOUNTER0~22以及与从外部提供的测试时钟ODT同步的计数信号PCOUNT_MAX。
图4所示的反熔丝组AF0~3中装配的地址寄存器用作选择器,用于根据控制端/GA和GB的输入值,从输出端Y传送提供给输入端A和B的信号之一。另外,图4所示的反熔丝组AF0~3中装配的地址寄存器用作锁存电路,用于保持输出信号。
更具体地说,每个地址寄存器在控制端/GA为“低”时从输出端Y传送从输入端A接收到的信号,并且在控制端GB为“高”时从输出端Y传送从输入端B接收到的信号。另一方面,每个地址寄存器在控制端/GA为“高”时保持并传送从输入端A接收到的信号,并且在控制端GB为“低”时保持并传送从输入端B接收到的信号。然而,当这些操作重叠时,每个地址寄存器根据控制端/GA和GB的上次输入值,设置输出信号。
当写入到地址寄存器时,行地址X0~X12、存储体选择信号BA0和BA1以及列地址Y2~Y8由从外部提供的地址信号依次设置,并且扫描存储单元阵列10的所有位。
此时,当在任何存储单元中检测到缺陷时,从AF存储体编码器82传送错误信号ERROR,并且根据“已使用”标记AF0ENL~AF3ENL的设置,从AF选择电路83传送用于选择下一反熔丝的反熔丝选择信号(AF0SEL~AF3SEL之一)。与所选择的反熔丝组相对应的反熔丝选择信号AF0SEL~AF3SEL被设置为“高”,并且从每个地址寄存器的输出端Y传送行地址X0~X12、存储体选择信号BA0和BA1、以及列地址Y2~Y8的值。当下一反熔丝选择信号被设置为“高”时,前一反熔丝选择信号切换为“低”,并且地址寄存器保持作为输入已经接收到的每个行地址X0~X12、存储体选择信号BA0和BA1、以及列地址Y2~Y8的值。换句话说,当反熔丝选择信号AF(n+1)SEL(n=0~3)变为“高”时,反熔丝选择信号AF(n)SEL变为“低”,并且在每个地址寄存器中保持作为输入提供给相应反熔丝组的地址信号(故障地址)。
同时,地址寄存器保持从相应反熔丝组具有“已使用”标记的地址寄存器作为输入接收到的错误信号ERROR,并且提供错误信号ERROR作为“已使用”标记(AF0EN~AF3EN之一)。
在对反熔丝编程期间,从编程模式计数器提供的脉冲信号PCOUNTER0~22被依次提供给每个反熔丝组,并且将脉冲提供给每个反熔丝,以根据地址寄存器中存储的故障地址来对反熔丝编程。在完成了编程的反熔丝组中,根据反熔丝的状态(短路或开路)来设置比较器的输入电压,并且输入电压与参考电压Ref之间的差异被比较器放大并提供给地址寄存器的输入端A。当然后接收到初始化信号INT_B作为输入时,选择并传送地址寄存器输入端A的输入信号,随后由地址寄存器保持比较器的输出电压作为故障地址。
比较电路85将每个反熔丝组的每个输出AF0_X0~AF0_Y8、AF1_X0~AF1_Y8、AF2_X0~AF2_Y8以及AF3_X0~AF3_Y8与从外部作为输入接收到的地址信号(从地址缓冲器传送的行地址X0~X12、存储体选择信号BA0和BA1、以及列地址Y2~Y8)在“异或”电路中进行比较,并且当反熔丝组的输出与地址信号之间出现匹配时,提供相应的存储体熔丝命中信号AF0HIT~AF3HIT。
另外,当任一存储体熔丝命中信号AF0HIT~AF3HIT获得了有效值时,“或”电路提供反熔丝命中信号AFHIT_B作为输出。
接着,利用图8~11,针对特定实施例解释向地址寄存器写入故障地址时的操作与对本发明的半导体存储器件的反熔丝进行编程时的操作。
图8和9仅示出了在测试模式期间通过读取数据的处理在任意存储单元中检测到故障时的操作。为了实际读取数据,在读取数据之前,必须执行向每个存储单元写入数据的操作以及对每个存储单元预充电的操作。
首先利用图8和9解释向地址寄存器写入故障地址的操作。
如图8和9所示,当由于从外部作为输入接收到的各种控制信号,例如/RAS、/CAS、/WE、CKE、/CS、A0~A15、BA0和BA1,从控制电路提供MRS信号作为输出时,从模式寄存器70提供初始化信号INT_B,并且将反熔丝模块80设置为初始状态。
此时,从已经被编程的反熔丝组提供“已使用”标记,并且AF选择电路83的相应触发器831被置位。例如,如图8所示,当尚未使用任何反熔丝组时,指示该状态的反熔丝选择信号AFNSEL为“高”。当如图9所示使用了两个反熔丝组(已经使用了AF0和AF1)时,指示该状态的反熔丝选择信号AF1SEL为“高”。
当通过从外部作为输入接收到的控制信号将半导体存储器件设置为测试模式时,从模式寄存器70提供测试模式信号TOF,并且输出缓冲器90能够接受从反熔丝模块80提供的溢出信号OVERFLOW。
当由于从外部作为输入接收到的控制信号而顺序发出数据的READ命令时,根据与READ命令一起接收到的作为输入的地址信号,从每个存储体顺序读取数据。此时,如果在任何存储体中检测到缺陷(故障),向反熔丝模块提供存储体错误检测信号ERR0~3,并且由AF存储体编码器82提供错误检测信号ERROR。
已经接收到错误检测信号ERROR的AF选择电路83利用选择熔丝翻转信号AFSHIFT使触发器831操作,并且提供熔丝选择信号AF(n+1)SEL(n=0~3)用于选择尚未被设置为“已使用”的下一反熔丝。
在图8所示的示例中,反熔丝组AF0~3都未使用,并且每次在任何存储体中检测到缺陷(故障)时所提供的选择熔丝翻转信号AFSHIFT使熔丝选择信号AF0SEL、AF1SEL、AF2SEL和AF3SEL相继切换为“高”,随后在检测到另一缺陷(故障)时提供溢出信号OVERFLOW。
此时,在熔丝选择信号AF0SEL、AF1SEL、AF2SEL和AF3SEL从“高”变为“低”的定时处,故障地址被写入到反熔丝组AF0~3的每个地址寄存器。另外,在反熔丝组AF0~3具有“已使用”标记的模块中,在熔丝选择信号AF0SEL、AF1SEL、AF2SEL和AF3SEL从“高”改变的定时处,将“已使用”标记写入地址寄存器。
在图9所示的示例中,已经使用了反熔丝组AF0和AF1,并且每次在任何存储体中检测到缺陷(故障)时所提供的选择熔丝翻转信号AFSHIFT使熔丝选择信号AF2SEL和AF3SEL相继切换为“高”,随后在检测到另一缺陷(故障)时提供溢出信号OVERFLOW。
此时,在熔丝选择信号AF2SEL和AF3SEL从“高”变为“低”的定时处,故障地址被写入到反熔丝组AF2和AF3的每个地址寄存器。另外,在反熔丝组AF2和AF3具有“已使用”标记的模块中,在熔丝选择信号AF2SEL和AF3SEL从“高”变为“低”的定时处,写入“已使用”标记。
接着,利用图10和11解释在对反熔丝进行编程期间的操作。
如图10和11所示,当通过从外部作为输入接收到的各种控制信号,例如/RAS、/CAS、/WE、CKE、/CS、A0~A15、BA0和BA1,将半导体存储器件设置为测试模式(编程模式)时,从模式寄存器70提供测试模式信号TOF,并且输出缓冲器90进入允许接受从反熔丝模块80提供的溢出信号OVERFLOW的状态。
从模式寄存器70提供编程模式标记TAF_PGM,从AF选择电路83的延迟电路835传送第一初始设置信号PGMINIT1,并且AF选择电路83的每个触发器831被设置为初始状态。此时,从已经编程的反熔丝组提供“已使用”标记,并且AF选择电路83的相应触发器831被置位。如图10所示,例如,当尚未使用任何反熔丝组时,指示该状态的反熔丝选择信号AFNSEL变为“高”,并且当已经使用了两个反熔丝组(已经使用了AF0和AF1)时,如图11所示,指示该状态的反熔丝选择信号AF1SEL变为“高”。
接着,当提供来自AF选择电路83的延迟电路835的第二初始设置信号PGMINIT2时,编程模式计数器84开始计数操作,与从外部提供的测试时钟ODT同步。此时,每隔测试时钟ODT的23个脉冲,从编程模式计数器84提供PCOUNT_MAX,并且同步提供选择熔丝翻转信号AFSHIFT。
AF选择电路83在选择熔丝翻转信号AFSHIFT的定时处翻转触发器831的输出信号,并且提供熔丝选择信号AF(n+1)SEL(n=0~3)用于选择反熔丝组。
因为在图10所示的示例中尚未对任何反熔丝组AF0~AF3进行编程,所以在从编程模式计数器84提供的PCOUNT_MAX的每个定时处,熔丝选择信号AF0SEL、AF1SEL、AF2SEL和AF3SEL相继切换为“高”,并且当仍然进一步尝试编程时,传送溢出信号OVERFLOW作为输出。
此时,根据相应地址寄存器中保持的故障地址,将从编程模式计数器84提供的脉冲信号PCOUNTER0~22提供给反熔丝组AF0~AF3的每个反熔丝,以写入故障地址。
在图11所示的示例中,因为已经对反熔丝组AF0和AF1进行了编程,所以在从编程模式计数器84提供的PCOUNT_MAX的每个定时处,熔丝选择信号AF2SEL和AF3SEL被相继切换为“高”,并且如果进一步尝试编程,提供溢出信号OVERFLOW。
此时,根据相应地址寄存器中保持的故障地址,将从编程模式计数器84提供的脉冲信号PCOUNTER0~22提供给反熔丝组AF2和AF3的每个反熔丝,由此写入故障地址。
如前所述,根据本发明的半导体存储器件,在向反熔丝模块80中所提供的地址寄存器中写入故障地址期间,当要写入的故障地址数目大于预先提供的反熔丝数目时,或者当要执行用于存储数目比预先提供的反熔丝数目大的故障地址的处理时,提供指示不能执行这种操作的溢出信号。结果,可以从外部通过监视溢出信号来验证不再能够使用反熔丝来补救缺陷的点。因此,可以在检测到溢出信号时中止测试,并且可以缩短使用反熔丝来补救缺陷的步骤以及该测试步骤所需的时间。
虽然已经使用特定事项描述了本发明的优选实施例,但是这种描述仅仅是为了说明目的,并且应该理解,在不脱离所附权利要求的精神或范围的前提下,可以做出改变和变化。