下面用一系列特定实施例结合数个附图说明本发明。
图1是展示本发明第一实施例的半导体存储器的主要部分的结构的框图。图1中,参考符号100表示存储单元阵列,该阵列分为四个存储块101-104。存储块101-104的每一块中,存储单元按矩阵形式设置,具有按列方向运行的多个标准存储单元阵列和冗余单元阵列。参考符号110表示行译码器,其译码所接收的地址,并将行选信号(此后称为“字线信号”)WL输出到存储块101-104。该实施例中,行译码器110只从存在于四个存储块中的多个字线中选择一个字线。
冗余确定电路120预先存储表示故障单元阵列是否应根据存储块由冗余单元阵列取代的标志。此外,标志可以表示要被取代的故障单元阵列的位置。在接收地址信号时,冗余确定电路120对应于所连接的存储块输出冗余选择信号YPR和冗余位置信号IORED。
冗余选择信号YPR指示对应于该地址的存储块中故障单元是否应该用冗余单元取代。在设置为第一逻辑电平(例如“1”)时,信号YPR表示故障存在于标准单元阵列中,并指示这种标准单元阵列将用冗余单元阵列取代。在设置为第二逻辑电平(例如“0”)时,信号YPR表示不需要用冗余单元阵列取代。冗余位置信号IORED表示存在故障单元的标准单元阵列的位置。该实施例中,冗余确定电路120通过将位置信息转变为二进制形式存储该信息。冗余位置信号IORED可以是用于识别八个单元阵列之一的三位信号、用于识别十六个阵列之一的四位信号、用于识别三十二个阵列之一的五位信号。
冗余位置译码器130从冗余确定电路120接收冗余选择信号YPR和冗余位置信号IORED。在冗余选择信号YPR为选择态时,冗余位置译码器130译码从冗余确定电路120接收的二进制冗余位置信号IORED,并输出故障位置信号IOSEL。故障位置信号IOSEL具有象标准单元阵列一样多的信号线。在图1的具体设置中,对应于故障单元阵列的信号线将被驱动为逻辑“1”,而其它信号线将被驱动为逻辑“0”。
R/N转接设置电路140接收故障位置信号IOSEL。在冗余选择信号YPR为选择状态时,R/N转接设置电路140响应IOSEL信号输出位线转接信号DSW。DSW信号启动从一个位线到另一位线的转接。
参考符号150表示R/N转接电路,该电路接收位线转接信号DSW,并将存储块101-104中的每个单元阵列转接到冗余单元阵列或标准单元阵列。参考符号160表示输入/输出部分,这些部分对由R/N转接电路150转接的单元读取和写入,这些单元在列方向延伸。
接着,说明图1所示半导体存储器件的工作情况。尽管以下说明涉及读取数据的情况,但相同的说明基本上可应用于写入数据的情况。
图1中,接收一个地址后,行译码器110译码所接收的地址,并向单个存储块(101-104)输出字线信号WL。结果,选择一个存储块(例如存储块101,但只作为一个例子)。该地址还可提供到冗余确定电路120。
冗余确定电路120预先存储用于每个存储块的冗余选择信息。所以,所产生的冗余选择信号YPR将表示所选择存储块中的故障单元阵列是否应该用冗余单元阵列取代。此外,冗余位置信号IORED将表示哪个故障单元应被取代。接收一个地址后,冗余确定电路120不仅对应于所涉及的存储块向冗余位置译码器130输出冗余位置信号IORED,而且向冗余位置译码器130和R/N转接设置电路140输出冗余选择信号YPR。
在接收了从冗余确定电路120输出的冗余位置信号IORED和冗余选择信号YPR后,冗余位置译码器130将所编码和存储的冗余信息译码成故障位置信号IOSEL,并向R/N转接设置电路140输出已译码的信号IOSEL。
R/N转接设置电路140将已译码的位线转接信号DSW送到R/N转接电路150。R/N转接电路150根据位线转接信号DSW将所选存储块中的单元阵列转接并连接到输入/输出部分160。该连接是这样的,具有故障存储单元的单元阵列被旁路。于是,标准单元阵列和至少一个冗余单元阵列连接到输入/输出部分160。
所以,通过R/N转接电路150和输入/输出部分160读取存在于所选字线和位线的交叉点处的存储单元信息。
图2是展示本发明第一实施例的存储块的主要部分结构的框图。图3是展示存储单元阵列的主要部分结构的框图。下面将说明具有四个输入/输出线I/O0-I/O3的半导体存储器。应理解,这只表示一个具体实施例,不应认为是对本发明的限制。
图2中,参考符号200-207表示标准单元阵列;208和209表示冗余单元阵列;210和211表示数组字线(也表示为WL0-WL2n-1);212-216表示位线(也表示为BL0-BL4);217-220表示各开关(也表示为SW0-SW3)。图3表示了图1中的存储块,展示了包括标准单元阵列200-203和冗余单元阵列208。
图3中,参考符号300-00至300-n4表示信号存储单元,它们可以由用于易失存储器(如DRAM或SRAM)或非易失存储器(如PROM、EPROM、EEPROM或FRAM)的任何可读和可写存储单元构成;302-0至302-n-1表示字线(也示为WL0至WLn-1);212-216表示位线(也表示为BL0-BL4)。
如图3所示,在一种结构中,每个单元阵列(200,201...208)可以包括一组在列方向排列的存储单元。例如,图3的具体设置,单元阵列200可以包括存储单元300-00,300-10...300-n0;标准单元阵列201可以包括存储单元300-01,300-11至300-n1;冗余单元阵列208可以包括存储单元300-04,300-14至300-n4。另外,每个单元阵列(200,201...和208)中的存储单元(300-00至300-n4)分别连接到在行方向延伸的多个字线(302-0至302-n-1)及在列方向延伸的位线(212-216)。例如,存储单元300-00至300-04连接到字线WL0(302-0),存储单元单元300-01至300-n1连接到位线BL1(213)。
另外,如图2所述,每个位线(212-216)连接到R/N转接电路150内的开关(217-220)。位线(212-216)可以借以下一种或多种方式连接到转接电路150:读出放大器、列选电路、数据放大器、擦除电路、或编程电路(未示出)。
下面将说明利用图2和3所示的这些电路的取代旁路操作。特定的取代旁路操作将用从存储块101选择字线WL0和读取所存储的信息作为例子。
字线WL0由从外部器件接收的地址信号选择,并通过位线BL0-BL4(212-216),将存储于连接到所选字线WL0的存储单元(300-00至300-04)中的信息读取到外部器件。
如果标准单元阵列(200-203)中没有故障存储单元,则R/N转接电路150将其开关217-220分别连接到位线BL0-BL3(212-216)。该结构中,读取存储于标准单元阵列(200-203)中的存储单元300-00至300-03的信息。未读取冗余单元阵列208中的信息。
接着,说明标准单元阵列201中存在一个以上故障存储单元的情况。由于标准单元阵列201与位线BL1连接,所以冗余确定电路120将该位线BL1转接为二进制码,并将所得编码“01”存储于对应于存储块101的区域中,作为冗余位置信号IORED。另外,由于必须用冗余单元阵列208,所以电路120存储“1”作为冗余选择信号YPR。
为从存储块101读取所存储信息,选择字线210(WL0)。另外,分别从冗余确定电路120输出“01”和“1”作为冗余位置信号IORED和冗余选择信号YPR。冗余位置译码器130将冗余位置信号IORED“01”译码,并输出“0100”作为故障位置信号IOSEL。已译码的数据“0100”的每个位线信息对应于每个位线BL0-BL4。由于第二位是1,所以可以理解,存在故障单元的存储单元阵列与位线BL1相连。
R/N转接设置电路140转接已译码数据0100,产生四个位线转接信号DSW0-DSW3(图1和2中集中表示为DSW)。DSW信号提供给R/N转接电路150。在转接信号(DSW)为0时,R/N转接电路150中的开关(217-220)连接到一个特定的位线,而在转接信号为1时,它们连接到另一特定位线。图2中,在各开关对应的位线转接信号(DSW)为0时,各开关将连接到左侧上的各位线,在它们对应的信号DSW为是1时,各开关连接到右侧上的各位线。为如图2所示设置各开关,可以向R/N转接电路150输入“0111”,作为位线转接信号DSW0-DSW3。
由于标准单元阵列201在此状态下具有一个以上的故障单元,所以开关217连接到左侧的位线BL0(212),开关218-220连接到右侧的位线BL2-BL4(214-216)。利用这种操作,可以通过位线BL0和BL2-BL3(212,214-216)读取存储在标准单元阵列200,202,203及冗余单元阵列208中的信息。因此,可以通过旁路其中存在故障单元的标准单元阵列201读取该信息。因此,即使存储块101中只有一个故障存储单元阵列201,也可以保留该半导体存储器,而不会因故障将之抛弃。
应理解,上述冗余操作可用于旁路列方向数据路径中的其它类型的缺陷。举几个例子,其可以旁路故障读出放大器、列选电路、数据放大器、擦除电路或编程电路。
图4是展示冗余确定电路120的结构的框图。冗余确定电路120包括熔丝单元401-404及块选电路405。块选电路405从熔丝单元401-404中选择一个熔丝单元。熔丝单元401-404分别对应于存储块101-104。举一个例子,即,一个地址选择存储块101时,冗余确定电路120的块选电路405输出1作为块选信号BS401,由此选择熔丝单元401。另外,在一个地址选择存储块102时,电路405输出1作为块选信号402,用于选择熔丝单元402。
每个熔丝单元(401-404)都包括熔丝406和407、熔丝电路408及n型晶体管N401-N403。在图4的特定设置中,在标准单元阵列数为B时,熔丝电路的数目表示为log2B。例如,熔丝电路数对于四个标准单元阵列来说为2,由于B等于四。所以,可以为四个阵列提供两个熔丝电路,为三十二个阵列提供五个熔丝电路,用于存储故障单元阵列的位置。
熔丝电路408输出冗余选择信号YPR,表示冗余单元阵列(如208或209仅作为一个例子)是否用于由一个地址选择的存储块。
另外,熔丝电路406和407标识由一个地址所选择的存储块中四个标准单元阵列(如200-203,或204-207)中的单个故障单元的位置。通过将位置信息转接为二进制码存储该信息。由于所示的特定实施例中每个存储块中有四个标准单元阵列,所以两个熔丝电路406和407便以足够标识已发现故障的标准单元阵列的位置。熔丝电路406和407分别向冗余位置译码器130输出冗余位置信号IORED1和IORED2。
冗余位置信号IORED1和IORED2及冗余选择信号YPR的信号线与熔丝单元(401-404)相连,还通过引入熔丝单元(401-404)的晶体管N401-N403与各熔丝电路相连。熔丝块选信号(BS401-BS404)提供到每个晶体管N401-N403的栅(即,熔丝块选信号BS401将施加于熔丝单元401内的晶体管N401-N403的栅)。在熔丝块选信号BS为1时,晶体管N401-N403导通,而在信号BS为0时,晶体管截止。熔丝块选信号BS401-BS404之一根据一个输入地址设置为1,属于熔丝单元401-404中所选块的任一个熔丝电路中的信息将被输出。
熔丝电路408包括两个熔丝409-AR和409-BR。409-AR和409-BR不仅彼此相连,而且其一端与晶体管N403的漏相连。熔丝409-AR的另一端与电源Vdd相连,熔丝409-BR的另一端与地相连。如果冗余单元阵列(如208或209)用于所选择的存储块,则熔丝409-BR断开,熔丝电路408输出1作为冗余选择信号YPR。如果不用冗余单元阵列(如208或209),则熔丝409-AR断开,熔丝电路408输出0。
熔丝46具有熔丝409-A1和409-B1,熔丝电路407具有409-A2和409-B2。这些熔丝的一端共同连接到晶体管N401和N402的漏。熔丝409-A1和409-A2的另一端还连接到熔丝409-AR和409-BR的共同节点,熔丝409-B1和409-B2的另一端接地。
另外,晶体管N401-N403的栅与块选电路405相连,它们的漏与IORED1、IORED2和YPR的每个输出信号线相连。仅作为一个例子,在一个地址选择存储块101时,块选电路405输出1作为熔丝块选信号BS401,以便熔丝单元401中的晶体管N401-N403导通,输出存储在熔丝单元401中的信息。在选另一熔丝单元如熔丝单元402时,熔丝单元401的晶体管N401-N403截止,输出存储在熔丝402中的信息。
例如,在标准单元阵列201中存在故障单元时,冗余确定电路120存储01作为冗余位置信号IORED。这种情况下,熔丝409-B2、409-A1和409-BR断开。所以,在选择熔丝块选信号BS401时(在为1时),冗余确定电路120分别输出0、1和1作为信号IORED1、IORED2和YPR。
另外,在所选存储块不需要冗余单元取代时,冗余确定电路120可以分别输出0、0和0作为信号IORED1、IORED2和YPR。这可以通过断开熔丝409-AR,同时不断开其它熔丝(409-B1,409-A1,409-B2和409-A2)实现。结果,可以缩短熔丝断开步骤。
注意,图4中熔丝(409-A1/409-B1,409-A2/409-B2和409-AR和409-BR)的串联结构可能是不希望的,因为这种结构会在冗余信息存储于熔丝电路(406,407和408)内之前,在电源Vdd和地之间产生“短路”。为克服这个问题,每个熔丝电路可以具有插在短路电流路径中的晶体管(图4中未示出)。
以此方式,在故障标准单元阵列要被取代时,冗余确定电路120的熔丝电路408向冗余位置译码器130输出1作为冗余选择信号YPR,冗余确定电路120的熔丝电路406和407输出标识所选存储块中故障单元阵列的位置的两位信号IORED1和IORED2(图1中集中表示为IORED)。冗余位置译码器130将接收的IORED转接成四位故障位置信号IOSEL0-IOSEL3(图1中集中表示为IOSEL),其中四位中任何一位设置为1。所转接的四位故障位置信号IOSEL0-IOSEL3输出到R/N转接设置电路140。
图5是展示冗余位置译码器130的例示电路结构的电路图。这是一个译码器130通过接收两位选择信号IORED1和IORED2得到故障位置信号IOSEL0-IOSEL3的例子。
图5的冗余位置信号译码器130包括反相器501和502、及AND门503-506。反相器501和502分别接收IORED1和IORED2作为输入。AND门503-506接收信号YPR作为一个输入,并且每个具有一个连接到图中圈起来的节点的输入。在信号IORED2和IORED1分别为0和1,并且信号YPR为1时,反相器502输出1。通过设置AND门504的输出为1,AND门503、505和506输出为0,这些值允许冗余位置译码器130输出0010作为故障位置信号IOSEL3-IOSEL0。
所属领域的技术人员应认识到,图5的译码器响应冲突的逻辑信号产生逻辑低信号。应理解,这种电路可以改变为利用三个输入的AND门,其中每个AND门接收YPR信号作为输入,其它两个输入耦连到不同的所表示的节点。
图6是展示R/N转接设置电路140的结构的电路图。这是一个电路140接收四位冗余位置信号IOSEL0-IOSEL3及冗余选择信号YPR,并输出四位位线转接信号DSW0-DSW3的例子。
R/N转接设置电路14包括四个p型晶体管601-604,它们彼此串联。地电位0提供给晶体管601的漏,冗余选择信号YPR提供给晶体管604的源。晶体管601-604的栅分别接收由冗余位置译码器130译码的故障位置信号IOSEL0-IOSEL3。
在故障位置信号(如IOSEL0-IOSE3)为1时,相应的晶体管(601-604)截止,而在故障位置信号(如IOSEL0-IOSE3)为0时,相应晶体管(601-604)导通。例如,在存储块102不需要用冗余单元阵列(208)取代时,冗余选择信号YPR为0,故障位置信号IOSEL0-IOSEL3为0000。晶体管601-604导通,输出0000作为位线转接信号DSW0-DSW3。
在标准单元阵列201中存在故障存储单元时,故障存储必须利用冗余单元阵列(如208)取代,冗余选择信号YPR为1,故障位置信号IOSEL0-IOSEL3为0100。即,IOSEL0、IOSEL2和IOSEL3都设置为0,IOSEL1设置为1。结果,晶体管602截止,晶体管601、603和604导通。
由于位线转接信号DSW0通过晶体管601(已导通)连接到地电位0,所以信号DSW0设置为0。另外,由于位线转接信号DSW1连接到设置为1的冗余选择信号YPR位线(通过已导通的晶体管603和604),所以,信号DSW1设置为1。位线转接信号DSW2和DSW3也类似地设置为1。因此,输出0111,作为位线转接信号DSW0-DSW3。
这样转接的位线转接信号DSW0-DSW3输出到R/N转接电路150,以控制引入到R/N转接电路150中开关SW0-SW3的转接方向。根据这些位线转接信号DSW0-DSW3,R/N转接电路150将来自标准单元阵列的四位输出中的三位和来自冗余单元阵列的一位转接并连接到输入/输出部分160中的四条线I/O0-I/O3。
如上所述,图6所示的R/N转接设置电路140可以利用简单电路结构高速产生位线转接信号DSW。通过截止构成系列设置电路的各晶体管之一,可将已截止晶体管一侧(图6中左侧)的所有位线转接信号DSW设置为0,将已截止晶体管的另一侧(图6中右侧)的所有信号DSW设置为1。
图7是展示R/N转接电路150和输入/输出部分160的具体结构的电路图。这是位线BL2-BL4(214-216)的输出在输入/输出部分160的输入/输出信号线I/O2和I/O3(701和702)之间转接的一部分。
图7中,输入/输出部分160包括数据输入/输出电路703和704。数据输入/输出电路703和704将R/N转接电路150的放大的输出耦连到输入/输出信号线I/O2和I/O3(702和703)。
R/N转接电路150包括以下元件。参考符号705和706表示数据放大器,用于放大与标准单元阵列(如202或203)相连的位线BL2和BL3的数据;707表示数据放大器,用于放大来自位线BL4上的冗余单元阵列(如208)的数据;708和709表示NAND门;P701-P704表示p型晶体管。N701-N704表示n型晶体管;710和711表示反相器。存储单元的输出由读出放大器(未示出)暂时放大,然后通过位线214-216提供到数据放大器705-707。
每个n型晶体管(N701-N704)的源和漏分别连接到每个p型晶体管(P701-P704)的源和漏。此外,反相器(710和711)在每个n型晶体管(N701-N704)的栅和每个对应的p型晶体管(P701-P704)的栅之间转接,相互提供彼此互补的信号。所得结构形成两个表示为712和713的开关。所谓的“传输门(tranfer gate)”由n型晶体管(N701-N704)和它们对应的利用反相器(710和711)的p型晶体管(P701-P704)构成。第一传输门714由晶体管N701和P701构成;第二传输门715由晶体管N702和P702构成;第三传输门716由晶体管N703和P703构成;第四传输门717由晶体管N704和P704构成。
在NAND门708和709的输出为0时,第一和第三传输门714和716在它们的源-漏电路处截止,在NAND门为1时导通。相反,在NAND门708和709为1时,第二和第四传输门715和717在它们的源-漏电路处截止,在NAND门的输出为0时导通。
图7中,两个传输门(714/715或716/717)连接到单个数据输入/输出电路(703或704),并且假定一对传输门中的任一个导通。结果,选择两个数据放大器(705/706或706/707)中任一个。所示设置的另一方式是选择两个位线之一(214/215或215/216),以便所选位线的数据可以输出到单个输入/输出线I/O(701或702)。
下面说明R/N转接电路150的工作情况。
首先,说明不采用冗余单元阵列(如208或209)和冗余选择信号YPR由此设置为0的情况。这种情况下,位线转接信号DSW(DSW0-DSW3)可设置为任何状态。
NAND门708和709中每一个接收0作为冗余选择信号YPR,输出1。因此,传输门714和716导通,传输门715和717截止。结果,位线BL2和BL3(214和215)上的数据通过数据放大器705和706、传输门714和716及数据输出电路703和704分别输出到输入/输出线I/O2和I/O3(701和702)。
接着,说明连接到位线BL3的标准单元阵列(如203和207)中存在故障单元阵列,并且这种阵列将用冗余单元阵列(如208或209)取代的情况。这种情况下,冗余选择信号YPR为1,位线转接信号DSW2和DSW3分别为0和1。
NAND门708接收0作为位线转接信号DSW2,输出1。因此,传输门714导通,门715截止。结果,位线BL2(214)上的数据输出到输入/输出线I/O2(701)。
另外,NAND门709接收1作为位线转接信号DSW3,接收1作为冗余选择信号YPR,并输出0。因此,传输门717导通,门716截止。结果,位线BL4(216)上的数据输出到输入/输出线I/O3(702)。在如上所述的位线BL3上存在故障单元时,可以执行转接,以便数据放大器707的输出即来自冗余单元阵列(如208或209)的数据,输出到输入/输出线I/O3(702),不用数据放大器706的输出。
接着,说明在与位线BL2相连的标准单元阵列(如202或206中存在故障单元,并且这种阵列将用冗余单元阵列(如208或209)取代的情况。这种情况下,冗余选择信号YPR为1,位线转接信号DSW2和DSW3分别为1和1。
NAND门708和709接收1作为位线转接信号DSW2和DSW3,输出0。因此,传输门715和717导通,门714和716截止。结果,位线BL3和BL4(215和216)上的数据输出到输入/输出线I/O2和I/O3(701和702)。
所以,在位线BL2(214)上存在故障单元时,可以执行转接,以便将来自数据放大器706的数据输出到输入/输出线I/O2,不用来自数据放大器705的数据。
再参见图1-7,回顾一下第一实施例的工作情况。故障单元的位置信息根据存储块存储于冗余确定电路120中。提供一个地址,确定利用该地址信号存取的存储块(101-104)的位置。然后从冗余确定电路120输出所存取的存储块中的故障单元的位置信息,R/N转接电路150执行转接操作,通过冗余单元的输出将故障单元的输出旁路。
因此,即使每个存储块(101-104)中存在一个故障单元,也可以用冗余单元阵列(如208或209)取代这些故障单元。例如,如果标准单元阵列201和205发生故障,可通过利用冗余单元阵列208和209将它们旁路。另外,如果标准单元阵列201和207发生故障,可以通过利用冗余单元阵列208和209将它们旁路。通过这样将标准单元阵列分成四个存储块,可以取代每个存储块的单个故障单元阵列,这意味着在图1和2所示的特定例子中,可以旁路四个故障单元阵列。自然,存储块的数目不限制于4,可以适当地增多或减少。另外,如果利用两行方向的冗余电路及上述列冗余方式,则还可以取代不同标准单元阵列中的两个以上的故障存储单元。
另外,由于R/N转接电路150是由各存储块(101-104)共享的,所以与为每个存储块提供一个R/N转接电路的结构相比,极大减小了电路尺寸。
而且,R/N转接设置电路140由晶体管开关构成,所以标准单元阵列(如200-207)可根据软件用冗余单元阵列(如208或209)转接。结果,不必为每个存储块提供熔丝电路和R/N转接电路。因此,可以减小电路尺寸,并可以减少其尺寸大于各晶体管尺寸的熔丝的数量,所以可以减小芯片面积。
而且,在将故障单元阵列的位置信息编码成二进制息数后,可以存储该信息,所以可以进一步减少熔丝的数量。因此,除能减小芯片面积外,还能缩短熔丝断开步骤(熔丝编程)。另外,在不用冗余单元阵列时,只需要将一个存储冗余选择信号的熔丝断开,所以进一步缩短了熔丝断开步骤。
另外,在常规例子中,将提供到R/N转接电路的多个位线转接信号通过移位设置到移位寄存器,或一位一位地设置到控制存储单元。因此,设置操作非常费时,加长了读取/写入的存储器存取时间。按第一实施例,多个位线转接信号(DSW)由各晶体管串联的R/N转接设置电路140在短时间内集中产生,并且并行输出。因此,与常规例子相比,在设置建立位线转接的值时,该实施例可以节约大量时间。
图8是展示本发明第二实施例的R/N转接设置电路的电路图。该实施例中,每个存储块101-104包括八个标准单元阵列和一个冗余单元阵列。因此,R/N转接设置电路140从冗余位置译码器130接收八位故障位置信号IOSEL0-IOSEL7,从冗余确定电路120接收冗余选择信号YPR。响应于不同的输入,第二实施例的R/N转接设置电路输出八个位线转接信号DSW0-DSW7。
该实施例的R/N转接设置电路140包括八个设置电路800-807。每个设置电路800-807具有三个开关电路808-n1至808-n3(其中n=0-7)和五个端子810-a,-b,-c,-d和-e。设置电路802中的端子810-a与相邻设置电路的端子810-c相连。设置电路800的端子810-a接地。一个设置电路的810-c与相邻设置电路的端子810-a相连。设置807的端子810-c与冗余确定电路120相连,用于接收冗余选择信号YPR。
每个设置电路800-807的端子810-b和810-d分别接地和电源,接收逻辑电平0和1。另外,端子810-e接冗余位置译码器130,用于接收故障位置信号IOSEL。
另外,每个设置电路800-807的端子810-c与R/N转接电路150连接,以便电路150在端子810-c处输出逻辑电平,作为位线转接信号DSW0-DSW7。
每个设置电路(800-807)的开关电路808-n0至808-n3根据信号电平输入转接到端子810-e。例如,在设置电路(800-807)的端子810-e为0时,开关808-n0和808-n3截止,开关808-n2导通。该特定响应示于图8的设置电路802中。在设置电路(800-807)的端子810-e设置为1时,开关808-n1和808-n3导通,开关808-n2截止,设置该设置电路(800-807)的端子808-a为0,其端子808-c为1。这种特定响应见图8的设置电路803。
由于图8中最左端的设置电路800的端子810-a接地,所以设置电路800中的开关801-01(未示出)可以省略。另外,由于图8中最右端的设置电路807的端子810-c接收冗余选择信号YPR,所以该设置电路中的开关808-73也可以省略。
接着,说明图8所示实施例的R/N转接设置电路140的工作情况。
以下说明不需要用冗余单元阵列取代的情况(即冗余选择信号YPR为0,故障位置信号IOSEL0-IOSEL7为00000000的情况)。这种情况下,每个设置电路800-807中的开关808-n1和808-n3截止,开关808-n2导通。所以,设置每个设置电路(800-807)的端子810-a和810-c为0,设置位线转接信号DSW0-DSW7为00000000。
以下说明与位线BL3相连的标准单元阵列中存在故障单元,并且利用冗余单元阵列旁路这种标准单元阵列的情况。这种情况下,冗余选择信号YPR为1,故障位置信号IOSEL0-IOSEL7为00010000。因此,设置电路803的开关808-31和808-33导通,开关808-32截止。同时,每个设置电路800-802和804-807中的开关808-n0和808-n3截止,开关808-n2导通。结果,设置电路803的端子810-a设置为0,其端子810-c设置为1。设置电路800-802的端子810-c(即位线转接信号DSW0-DSW2)保持000值。
同时,由于开关808-33导通,设置电路803的端子810-c设置为1。结果,位线转接信号DSW3即刻设置为1。而且,由于冗余选择信号YPR也为1,所以位线转接信号DSW7也即刻设置为1。另外,设置电路803的端子810-c设置为1,导致了设置电路804将位线转接信号DSW4设置为1。类似地,逻辑电平1传输到设置电路805、806和807,将位线转接信号DSW5-DSW7设置为1。而且,冗余选择信号YPR的逻辑电平1同样传到设置电路807、806和805,也将位线转接信号DSW4-DSW7设置为1。
于是,逻辑电平1从设置设置电路803侧和冗余选择信号YPR输入侧同时提供到位线转接信号DSW4-DSW7。因此,可以以比常规器件和第一实施例更高的速度激活位线转接信号DSW4-DSW7。结果,可以更高速地转接R/N电路150,进而即使冗余单元设置在列方向上,也可以防止存储器存取时间加长。
图9示出了图8的设置电路802-806及800和807的具体电路图例子。
在图9的设置电路801中,参考符号P900和P901表示p型晶体管,N900和N901表示n型晶体管,900表示反相器。N900和P900的源-漏通道彼此并联。晶体管N900和P900的共同节点接端子810-a和810-c。晶体管P900的栅接端子810-e,晶体管N900的栅通过反相器900接端子810-c。晶体管N900和P900及反相器900构成开关808-n2。
在端子810-e设置为0时,晶体管N900和P900的栅分别设置为1和0,使晶体管N900和P900导通,并分别在端子810-a和810-c设置相同的逻辑电平。在端子810-e设置为1时,晶体管N900和P900的栅分别设置为0和1,使晶体管N900和P900截止。这样用高阻抗通路隔离了端子810-a和810-c,使得这些端子被驱动为不同逻辑电平。
晶体管N901的漏接端子810-a,其源接端子810-b,其栅接端子810-e。晶体管N901这样构成开关808-n1。在端子810-e设置为0时,晶体管N901截止,在端子810-e设置为1时,晶体管N901导通,并在端子810-a和810-b设置相同逻辑电平。由于端子810-b接地,端子810-a将设置为逻辑电平0。
晶体管P901的漏接端子810-c,其源接端子810-d,其栅通过反相器900接端子810-e。晶体管P901这样构成开关808-n3。在端子810-e设置为0时,晶体管P901截止。在端子810-e设置为1时,晶体管P901导通,并在端子810-c和810-d设置相同的逻辑电平。由于端子810-d接电源,端子810-c将设置为逻辑电平1。
于是在晶体管N900和P900导通时,晶体管N901和P901截止,在晶体管N900和P900截止时,晶体管N901和P901导通。结果,在端子810-e设置为0时,在端子810-a和810-b设置相同的逻辑电平,而在端子810-e设置为1时,在端子810-a设置为0,在810-c设置为1。
设置电路800还如图9中具体电路图所示。除去掉了晶体管N901外,图9的设置电路800具有基本与设置电路801相同的结构。由于设置电路800的端子810-a接地,所以电路800执行与设置电路801相同的操作。
图9还示出了设置电路807的具体电路图。除去掉了晶体管P901外,图9的设置电路807具有基本与设置电路801相同的结构。由于设置电路807的端子810-c接冗余选择信号YPR,所以电路807执行与设置电路801相同的操作。
所以,在该实施例中,多个设置电路800-807利用端子810-a和810-c彼此串联。设置电路(800-807)中的端子810-a可以与其对应的端子810-c断开,而其它端子彼此相连。此外,关于断开的端子810-a和810-c,可以在端子810-a设置第二逻辑电平0,在端子810-c设置第一逻辑电平。结果,与这些断开端子相连接的位线转接信号(DSW)可以即刻设置到要求的逻辑电平。
另外,在第二实施例中,在端子810-a与设置电路中的端子810-c断开时,所得0值是由从两个不同节点集中的0值产生的。具体说,0值从设置电路800内的端子810-a传输,并还从其端子810-a与端子810-c断开的设置电路内的端子810-a传输。因此,与只从设置电路800的端子810-a传输0值的情况相比,位线转接信号DSW可以在更短的时间周期内设置为0。
另外,在第二实施例中,在设置电路中端子810-a与810-c断开时,所得1值由从两个不同节点集中的1值产生。具体说,1值从设置电路807内的端子810-c传输(YPR信号),并还从其端子810-a与端子810-c断开的设置电路内的端子810-c传输。因此,与只从冗余信号线YPR端子传输1值的情况相比,位线转接信号DSW可以在更短的时间周期内设置为1。
因此,位线转接信号DSW可以比常规器件和第一实施例以更高的速度设置为所要求的逻辑电平。结果,R/N转接电路150可以更高速地转接,进而即使冗余单元在列方向设置,也可以防止存储器存取时间延长。
下面将说明第三实施例。该实施例中,每个存储块(101-104)包括三十二个标准阵列和一个冗余单元阵列。
图10是展示本发明第三实施例的冗余确定电路120的结构的框图。冗余确定电路120包括熔丝单元1001-1004,和用于从这些熔丝单元中选择一个熔丝的块选电路1005。块选电路1005输出熔丝单元选择信号BS1001-BS1004,每个信号用于选择一个熔丝单元。
熔丝单元1001-1004分别对应于存储块101-104。例如,在一个地址选择存储块101时,冗余确定电路120使得块选电路1005将熔丝单元选信号BS1001设置为1,以便选择熔丝单元1001。另外,在一个地址选择存储块102时,冗余确定电路120使块选电路1005将熔丝单元选信号BS1002设置为1,以便选择熔丝单元1002。
每个熔丝单元包括五个熔丝电路1006-1010和一个单个熔丝电路1011。熔丝电路1011输出上述冗余选择信号YPR,表示冗余单元是否用于一个地址所选择的存储块内的各单元。在采用冗余单元时,冗余选择信号YPR为1,否则信号YPR为0。
另外,五个熔丝电路1006-1010以二进制数存储三十二个标准单元阵列中发生故障(由于一个以上故障单元引起的)的阵列的位置。然后可以用冗余阵列取代故障阵列。冗余确定电路120从熔丝电路输出五位二进制冗余位置信号IORED1、IORED2、IORED4、IORED8、IORED16,IORED1、IORED2、 IORED4、IORED8、IORED16分别对应于熔丝电路1006-1010。冗余选择信号YPR从熔丝电路1011输出到冗余位置译码器130。
图11展示了要被取代的故障单元阵列的位置、对应的冗余位置信号IORED和冗余选择信号YPR间的关系。
图12是展示本发明第三实施例的R/N转接设置电路(如140)的框图。该实施例的R/N转接设置电路140包括三十二个设置电路1200-1231和一个设置控制电路1232。这种情况下,三十二个设置电路(1200-1231)分为四个设置块1234-1237,以便可以以设置块为基础设置位线转接信号(DSW0-DSW31)。例如,设置块1234可以设置位线转接信号DSW0-DSW7,设置块1235可以设置位线转接信号DSW8-DSW15,设置块1236可以设置位线转接信号DSW16-DSW23,设置块1237可以设置位线转接信号DSW24-DWW31。
图12的R/N转接设置电路140从冗余位置译码器130接收三十二个故障位置信号IOSEL0-IOSEL31,从冗余确定电路120接收冗余选择信号YPR,并输出四组八位位线转接信号DSW0-DSW7、DSW8-DSW15、DSW16-DSW23和DSW24-DSW31。
R/N转接设置电路140将其中只有对应于故障单元阵列的各位为1的故障位置信号IOSEL0-IOSEL31转接为位线转接信号DSW0-DSW31,其中比故障单元阵列位更高的所有位设置为1。
图13是设置电路1300如图12中所述的1200-1231的概要图。图14示出了图12的设置块(1234-1237)的设置电路(1200-1231)的电路图例子。如图13所示,每个设置电路1300具有三个开关1301-n1至1301-n3(其中n=0-31)。此外,每个设置电路1300包括七个端子1302-a,-b,-c,-d,-e,-f,-g。
图13和14中,端子1302-a与相邻设置电路的端子1302-c相连,设置电路1200的端子1302-a接地。端子1302-c与相邻设置电路的端子1302-a相连,设置电路1231的端子1302-c与冗余确定电路120相连,以便端子1302-c接收冗余选择信号YPR。
每个设置电路1200-1231的端子1302-b和1302-d分别接地和电源,以便分别接收逻辑电平0和1。另外,1302-e接冗余位置译码器130,以便接收故障位置信号(IOSEL0-IOSEL31)。
另外,设置电路1200-1231的端子1302-c接R/N转接电路150,以便端子1302-c向R/N转接电路150输出它们的逻辑电平,作为位线转接信号DSW0-DSW31。
如上所述,每个设置电路1200-1231具有三个开关1301-n1至1301-n3。每个开关1301-n1、1301-n2和1301-n3根据输入到端子1302-f、1302-e和1302-g的信号电平分别导通和截止。例如,在设置电路1300的端子1302-e为0时,开关1301-n2导通,以便将端子1302-a和1302-c设置为相同逻辑电平。在端子1302-e为1时,开关1301-n2截止,以便将端子1302-a和1302-c设置为不同逻辑电平。
另外,在端子1302-f为1时,开关1301-n1导通,以便将端子1302-a和1302-b设置为相同逻辑电平,而在端子1302-f为0时,开关1301-n1截止。由于该实施例中端子1302-b接地,所以,在开关1301-n1导通时,端子1302-a设置为0。
另外,在端子1302-g为0时,开关1301-n3导通,以便将端子1302-c和1302-d设置为相同逻辑电平,而在端子1302-g为1时,开关1301-n3截止,由于该实施例中端子1302-d接电源,所以,在开关1301-n3导通时,端子1302-c设置为1。
由于设置电路1200(位于最低位置的)的端子1302-a接地,所以该设置内的开关1301-01可以省略。设置电路1200的具体结构与图9所示相同。
另外,由于设置电路1231(位于最高位置的)的端子1302-c被提供以冗余选择信号YPR,所以该设置电路内的开关1301-31可以省略。设置电路1231的具体结构与图9所示相同。
另外,参见图14,每个设置电路1201-1207的端子1302-g通过反相器1400与端子1302-e相连,并受端子1302-e处的反相信号的控制导通和截止。每个设置电路1224-1231的端子1302-f与端子1302-e相连,并受与提供到1302-e相同的信号控制导通和截止。
图14是展示设置电路1208-1223、设置电路1201-1207和设置电路1224-1230的具体电路图。这些电路由与图9所示电路类似的元件构成。为此,不再说明类似部分。
三个特定设置电路的布局在图14中标记为1401、1402和1403,设置电路1401(也表示为1217)可用作设置电路1208-1223。设置电路1402(也表示为1201)可用作设置电路1201-1207。设置电路1403(也表示为1225)可用于设置电路1224-1230。
设置电路1401包括分别受在端子1302-g和1302-f处所加的信号控制的p型晶体管P1400和n型晶体管N1400。这样,晶体管P1400和N1400分别受与在端子1302-e处所加的不同信号的控制。
设置电路1402如图14所示具有n型晶体管N1400,其栅接端子1302-f,所以受与加于端子1302-e上信号不同的信号的控制而导通和截止。设置电路1402还包括p型晶体管P1400,其栅通过反相器1400与端子1302-e相连。这样,晶体管P1400受加于端子1302-e处的信号控制导通和截止。
设置电路1403如图14所示包括p型晶体管P1400,其栅接端子1302-g,所以受与加于端子1302-e上不同的信号的控制导通和截止。设置电路1403还包括n型晶体管N1400,其栅与端子1302-e相连,所以受与加于端子1302-e处相同的信号控制导通和截止。
图15a是设置控制电路如1232的电路图。图15b是这个电路的真值表。
设置控制电路1232设计成输出控制信号,用于以一个设置块(1234-1237)为基础集中设置端子1302-a或1302-c的逻辑电平。设置控制电路1232通过译码冗余位置信号IORED8和IORED16产生控制信号,并以“V设置”信号BVS2-BVS4和“G设置”信号BGS1-BGS3的形式输出所得控制信号。
如图15a所示,设置控制电路1232可以包括反相器1501和1502及NAND门1503-1506。
NADN门1503接收利用对应的反相器1501和1502反相冗余位置信号IORED8和IORED16所得的信号作为一个输入,接收冗余选择信号YPR作为另一个输入。响应于这些输入,NAND门1503产生这些信号的逻辑NAND,由此提供V设置信号BVS2和G设置信号BGS1。
NAND门1504接收反相器1501的输出作为一个输入,接收冗余选择信号YPR作为另一个输入,产生这些输入的逻辑NAND,作为V设置信号BVS3和G设置信号BGS2。
NAND门1505接收NAND门1506的输出作为一个输入,接收冗余选择信号YPR作为另一个输入。NADN门1506接收冗余位置信号IORED8和IORED16作为输入。于是NAND门1505产生V设置信号BVS4和G设置信号BGS3。
所属领域的技术人员应认识到,图15a的译码器根据冲突的逻辑信号得到一个逻辑低值。应理解,NAND门1503可以是三个输入NAND门,接收YPR信号作为一个输入,所表示的各节点作为其它输入。
图15b是一个真值表,表示了冗余位置信号IORED8和IORED16、V设置信号BVS2-BVS4和G设置信号BGS1-BGS3间的关系。
设置信号BVS2-BVS4与设置块1235-1237的端子1302-g相连,以便集中将相应设置电路内的端子1302-c设置为1。例如,在存在着耦连到位线BL8-BL15(对应于设置块1235)的任何一个的故障单元阵列时,总是在较高设置块1236和1237设的端子1302-c设置为1。因此,通过将V设置信号BVS3和BVS4都设置为0,导通开关1301-n3,以便设置电路1216-1231的端子1302-c与它们的端子1302-d相连,从而将端子1302-c设置为1。由于该操作,可以以高速将位线转接信号DSW16-DSW30集中设置为1,而不用一位一位地从位于最高位置的冗余选择信号YPR端(即,耦连到设置1231的端)设置这些信号。
G设置信号BGS1-BGS3与设置块1234-1236的端子1302-f相连,以便集中分别将各端子1302-a设置为0。例如,在存在着耦连到位线BL16-BL23(对应于设置块1236)的任何一个的故障单元阵列时,总是在较低设置块1234和1235的端子1302-a设置0。因此,通过将G设置信号BGS1和BGS2都设置为1,导通开关1301-n1,以便设置电路1201-1215的端子1302-a与它们的端子1302-b相连,从而将端子1302-b设置为0,将端子1302-a设置为0。由于该操作,可以以高速将位线转接信号DSW0-DSW15集中设置为0,而不用一位一位地从位于最低位置的设置电路1200设置这些信号。
接着,结合图12-15b说明R/N转接设置140的操作。
下面说明不需要用冗余单元阵列取代的情况。这种情况下,冗余选择信号YPR为0,所有故障位置信号IOSEL和IOSEL31为0。
由于YPR和IOSEL0-IOSEL31信号都为0,如图15b所示,V设置信号BVS2-BVS4和G设置信号BGS1-BGS3都为1。因此,设置块1234-1237的端子1302-a集中设置为0,进而将所有位线转接信号DSW0-DSW23设置为0。
另外,由于设置块1237的设置电路1224-1231的所有故障位置信号IOSEL24-IOSEL31都为0,所以这些设置电路(1224-1231)的端子1302-a耦连到对应的端子1302-c。另外,设置电路1223的端子1302-c设置为0,这不仅传输到设置电路1224的端子1302-a,而且还一个接一个地传输到设置电路1225、1226等。另外,冗余选择信号YPR也设置为0,这类似地不仅传输到设置电路1231的端子1302-a,而且还一个接一个地传输到设置电路1230、1229等。因此,在结束时设置电路1224-1231的所有端子1302-a和1302-c处都设置为0,进而将所有位线转接信号DSW24-DSW31都设置为0。
接着,介绍与位线BL3相连的标准单元阵列中存在故障单元,并且利用冗余单元阵列取代这种标准单元阵列的情况。这种情况下,YPR信号为1,故障位置信号IOSEL3也为1。其它故障位置信号IOSEL0-2和IOSEL4-IOSEL31都为0。
这种情况下,所有V设置信号BVS2-BVS4都设置为0,所有G设置信号BGS1-BGS3都设置为0,如图15b所示。因此,设置块1235-1237的端子1302-c集中设置为1,进而将所有位线转接信号DSW8-DSW31都设置为1。
另外,由于故障位置信号IOSEL0-IOSEL7为00010000,所有为1的IOSEL3信号提供到设置电路1203。结果是设置电路1203的端子1302-a与其对应端子1302-c断开。在其余设置电路(1200-1202和1204-1207)中,端子1302-a都耦连到相应端子1302-c。另外,由于设置电路1200的端子1302-a为0,该逻辑值不仅传输到设置电路1200的端子1302-c,还一个接一个地传输到设置电路1201、1202等。另外,设置电路1208的端子1302-c设置为1,该逻辑值不仅传输到设置电路1208的端子1302-a,还一个接一个地传输到设置电路1207、1206等。结果,设置电路1200-1202的端子1302-c都设置为0,设置电路1203-1207的端子1302-c都设置为1。因此,分别将位线转接信号DSW0-DSW7设置为00011111。
接着,介绍与位线BL9相连的标准单元阵列中存在故障单元,且利用冗余单元阵列取代这些单元的情况。这种情况下,冗余选择信YPR为1,故障位置信号IOSEL9为1。其余故障位置信号IOSEL0-IOSEL8和IOSEL10-IOSEL31都为0。
这种情况下,V设置信号BVS4-BVS2设置为001,G设置信号BGS3和BGS1设置为001,如图15b所示。因此,设置块1236和1237的端子1302-c集中设置为1。进而将所有位线转接信号DSW16-DSW31都设置为1。另外,设置块1234中的设置电路1201-1207的端子1302-a集中设置为0。由于设置电路1207的端子1302-a与端子1302-c相连,所以设置电路S7的端子1302-c也设置为0。结果,所有位线转接信号DSW0-DSW7设置为0。
由于故障位置信号IOSEL8-IOSEL15为01000000,所以将为设置电路1209提供值为1的IOSEL9信号。结果是设置电路1209的端子1302-a与其端子1302-c断开。另外,由于设置电路1207的端子1302-a为0,所以,该逻辑电平不仅传输到设置电路1207的端子1302-c,还传输到设置电路1208。另外,由于设置电路1216的端子1302-c设置为1,所以,该逻辑电平不仅传输到设置电路1216的端子1302-a,而且一个接一个地传输到设置1215、1214等。因而,设置电路1208的端子1302-c设置为0,并且设置电路1209-1215的端子1302-c设置为1。因此,位线转接信号DSW8-DSW15设置为01111111。
接着,说明在与位线BL29相连的标准单元阵列中存在故障单元的情况。这些故障标准单元阵列的单元将利用冗余单元阵列取代,所以冗余选择信号YPR为1。另外,故障位置信号IOSEL29为1,而其它故障位置信号IOSEL0-IOSEL28和IOSEL30-IOSEL31为0。
如图15b所示,这种情况下,V设置信号BVS2-BVS4设置为111,G设置信号BGS1-BGS3设置为111。因此,设置块1234-1236的端子1302-a集中设置为0、这样将所有位线转接信号DSW0-DSW23设置为0。
此外,由于将被取代的标准单元阵列的位置,故障位置信号IOSEL24-IOSEL31设置为00000100。由于IOSEL24-IOSEL31信号,设置电路1229的端子1302-a与其端子1302-c断开。另外,由于设置电路1223的端子1302-a为0,所以该逻辑电平不仅传输到设置电路1223的端子1302-c,还一个接一个地传输到设置电路1224、1225等。另外,由于冗余选择信号YPR为1,该逻辑电平一个接一个地传输到设置电路1231、1230等。因而,设置电路1224-1228的端子1302-c设置为0,设置电路1229-1231的端子1302-c设置为1。因此,位线转接信号DSW24-DSW31设置为00000111。
如上所述,R/N转接设置电路140的设置电路1200-1231分成四个设置块(1234-1237),并且根据冗余位置信号IORED8和IORED16识别存在故障单元阵列的设置块的位置。然后,高于所识别设置块的设置块集中设置为1,低于所识别设置块的设置块集中设置为0。结果,即使输入/输出线数增大,也可以高速设置位线转接信号DSW0-DSW31。
尽管该实施例中介绍了不给设置块1237提供G设置信号BGS4的例子,但其可以改为产生G设置信号BGS4,并将该信号提供给设置电路1224-1231的端子1302-f。在该设置中,不根据冗余位置信号IORED8和IORED16产生设置信号BGS4,但可以在冗余选择信号YPR为0时,设置信号BGS4设置为0,和在信号YPR为1时将信号BGS4设置为0的方式产生该信号。即,仅在不采用冗余单元阵列时设置块1237输出为0的位线转接信号DSW24-DSW31,换句话说不存在所有信号DSW24-DSW31都设置为1的情况。
另外,尽管该实施例中说明了V设置信号BVS1不提供给设置块1234的例子,但其可改为产生V设置信号BVS1,并将该信号提供给设置电路1201-1207的端子1302-g。这种设置中,不根据冗余位置信号IORED8和IORED16产生设置信号BVS1,但可以在故障位置信号IOSEL0为1时,将设置信号BVS1设置为0,和在信号IOSEL0为0时将信号BVS1设置为0的方式产生该信号。即,仅在最低位线中存在故障单元阵列时,设置块1234输出为1的位线转接信号DSW0-DSW7,换句话说不存在所有信号DSW0-DSW7都设置为1的情况。
图16是展示本发明第四实施例的半导体存储器的主要部分的结构的框图。第四实施例描述了在一个存储块中提供两个冗余单元阵列,且利用块转接信号选择存储块的布局。
图16中,存储单元阵列1600包括四个存储块1601-1604。存储块1601具有四个标准单元阵列1605-00至1605-03和两个冗余单元阵列1606-01和1606-02,存储块1602具有四个标准单元阵列1605-10至1605-13和两个冗余单元阵列1606-11和1606-12。
行译码器1607以与第一实施例类似的方式译码从外部器件接收的地址,并激活多个字线WL中的一个。然而,多个字线WL共同与存储块(1601-1604)连接,这一点与第一实施例不同。
块选电路1608从外部接收一个信号,如块选信号。响应于所接收的信号,块选信号1608输出块选信号BS1-BS4。块选信号BS1-BS4使在给定的存取中,输出信号之一为1,其余为0。
在单元阵列(1605-00至1605-12)与位线BL0-BL3(也表示为1610-1615)之间提供选择晶体管1609-00至1609-05和1609-10至1609-15。块选信号BS1-BS4选择一个存储块(1601-1604),利用位线BL0-BL5控制单元阵列(1605-00至1605-13)的连接。存储块(1601-1604)中的存储单元可由为1的块选信号(BS1-BS4)和为1的字线WL选择,以此方式,可以从所选存储单元输出数据。
冗余确定电路1615具有熔丝单元1616-a至1619-a和1616-b至1619-b。表示是否每个存储块中用冗余单元阵列的信息和关于将要被取代的故障单元的位置的信息存储于每个熔丝单元(1616-a至1619-b)中。这与第一实施例类似。然而,与第一实施例不同之处在于,电路1615不用通过译码地址信号得到的信号,而是用由外部器件提供的块转接信号,选择一个熔丝单元(1616-a至1619-b)。即,上述块选电路1608的输出不仅用于选择存储块(1601-1604),而且可用于选熔丝单元(1616-a至1619-b)。
另外,每个存储块(1601-1604)可以设想有两个阵列组,每组包括两个标准单元阵列(1605-00/1605-01,1605-02/1605-03,1605-10/1605-11,1605-12/1605-13)和一个冗余单元阵列(1606-01至1606-12)。熔丝单元(1616-a至1619-b)可设置成两组,熔丝单元1616-a-1619a可以是每组的一个熔丝单元,1616-b至1619-b可以是每组的另一熔丝单元。
冗余确定电路1615根据块选信号BS1-BS4选择多个熔丝单元(1616-a-1619-b)中的一个单元,并以与第一实施例类似的方式输出冗余位置信号(IORED)。然而,与第一实施例不同这处在于,在任何一个熔丝单元选信号BS1-BS4设置为1时,冗余确定电路1615都选择一对熔丝单元(1619-a/1616-b,1617-a/1617-b,1618-a/1618-b,或1619-a/1619-b)。所选的熔丝单元对将提供两对冗余位置信号IORED。
图16中还描述了冗余位置译码器1620-a和1620-b,它们译码两对冗余位置信号IORED,并输出两对故障位置信号IOSEL。这两对故障位置信号IOSEL提供给R/N转接设置电路1621-a和1621-b。每个R/N转接设置电路1621-a和1621-b与第一至第三实施例的R/N转接设置电路140相同。
R/N转接设置电路1621-a和1621-b接收两对故障信号IOSEL,并由此产生一对位线转接信号DSW。DSW信号提供给R/N转接电路1622-a和1622-b。R/N转接电路1622-a和1622-b根据位线转接信号DSW控制开关SW0-SW3(1623-0至1623-3)的转接方向,并连接各单元阵列与对应的输入/输出I/O0-I/O3(也表示为1624-0至1624-3),以排除故障单元。
如上所述,第一至第三实施例所示的R/N转接设置电路还可应用于一种半导体存储器,这种存储器的单个存储块中具有多个冗余单元阵列,这样可以进一步提高修复速度。应注意,利用块转接信号等作为块选信号可以使存储块和熔丝单元的选择信号共享。此外,这种方法可减少提供所述冗余能力所需要的地址信号线数。结果,可以减少行译码器所采用的译码步骤数,进而极大地减小电路尺寸。
如上所述,本发明提供了一种具有标准单元阵列和冗余单元阵列的半导体器件。这种器件包括故障位置设置装置、故障阵列位置存储装置和故障位置传输装置。故障位置设置装置具有多个设置电路。这些设置电路一般设置为导电状态,它们彼此串联,每个设置电路的一端接第一逻辑电平,另一端接第二逻辑电平。故障阵列位置存储装置存储故障标准单元阵列的位置。故障位置传输装置给故障位置设置装置提供故障阵列位置存储装置的信息。在这样构成的半导体存储器中,控制一个设置电路,根据故障位置传输的输出将之断开。断开的设置电路将从故障标准阵列转接到冗余单元阵列。因此,在标准单元阵列发生故障时,其将与冗余单元阵列转接,转接可以高速执行,而且不会增大电路尺寸,即使是I/O线数增大也如此。
另外,应注意,所公开的实施例中,可根据多个行块存储故障阵列的位置。此外,I/O转接装置在标准单元阵列和冗余单元阵列之间转接,也可用于多个行块。以此方式,可减小采用这种冗余的器件的尺寸。
应理解,这里具体介绍了不同的特定实施例,但可以对本发明做出不同的改变、替换和修改,而不脱离本发明的精神实质和范围,因此,本发明仅由所附的权利要求进行限定。