具有高速页面模式操作的非易失性存储装置的制作方法

文档序号:6750059阅读:163来源:国知局
专利名称:具有高速页面模式操作的非易失性存储装置的制作方法
背景技术
发明领域本发明涉及一种具有单独的感应及存储电路以实现高速页面模式操作,如读取或编程,的改良型非易失性集成电路存储装置。
现有技术说明用于存储数据的半导体集成存储器电路装置通常分为两类一种为易失性,这种电路中一旦电源切断数据就所有丢失;另一种为非易失性,这种电路中即使电源关闭后数据依然保留。
由排列成多行及多列(或位线)的非易失性存储存储单元阵列组成的非易失性存储器,根据非易失性存储器存储单元在阵列中的排列方式可以分为NAND或NOR型。另外,非易失性存储单元可排列成以页面模式操作,其中一个数据页(通常是512个字节)存储在多个锁存器(或多个页缓存器),锁存器与存储器电路装置集成在一起。集成存储器电路设备的读取造成来自一个存储单元页的数据被读取并被存储在多个锁存器中。随后通常以串行方式集成存储器电路装置读取该多个锁存器的内容。对集成存储器电路装置的编程使得来自外部的数据被存储在多个锁存器中。随后该多个锁存器的内容被存储在一个非易失性存储单元页中。通常一个非易失性存储单元页位于同一行或同一字线。
采用传统的页面模式读操作,每当一字线被定址时,需要一个等待状态让芯片上的控制电路感应出存储在该选定字线的存储单元中的数据。在感应出后,数据被锁存于多个页缓冲器中,随后才被时钟输出至I/O垫。这个等待状态通常在七微秒左右,占据了平均页面模式读访问时间的一大部分。尤其是在读取大量数据的应用程序中,经常连续定址几个连续的字线。对每个被定址的字线用一个等待状态,总体读性能低劣。因此需要有一种将等待状态减至最少的非易失性存储器来提供高性能页面模式读取操作。
在现有的技术中,造成等待状态因素之一的是由于感应电路是和锁存电路一起提供用来沿着一个位线或一组位线感应及锁存存储单元的内容。因而各感应电路以及伴随的锁存器电路的节距必须相等,而且必须小到能够容纳对应的位线或位线组的节距。
在美国专利第5,768,215号中,为前述等待状态提出了一种解决方案,该方案设置两组页缓冲器,各组页缓冲器大小为一个存储单元页的一半。最初,来自第一个存储单元页的数据被读入两组页缓冲器。随后读取第一组页缓冲器,把其内容输出至外部。但是,一旦开始读取第二组页缓冲器的内容,第二页存储单元的读取开始,而自第二页存储单元的一半读出的数据被存储在第一组页缓冲器中。在第二组页缓冲器的内容被输出至外部后,也已经读取的第二页存储单元的一半并存储在第一组页缓冲器中。当第一组页缓冲器的读取开始时,也开始读取第二页缓冲器的另一半,并存储在第二组页缓冲器中。如此交替读取一个存储单元页的一半,并将数据存储在页缓冲器组之一中,同时继续读出另一组页缓冲器的内容。虽然这种技术可避免一定量的等待时间,但无法完全消除它们。
采用传统的页面模式编程操作,首先把数据顺序载入多个页缓冲器。无论要编程的位(或总共的字节)数目如何,载入多个页缓冲器的所有数据都将被同时编程写入一选定页的存储单元中。由于片上电路,例如电荷泵(由于编程通常需要电压比外部提供的电压要高的电压电源),只能提供有限的电流,故随着位元数目的增加,编程的效率会降低。由于电路板上电荷泵所提供的电流的限制,一种解决方案是需要更长时间来对一个(或多个)数据页进行编程。因此需要有新技术来提供高效率的编程。
NAND架构中所用的非易失性存储单元通常属于叠层栅类型,例如美国专利5,768,215中所公开的那样。此外,NOR架构中所用的非易失性存储单元可为叠层栅类型或分离型,如美国专利5,668,757中所公开的那样,以引用方式整体引入该专利的公开。
最后,在现有技术中,已经用组合感应放大器与锁存器的组合用来感应非易失性存储单元的内容,锁存器用来以页面模式操作存储来自感应放大器或外部的内容。但这种方法需要组合感应放大器/锁存器的节距与存储单元的节距相一致,就损害了感应放大器的性能。
发明概述本发明的一个目的是提供一种能够执行高速页面模式读取及编程操作的非易失性半导体存储器。
本发明的另一目的是提供一种能够执行高速页面模式读取及编程操作的多级非易失性半导体存储器产品。
为了实现本发明的目的,设计了一种快速电流电平转换器(QCLT)来和传统的页锁存器一起工作。每个QCLT是一个设计用来检测存储单元电流以及将电流转换成二进码的电流模式模数转换器(ADC)。二进码暂时存储在QCLT的Q锁存器,然后传输至页锁存器用以时钟输出。每个QCLT是由32条位元线共享的。这就导致了大节距宽度,它又导致了高速ADC。此外,QCLT也可修改用于多级存储单元电流感应。由于QCLT是电流模式的ADC,故可用于解析多级存储单元的存储单元电流。存储单元电流将被根据其信号幅度而转换成二进制代码。
本发明也能够进行无间隙读取。
附图概述

图1是本发明的集成存储器电路装置的平面图的示意布局。
图2A是一个示意图,描绘了本发明的装置中位线到页缓冲器的连接以及页缓冲器分组成为子页。
图2B是显示金属带到VSS的连接的示意图。
图3为详细的示意电路图,显示了本发明的装置中,由存储器阵列到感应电路以及由感应电路到页缓冲器的位元线间的连接,以及由页缓冲器至输出缓冲器的连接。
图3A是显示本发明装置的位元线预充电电路的详细电路图。
图3B是显示本发明装置的数据线预充电电路的详细电路图。
图3C是显示与本发明装置的各个页缓冲器相关联的感应放大器及读取-更改-写入电路。
图4是图3所示感应电路之一的详细电路图。
图4A是图3所示页缓冲器之一的详细电路图。
图4B是显示本发明装置的页面模式读取操作的时序图。
图4C是显示本发明装置的页面模式编程操作的时序图。
图4D是显示本发明装置的页面模式编程验证操作的时序图。
图4E是图4所示感应电路中用于程序验证部分的示意电路图。
图4F是图4所示感应电路中用于电流比较部分的详细示意电路图。
图5是本发明装置的示意框图。
图6是显示本发明装置的页面模式读取操作的时序图。
图7是显示本发明的页面模式读取方法中的子页预取操作的流程图。
图8是显示本发明的页面模式编程方法中的子页编程操作的流程图。
图9显示了多级单元的阈值电压分布、以及通过开关控制栅电压而检测单元电流的视图。
图10是图4所示用于多级操作的感应电路的示意电路图。
图10A是图3所示适合用于多级操作的页缓冲器之一的详细电路图。
图10B是用于图10所示感应电路的模式识别ROM电路的详细电路图。
图10C是显示用于本发明装置,被编程为条件“11”的多级存储单元的页面模式读取操作的时序图。
图10D为时序图显示用于本发明装置,被编程为条件“10”的多级单元的页面模式读取操作的时序图。
图10E是显示用于本发明装置,被编程为条件“01”的多级单元的页面模式读取操作的时序图。
图10F是显示用于本发明装置,被编程为条件“00”的多级单元的页面模式读取操作的时序图。
图10G是显示用于本发明装置,欲编程为条件“10”的多级单元的页面模式编程操作的时序图。
图10H是显示用于本发明装置,欲编程为条件“01”的多级单元的页面模式编程操作的时序图。
图10I是显示用于本发明装置,欲编程为条件“00”的多级单元的页面模式编程操作的时序图。
图10J是显示本发明装置的多级单元的页面模式程序验证操作的时序图。
图10K是图10所示电路中用于多级单元的页面模式程序验证部分的详细电路图。
图11是显示将一个存储单元子页编程为多级的方法的流程图。
图11A是显示将一个存储单元子页编程为多级的方法的另一流程图。
图11B是用在10所示感应电路中的另一模式识别ROM电路的示意电路图。
优选实施方案详述参照图1,显示本发明的集成存储电路装置10的板面示意布局。众所周知,装置10是由硅制成的,并且是集成电路装置或芯片10。在优选实施方案中,装置或芯片10是8M×8-位快闪EEPROM,使用安装在NOR阵列12中的分裂栅(splitgate)型非易失性存储单元,如美国专利5,668,757中所公开的那样,以引用方式引入该公开。如美国专利5,668,757所公开的那样,由热沟道电子隧穿而对存储单元编程。此外,在优选实施方案中,虽然装置10在NOR阵列12中装有非易失性存储单元,但装置10模拟NAND型页面模式装置的操作。但应该注意到本发明并不局限于此种特定的密度或配置或操作模式。
存储单元阵列12位于装置10的中心。在阵列12的左侧,放置了一个控制栅解码器14。在阵列12的右侧,放置了一个字线解码器16。阵列12的上方放置了多个页缓冲器18。在优选实施方案中,与一个存储单元页(1024×8)对应的有512×8个页缓冲器。外围电路24位于装置10上侧。在装置10左侧放置了电荷泵22。在装置10右侧放置了电流泵20。在装置10的角落附近放置了外围设备(如I/O外设、电源外设及控制外设)。
由于存储单元阵列被配置为8M×8-位,整个存储单元阵列12被划分成八个相同的子阵列(子阵列12-0、子阵列12-1、...子阵列12-7)。各个子阵列有对应的I/O。因而,子阵列12-0对应于I/O-0...子阵列12-7对应于I/O-7。虽然存储单元阵列12被划分成八个相同子阵列12-n,但来自字线解码器16的每条字线、以及来自控制栅解码器14的每条控制栅线都是“水平”穿越所有八个完全相同的子阵列12-n。在优选实施方案中,字线及控制线交叉了1024×8个单元,每个单元有相关的位线。因而每个子阵列12-n有1024个单元。在每个子阵列12-n有512个页缓冲器18。因而与每个页缓冲器18相关的有两个存储单元。为了简化说明,在后面的图中只描述和显示了八个子阵列12-n其中之一及其对应的页缓冲器18-n。
参照图2A,多个相邻信号线PDB0至PDB511与页缓冲器18L相连。每个信号线PDB与一个页缓冲器18L相连。因而共有512个页缓冲器18L。每条信号线PDB还进一步通过位线开关46L、感应放大器36U、及位线开关46U及44,最终与一对紧密相邻的位线BLj及BL(j+1)相连,连接至存储器阵列12(参考图3)。因而512条PDB线把512个页缓冲器连接到1024个位线BL。接着每条位线(BLx)又连接到一列非易失性存储单元。当选定一行特定的存储单元时,与512个PDB线相关的有1024存储单元。连接到信号线PDB0-PDB511的所有512个(由#0至#511)页缓冲器18L进一步分组成16交叉的子页18L-n。因而每个子页18L-n包含32个页缓冲器18L。各子页18L-n及其成员的分组如下子页n包含PDB[16k+n]此处n=0,1......,15;k=0,1......,31;因而子页18L-0包含连接到PDB
、[16]、[32]、[48]、......、[496]的页缓冲器18L子页18L-1包含连接到PDB[1]、[17]、[33]、[49]、......、[497]的页缓冲器18L子页18L-2包含连接到PDB[2]、[18]、[34]、[50]、......、[498]的页缓冲器18L...
最后,子页18L-15包含连接到PDB[15]、[31]、[47]、[63]......、[511]的页缓冲器18L由前述可知,每个子页18L-n包含位置未彼此紧密相邻的页缓冲器18L。而是同一子页18L-n的页缓冲器18L连接到相互等间距(间距为15页缓冲器18L的大小)分开的信号线PDB并且组合在一起形成一个子页。因而16个子页18L-0到18L-15彼此交织。采用这种配置,在子页预取期间,由选定的存储单元抽取的电流可以跨越整个存储单元子阵列12-n而均匀地展开,而不是群集于窄如32个相邻的PDB信号线间距一样的区域上。两个相邻PDBs间的距离是根据存储单元的源扩散区的表面电阻而仔细选择的。
参照图2A,每个存储单元的源线由局部扩散路径而连接在一起。一条金属带水平通过单元阵列。周期性VSS分接头连接局部扩散路径至VSS。如果子页距离L长到足以为图中所示的每条选中的位线提供1个VSS开关,则VSS反跳(bounce)(或地面反跳)将减至最低,为Icell×Rdiff。此处Icell是单元电流,Rdiff为扩散电阻。如果子页距离缩小至L/4,则一个VSS分接头由4个选定的位线共享,则图2B中所示的这4条位线的VSS反跳将会有不同程度的增加。因此在VSS布局区域的恶化和VSS反跳之间进行折衷可以获得L的理想数值。
参照图3,显示了来自存储器阵列12的位线BL0...BL1023(如图1所示)到装置10的输出的互连示意图。来自存储器阵列12的1024个位线首先被提供给位线开关44。提供给位线开关44的1024条位线被减至512条信号线MBLx(x=0,511)。因而,每对相邻位线BLj及BL(j+1)与信号线MBLx相连。有512条信号线MBLx被提供给第一列解码器46U。第一列解码器46U也接收列信号YLS(0...15)。每16个相邻的MBL信号线被指定给1条XDL线。因此512条MBL信号线被解码成32条XDL线。第一列解码器46U是作为多路复用器/多路分配器用来从16条MBL线中选择一条连接到单条XDL线。32条XDL线中的每一条都被提供给各自的感应电路36U。因而在页缓冲器18U/18L的第一段18U有32个感应电路36U。
由于每个感应电路36U与32条位线BL相关,因而每个感应电路36U的大小(宽度)可以是各存储单元间距或大小(宽度)的32倍。因而感应电路36U比各存储单元要大得多。
图3A是一个示意图,显示了位线预充电电路36U-8/36U-9/36U-10。这些预充电晶体管用于在启动页面模式读操作之前把选中的位线预先充电到预定的电压电平BIASP。预充电晶体管由信号XDLpb激活。
每个感应电路36U有一个输出SDLBx(0...31)。32条SDLB线被提供给第二列解码器46L,其亦由列信号YLS(0...15)解码,并连接32条SDLB线到512条PDBx(0...511)线。第二列解码器也作为多路复用器/多路分配器用来连接QCLT 36U的单一输出至选定的16条PDB线之一。有512条PDR线被提供给页缓冲器18U/18L的第二段18L的多个锁存器34,512条PDB线中的每一条都有一个锁存器34与之相关。512个锁存器34被分成32个子页36L。每个子页36L包含32个锁存器34,每个锁存器3 4与一条彼此间隔的PDB线相关,上述所有皆可参照图2A。
每个锁存器34的输出与输出线PDx相连(实际上输出线PDx是一对输出线,包含PDx及PDx(bar))。因为有512个锁存器,因而有512输出线PDx。16个相邻的锁存器3 4及其相关的输出线PD(x,x+15)被组合在一起形成一个组。共有32组输出线PDx。这32组输出线PDx被提供给第三列解码器38,列解码器38也充当多路复用器/多路分配器。第三列解码器38基于选择信号YL0...YL15从每个组36L中选择输出线PDx之一。因而第三列解码器38选定了32个输出,每组36Lx一个,代表来自同一选定子页18-n的锁存器34的所有输出。
第三列解码器38的32个输出被提供给预充电电路38P,该电路在节点DLU0...DLU15、DLU0...DLU15输出这32个信号(如图3B所示)(同样,每条线代表一对输出线)。预充电电路38P的预充电晶体管用于在开关第三列解码器38之前为中间节点DLUx预充电。
图3B是一个示意电路图,显示了DLUx预充电电路38P/40P。
信号DLU0...DLU15、DLU0...DLU15从预充电电路38P的输出被提供给第四列解码器40。第四列解码器40基于选择信号YU0...YU15,从第一组16个DLU信号选择输出线之一,并从第二组16个DLU信号选择输出线之一。因而第四列解码40选择了2个输出,每个输出都是一对线。
来自第四列解码器40的两个输出被提供给预充电电路40P,它在节点DLL0及DLL1上输出2个信号。预充电电路4 0P的预充电晶体管用来在开关第四列解码器40之前,给中间节点DLLx预充电。
信号DLL0及DLL1由预充电电路40P被提供给第五列解码器42,第五列解码器又根据选择信号Z0及Z1选择这两个信号之一作为输出DL(一对输出线DL及DLB)。选定的信号DL(DL及DLB)被从第五列解码器42提供给输出缓冲器48。
因而经过第三、第四及第五列解码器38/40/42的作用,存储在来自选定子页18L-n的锁存器34中的一个信号(包括信号及其补码)由装置10输出。预充电电路38P/40p只用来在激活列解码器38/40/42之前为特定的节点预充电。由于所有这些中间节点DLUx/DLLx都载有大寄生电容,因而对列解码器38/40/42的任何开关都将造成对数据锁存器34的干扰。为了防止此种干扰,所有DLUx/DLLx节点都必须在开关之前预充电到VCC-VTN。
图3C是一个示意电路图,详细显示了输出缓冲器48。表示来自选定页缓冲器18L的锁存器的输出的数据信号及数据反相信号的该对输出信号DL及DLB被提供给差动放大器48SA。差动放大器48SA的输出DOUT被提供给一系列锁存器,然后提供给多路复用器/多路分配器48M。在页面模式操作中,这将是信号的路径。但装置10也可以非页面模式操作,其中来自非易失性存储单元的信号被直接读出而不是存储在页缓冲器18L中。这种情况下,来自非易失性存储单元的信号连同来自参考存储单元的信号一起被提供给感应放大器48NA。感应放大器48NA的输出被提供给一系列锁存器、并被提供给多路复用器/多路复用器48M的另一输入。多路复用器/多路分配器48M的输出被提供作为装置10的输出。
来自感应放大器48NA的被锁存的信号CSAOUT也被以反馈方式供给反馈电路48R,反馈电路48R与输出线DL及DLB相连,锁存器信号被用在编程期间的读-修改-写模式中,容后详述。
参照图4,显示了图3所示感应电路36U的详细电路图。感应电路或快速电流电平转换器(QCLT)36U接收输入线XDL上的数据,并将它的输出提供给SDLB。每个XDL通过第一列解码器46U与多个位线相连。每个SDLB通过第二列解码器46L与多个页锁存器36L相连。页锁存器通过列解码器38/40/42与对应的输出缓冲器相连。
QCLT 36U是一个电流模式模数转换器,它把局部数据线XDL上的输入电流信号转换成二进制码,并把这些二进制码存储在图4所示的Q-锁存器36U-2中。存储在Q-锁存器36U-2中的数据将被传输到页锁存器34以用于时钟输出。在页面模式非易失性存储器的现有技术中,电流感应装置通常和数据存储装置组合在一起形成复杂的页缓冲器。这种复杂的页缓冲器通常难以在紧密的位线节距内布局。同时,紧密的节距还限制了页缓冲器设计的细致程度。此外为了适应节距,电流感应装置经常制作成原始形式。与现有技术不同,在本发明中,感应装置(QCLT)36U与数据存储装置(页锁存器34)完全分离。每32个位线共享1个QCLT。QCLT的节距较大。采用这种设计,感应装置QCLT可进行高精度的电流感应,同时页锁存器设计也能尽可能的简单以适应紧密的节距。
图4是QCLT 36U的示意电路图。各QCLT包含Q锁存器36U-2、电流模式比较器36U-1、程序驱动电路36U-12、程序验证电路36U-13、预充电晶体管36U-10、以二极管连接的PMOS晶体管36U-7、三态反相器36U-3、直通栅晶体管36U-8/36U-9/36U-11/36U-4/36U-17、锁存器复置电路36U-6、两个锁存器预置电路36U-5/36U-14,所有这些部件及其连接都如图4所示。下面将讨论QCLT 36U的操作。
图4A是页锁存器34的示意电路图。此页锁存器34简单得就是一个SRAM单元。
QCLT 36U的编程/读取操作如下。
参照图4B,显示了本发明的读取操作的详细时序图。
为了进行读取操作,首先由复置电路36U-6把Q锁存器36U-2的数据节点QD复置到0V。由预充电电路36U-10把选定的位线BLx(由XDL连接)预充电至BIASL-VTN。PMOS晶体管36U-7把单元电流映射到比较器36U-1。如果选定的单元没有导通任何电流,比较器36U-1的输出V0就维持在0V。如果选定的存储单元导通了高于预定值的电流,则V0变成VCC。节点V0上的数据被提供给预设电路36U-5,而且当信号latRd为高时,节点QD上的数据被提供给VCC。尽管1atRd高,但反相器36U-3仍然被三态化以防止到比较器36U-1的噪音反馈。随后通过把信号xtlat及pglat都转换成高,数据节点QD将通过数据线SDLB被传输至页锁存器34节点PD(如图4A所示)。一旦数据节点QD在感应之后变为高,直通栅晶体管36U-8将被切断,比较器36U-1将被断开和选定的位线XDL以及和选定的存储单元的连接。由此,选定的存储单元在感应之后不再导电流,功耗也会大大减少。
参照图4C,显示了本发明的编程操作的详细时序图。
在开始编程操作前,由信号Rstpgb复置所有页锁存器34。然后通过第三列解码器38/40/42把要编程的数据从IO垫装入选定的页锁存器34。因为每个QCLT 36U的节点SDLB都与多个页锁存器34相连,因而在一次程序迭代期间,只有一个来自页锁存器34的数据可被上传至Q锁存器36U-2用于编程。为了上传选定的页锁存器数据,信号pglat及xtlat都被切换至高,并通过把ph2切换至低(切换ph2b为高)而三态化Q锁存器36U-2。其次,信号pgmd接通直通栅晶体管36U-11,它连接程序驱动器电路36U-12到局部数据线XDL。XDL通过第一列解码器46U与选定的位线相连。
根据存储在Q锁存器36U-2的数据,选定的位线将被驱动至VCC-VTN或0V。如果要把选定的存储单元编程为比其初始值更高的阈值电压,那么它的位线将被降至0V(此为程序状态)。如果不打算更改选定存储单元的阈值电压,那么它的位线将被提升至VCC-VTN(此为程序禁止状态)。
参照图4D,显示了本发明的编程验证操作的细节时序图。
编程验证操作和图4B中所示的电流感应操作类似,所不同的是以不同方式修改Q锁存器36U-2的数据节点QD。图4B中,如果选定的存储单元导通的电流高于预定值,节点QD将被翻转至0V。图4D图中,如果选定的存储单元没有导通电流,则节点QD将被翻转至VCC。如果对选定存储单元成功地进行了编程,则其阈值电压将高于预定值,并且在验证条件下将不再导通电流。一旦达到此种无电流状态,节点QD将被翻转至VCC,其对应的位线也将被提升至VCC-VTN(“编程禁止”态)。每个QDB都被被NOR接线至PVDT,如图4E所示。如果所有QDB都是高电平,则PVDT也将变成高电平。通过检查PVDT,可以确定程序迭代为“通过”或“故障”。
参照图4F,显示了电流模式比较器36U-1的详细电路图。比较器36U-1接收输入电压线(如图4中的Vin所示)和参考电压Vref(如图4中的BIASR所示),分别转换成电流信号Iin及Iref,并根据比较产生输出电压Vout(如图4中的Vo所示)。
图5是一个电路框图,显示了依照本发明的优选实施方案执行编程和读操作的不同电路。
本发明的装置还能进行所谓的“无间隙读取”。图6图是执行页面模式无间隙读操作的时序图。图7是执行图6所示页面模式读取操作的流程图。
在“无间隙读取”操作中,预充电晶体管36U-10(显示于第3A图)用来在开始页面模式读取操作前将选定的位线预充电至预定电压电平BIASL-VTN。预充电晶体管由信号XDLpb激活。信号YLSx是解码过的信号,它表示对特定子页18L-x的选择。当激活了特定的YLSx时,它对与子页18L-x相关联的32个位线预充电。例如,如果激活YLS0,则位线BL0、BL16、BL32、BL48、......、BL496都被预无电至BIASL-VIN。
为了执行页面模式读取操作,首先由锁存器重置电路36U-6重置Q锁存器36U-2,并由位线预充电电路36U-10把选定的位线预充电至BIASL-VTN电压电平。根据存储在选定存储单元中的数据,MBL(或位线或列线)将在位线预充电后被驱动至两种二进制电压电平之任一高或低。存储在存储单元的数据可以是下列两种状态之一ON或OFF。每个状态表示一个二进制数据1或0。如果选定的存储单元处于ON状态,这个存储单元将提取电流以将MBL由预充电电平BIASL-VTN放电至0V(低电平)。如果选定的单元处于OFF状态,这个单元就不抽取电流,MBL维持在预充电电平BIASL-VTN(高)。在预充电后的位线到达电稳态后,存储在选定的存储单元中的数据被转换为XDL上对应的电压电平。
在显示为“感应出子页(0)YLS<0>”的阶段一个特定子页X被选中。当信号XDLpb走低时,选定的位线被预充电。当YLS<0>第一次走高时,Rstqclt为高会导致出现锁存器36U-2的复置,并且第一列解码器46U中的晶体管也被导通。然后来自选定子页x的存储单元被读取并存储在相关联的锁存器3 4中。在显示为“感应出子页(1)YLS<1>”的下一阶段,选定第二个特定的子页x+1。然后来自选定子页x+1的存储单元被读出并存储在相关联的锁存器3 4中。在显示为“时钟输出子页YL<0>”的下一时段中,存储在子页x相关的锁存器3 4中的数据被时钟输出。在显示为“时钟输出子页YL<1>”的下一时段中,存储在与子页x+1相关联的锁存器34中的数据被时钟输出。但同时来自选定的第三个特定子页x+2的存储单元被读出且存储在相关联的锁存器中。随后,在每个时段中,在来自与另一子页相关的存储单元的数据被读出且存储在其相关联的锁存器中的同时从锁存器34读取数据。
图8是执行图4C~4D图所示页面模式编程操作的流程图。这个流程图包含两个主循环。在开始编程操作前,所有页锁存器必需被复置成“编程禁止”状态,起始地址必需输入芯片上的地址计数器。编程的起始地址将由第一组片上地址寄存器锁存。在循环1中,数据的字节将被顺序装入页锁存器。随着地址计数器的增加,第二组地址寄存器存储最后的地址作为编程的结束地址。在循环2中,将对连续的子页依次编程。如上所述,两组地址寄存器用来存储编程的起始地址及结束地址。因此在这个循环中,只有先前在循环1中装入数据的那些子页才会被编程。也可为循环2中的每个子页编程嵌入编程验证。
至今所描述的电路也可用来在存储单元中存储多级。在随后的描述中,将详细说明能够进行多级页面模式读取及编程操作的实施方案。
图9显示在快闪存储器阵列中的多级单元的典型阈值电压分布。单元阈值电压分成四组。为每组指定两位二进制代码。在这个图中,为最低阈值电压值组指定状态“11”,为最高阈值电压值组指定状态“00”。采用这种状态分配,二位二进制数据被映射到4个阈值电压电平。因此,可以四种不同阈值电压电平形式存储两位元二进制数据。为了操纵阈值电压电平,单元首先被清至其最低阈值电平“11”。然后用多步编程迭代来逐步升高阈值电压,直至达到期望的电平。
为了读取多级存储单元,采用多步骤感应操作来检测阈值电压电平,并把其转换成两位二进制码。在多步骤感应期间,多级电压源被施加至CONG终端。施加至CONG的可变电压电平用来作为检测阈值电压的参照。检测算法是众所周知的“多次逼近”。最初,CONG被设定为VCR1,感应电路被导通以检测选定的存储单元是否导通电流。如果存储单元导通电流,则阈值电压属于“11”组。如果存储单元不导通电流,CONG将被设定为VCR2以感应更高的电平。CONG电平被逐步地每次升高一些以感应更高的阈值电压电平。一旦找到选定存储单元的阈值电压电平,就指定并存储对应的二进制码。
图10是用于多级读取/编程操作的从图4修改而成的QCLT 36U的示意图。基本结构与图4所示实施方案大体相同,但与电路36U-2相关的Q锁存器加倍,如36U-2H及36U-2L所示,并增加了模式识别电路PTR 36U-15/36U-16H36U-16L。
图10A显示了多级操作的页锁存器34。
图10B是模式识别装置PTR的示意电路图。PTR电路用来有选择地接受或拒绝一些特定的数据模式。在编程迭代开始前,PTR电路只接受载入Q锁存器36U-2H/36U-2L的数据的特定模式。如果载入Q锁存器36U-2H/36U-2L的数据未被PTR接受,则Q锁存器36U-2H/36U-2L将被复置为“编程禁止”状态。这种模式选择装置能够消除对无需编程的存储单元的过度编程。
这种多级QCLT36的编程/读取操作细节说明如后。
参照图10C~10F有关单元电流感应的详细时序图。
多级读取操作被分成3个连续段。在第一段,Q锁存器36U的输入{QDH,QDL}首先被36U-6H/36U-6L分别复置为{0,0}状态。CONG被连接到多级电压源的VCR1输出,选定的位线由36U-10预充电至BIASL-VTN。PMOS晶体管36U-7把单元电流映射至比较器36U-1。如果选定单元的阈值电压高于VCR1,则比较器36U-1的V0维持于0V。否则,如图10C所示,当信号latll(提供给36U-5H/36U-5L)为高时V0变成VCC并且Q锁存器36U-2H/36U-2L的输入{QDH,QDL}被翻转成{1,1}状态。当lat11为高时,反相器36U-3H/36U-L被三态化以消除反馈回比较器36U-1的噪音。一旦Q锁存器36U-2H/36U-2L的输入{QDH,QDL}在感应后变成{1,1},则直通栅晶体管36U-8H/36U-8L将被切断,并且比较器36U-1也将和选定的存储单元断开。由此,在感应后选定的存储单元不再导通电流,并且在感应操作的其余时间数据{QDH,QDL}被冻结。
在第二段,CONG被提高至VCR2,并被选定的位线预充电。如果选定单元的阈值电压高于VCR2,则比较器36U-1的V0维持于0V。否则如图10D所示,当信号lat10为高时,V0变成VCC,且Q锁存器36U-2H/36U-2L的输入{QDH,QDL}被翻转成{1,0}状态。一旦输入{QDH,QDL}在感应后变成{1,0}状态,则直通栅晶体管36U-8H将被切断。在感应操作的其余时间,数据{QDH,QDL}将被冻结。
在第三段,CONG被提高至VCR3,选定的位线被预充电。如果选定存储单元的阈值电压高于VCR3,则比较器36U-1的V0维持于0V。否则,如图10E所示,当信号lat01为高时,V0变成VCC,{QDH,QDL}被翻转为{0,1}状态。一旦{QDH,QDL}在感应后变成{0,1},直通栅晶体管36U-8L将被切断。在感应操作的其余时间,数据{QDH,QDL}被冻结。
如果选定单元的阈值电压是高于VCR3,则{QDH,QDL}维持于{0,0}状态,如图10F所示。
当信号xtlatH/xlatL及pglatH/pglatL变为高时,数据{QDH,QDL}将通过局部数据线SDLB被传输到页锁存器34H/34L的节点{PDH,PDL}。
至于将单元编程为多级,参照图10G~10I中的详细编程时序图。
在开始编程操作前,由信号Rstpgb复置所有页锁存器34。然后通过第三列解码器38/40/42把要编程的数据从I0设备载入选定的页锁存器34。由于每个QCLT 36U的节点SDLB都与多个页锁存器相连,这些页锁存器数据中只有一个{PDH,PDL}对可在一次编程迭代期间上传至{QDH,QDL}进行编程。为了上传所选的{PDH,PDL},pglatH/pglatL及xtlatH/xlatL被切换成高,并通过切换ph2/ph3为低(ph2b/pb3b为高)而使Q锁存器36U-2H/36U-2L三态化。
载入{QDH,QDL}后,通过适当地切换信号loadPatL、loadPatM、loadPatH及patRec而激活PTR 36U-15以检验{QDH,QDL}的数据模式。不同的{QDH,QDL}模式表示单元将被编程的不同阈值电压电平。本发明的多级编程算法则将根据目标阈值电压电平有选择地接受特定{QDH,QDL}模式。如果{QDH,QDL}模式未被PTR所接受,则{QDH,QDL}将被36U-16H/36H-16L设定为“编程禁止”状态(“11”状态)。例如,如图10G所示,目标阈值电压电平为“10”。数据模式“10”、“01”、“00”将被接受,数据模式“11”为“编程禁止”状态。图10H中目标电平为“01”。数据模式“01”及“00”可以被接受。模式“10”被拒绝,原因在于电平10低于目标电平而不能过量编程至电平“01”。在图10I中,目标电平为“00”,数据模式“01”、“10”将被拒绝以防止被过量编程成为电平“00”。
随后,信号pgmd导通连接编程电路36U-12到局部数据线XDL的直通栅晶体管36U-11。XDL通过第一列解码器46U连接至选定的位线。根据Q锁存器中所存储的{QDH,QDL}数据,选定的位线将被驱动至VCC-VTN或0V。如果选定的存储单元将被编程至比其初始值更高的阈值电压,则其位线将被下调至0伏特。如果选定存储单元的阈值电压不会被修改,则其位线将被上调至VCC-VTN。图10J是多级编程验证的时序图。
编程验证操作类似于图10C所示的电流感应操作,不同之处是以不同的方式修改数据{QDH,QDL}。根据目标阈值电压电平,CONG被设定为VCR1、VCR2或VCR3之一。如果选定存储单元未导通电流,则{QDH,QDL}将被翻转为“编程禁止”状态(“11”状态)。如果选定存储单元被成功地编程,则其阈值电压将高于目标电平,并且在验证条件下将不导通电流。一旦达到无电流状态,{QDH,QDL}将被翻转为“11”,其对应位线也将被上调至VCC-VTN(“编程禁止”状态)。每个QDHB/QDLB也都被NOR接线至PVDT。如果所有QDH/QDL都变成高,则PVDT也变高。通过检验PVDT,可确定编程迭代是“通过”或“故障”。图10K显示了QDHB/QDLB节点被如何接线来形成NOR逻辑。
图11是执行多级页面模式编程操作的流程图。这个流程图与图8大体相同,不同的是增加了一个额外的数据模式识别算法以消除过量编程(参照图10B PTR)。
图11A是由第11图修改而成的另一流程图。这个流程图中,更改了数据模式识别算法,图11B中所示的新PTR用来代替图10B的PTR。于在这个新算法中,对每个目标阈值电压电平只接受一种特定的模式。例如,如果目标电平是“10”,则只接受模式“10”,所有其它模式都被拒绝(翻转为“编程禁止”状态)。
参照图10B,显示了PTR 36U-15的一种实施方案。信号loadPatAII被提供给晶体管80的栅极。晶体管80连接输出信号hitb到节点98。在节点98有6个并联的分支通路标示为a、b、c、d、e及f。信号loadPatL被提供给晶体管82a、82b及82c的栅极。信号loadPatM被提供给晶体管84d及84e的栅极。信号loadPatH被提供给晶体管86f的栅极。数据信号QDH被提供给晶体管88c的栅极。信号QDH的反相QDHB被提供给晶体管90a、90b、90d、90e及90f的栅极。信号QDL被提供给晶体管92b及92e的栅极。信号QDL的反相QDLB供给晶体管94a、94c、94d及94f的栅极。如同从图10B所看到的那样,同一电流通路的所有晶体管(a、b、c、d、e或f)是串行连接的。因而晶体管82a、90a及94a是串行连接的。同样晶体管82b、90b及92b也是串行连接的。虽然在图10B中显示的名称是“00”、“01”及“10”。但应该注意到这些并非输入。而是注释,显示{QDH,QDL}状态何时连接hitb到地,如下所述。
在图10B中,当loadPatAII=1时,晶体管80连接hitb到节点98。此外,如果loadPatL=1以及如果QDHB=“1”及QDLB=“1”,则hitb将通过晶体管82a、90a及94a连接至Vss。当QDHB=“1”且QDLB=“1”时,这意味着信号的反相,或QDH及QDL皆为“0”。因而当{QDH,QDL}处于{0,0}状态时hitb被接地。同样,如果loadPatL=1且{QDH,QDL}处于{0,1}状态,则hitb通过晶体管82b、90b及92b接地。如果loadPatL=1且{QDH,QDL}处于{1,0}状态,则hitb通过晶体管82c、88c及94c接地。当loadPatM=1且{QDH,QDL}处于{0,0}状态时,或当loadPatM=1且{QDH,QDL}处于{0,1}状态时;或当loadPatH=1且{QDH,QDL}处于{0,0}状态时,出现hitb何时被接地的其它三种条件。一旦hitb=0,数据{QDH,QDL}就会被接受并将被编程入存储单元。
相反,在图11B中,当loadPatAII=1且loadPatL=1时,如果{QDH,QDL}状态为“10”,则hitb将变成0。当loadPatAII=1、loadPatM=1时,如果{QDH,QDL}状态为“01”,则hitb将变成0。
最后当loadPatAII=1且loadPatH=1时,如果{QDH,QDL}状态为“00”,则hitb将变成0。一旦hitb=0,{QDH,QDL}数据就会被接受并将被编程入存储单元。
参照图11图中所示编程算法,采用了图10B的PTR。当编程电平=“10”,loadPatAII=1且loadPatL=1时,如果{QDH,QDL}等于“00”、“ 01”或“10”的任意一个,hitb将为0。将要编程为三种不同电平“00”、“01”、“10”的单元首先被编程为电平“01”,如图10G所示。当编程电平=“01”,loadPatAII=1且loadPatM=1时,如果{QDH,QDL}等于“00”或“01”中任一,则hitb将为0。如果{QDH,QDL}=“10”,则hitb将为1并且{QDH,QDL}也将被翻转为“11”。将要编程为两种不同电平“00”或“01”的单元随后被编程成为电平“01”,如图10H所示。当编程电平=“00”,loadPatAII=1且loadPatH=1时,如果{QDH,QDL}等于“00”,则hitb将为0。如果{QDH,QDL}=“01”或“10”,则hitb将为1且{QDH,QDL}也将被翻转为“11”。将被编程成为电平“00”的存储单元随后被编程成为电平“00”,如图10I所示。本算法中,将被编程为不同电平(“00”、“01”、“10”)的单元经这种方式编程后,所有那些存储单元首先都被编程为最低电平(本例为“10”),而不管它们各自的目标电平。接着,在随后的编程区间,存储单元被编程为中间电平(“01”)。在这个编程区间中,目标为电平“10”的单元将被PTR装置有选择地拒绝(当hitb=1时)。只有目标电平为“00”及“01”的单元将被编程为电平“01”。同样,在最后的编程区间中,只有目标电平为“00”的单元将被编程为电平“00”,而目标电平为“10”及“01”的单元将被有选择地拒绝。
图11A与图11的编程算法区别只在PTR装置部分以及基于这种差异的操作方法。在图11A所示的编程算法中,采用了图11B的PTR。当编程电平=“10”,loadPatAII=1且loadPatL=1时,只在{QDH,QDL}等于“10”时,hitb才为0。将被编程为电平“10”的单元被编程为电平“01”。当编程电平=“01”,loadPatAII=1且loadPatM=1时,只在{QDH,QDL}等于“01”时hitb才为0。将被编程为电平“01”的单元被编程为电平“01”。当编程电平=“00”,loadPatAII=1且loadPatH=1时,只在{QDH,QDL}等于“00”时hitb才为0。将被编程为电平“00”的单元被编程为电平“00”。在这个算法中,将被编程为不同电平(“00”、“01”、“10”)的单元被以这样的方式编程,其结果是相同目标电平的单元在一个编程区间内被编程为各自的目标电平。在电平“10”的编程区间,电平“00”及“01”将被拒绝(hitb=1)。在电平“01”的编程区间,电平“00”及“10”将被拒绝。在电平“00”的编程区间,电平“01”及“10”将被拒绝。
权利要求
1.一种集成电路非易失性存储装置,包含一非易失性存储单元页面,排列成多个非易失性存储单元子页,这些子页与相应的多个字线和多个位线电耦合;第一多路复用器/多路分配器电路,与所述多个位线电耦合,并用于与多个第一多路复用的线接口;多个电流感应放大器,各自有一输入线及一输出线,所述输入线与第一多路复用的线相耦合;每个电流感应放大器,具有对应于第一多个位线的节距,用于共享来自所述第一多个位线对存储单元的感应;所述多个电流感应放大器用于产生沿着所述多个输出线供应的多个感应信号;第二多路复用器/多路分配器电路,它与所述多个输出线电耦合,用于与多个第二多路复用的线接口;多个电页锁存器,各自有一锁存输入线及一锁存输出线,该锁存输入线与第二多路复用的线相耦合;每个页锁存器具有对应于第二多个位线的节距用于共享到或自第二多个位线的非易失性存储单元的数据的存储;该多个页锁存器用于存储多个数据;I/O数据缓冲器,与所述多个页锁存器的所述锁存输出线相耦合;以及读取控制器电路,用于初始化读取操作以通过所述多个电流感应放大器从非易失性存储单元所述页读取数据,同时由所述页锁存器传输数据至所述I/O数据缓冲器。
2.权利要求1的装置,其中对应于第一多个位线的所述节距大于对应于第二多个位线的所述节距。
3.权利要求2的装置,其中每个电流感应放大器具有对应于32位线宽度的节距。
4.权利要求3的装置,其中每个页锁存器具有对应于两个位线宽度的节距。
5.权利要求1的装置,其中所述读取控制器电路初始化读取操作以通过对应的电流感应放大器从非易失性存储单元的第一子页读取数据,同时把数据从页锁存器的第二子页传输至所述I/O数据缓冲器。
6.权利要求1的装置,其中每个子页还包含多个非相邻均匀间隔的位线,存储单元耦合于其上。
7.权利要求1的装置,其中每个电流感应放大器包含电流比较器,它有两个输入端和一个输出端,第一输入端用于接收来自第一解码过的列线的第一电流,第二输入端用于接收参考电流并沿所述输出端提供结果信号;锁存器,用于存储来自所述比较器的所述输出端的所述结果信号;复置电路,用于复置所述锁存器;以及三态隔离电路,位于所述锁存器与所述第一解码过的列线间,用以隔开所述锁存器与所述第一解码过的列线。
8.权利要求7的装置,其中所述电流感应放大器还包含多个锁存器,用于存储来自多级非易失性存储单元的数据。
9.一种集成电路存储装置,包含浮栅存储单元阵列,它与相应的多个字线和多个位线电耦合;所述阵列被排列成存储单元多个子页,各存储单元用于存储由多个位表示的多个状态;多个子页缓冲器,它们被电耦合到所述多个位线,用于存储外部提供给该装置的并且将被编程入与所述多个位线耦合的所述存储单元的数据;编程控制电路,它包括一模式识别电路,与该多个子页缓冲器相耦合,用于初始化编程操作以把数据顺序地从一个子页缓冲器编程至存储单元的相关子页,并用于控制对各存储单元从一种状态到另一种状态的编程,直到来自所述多个子页缓冲器的数据被编程入所述多个子页存储单元为止。
10.权利要求9的存储装置,其中每个子页还包含多个非相邻均匀间隔的位线,存储单元耦合于其上。
11.权利要求10的存储装置,其中每个子页缓冲器与多个相邻位线相关联;并且列选择电路用于选择子页缓冲器至所述多个相邻位线之一。
12.权利要求9的存储装置,其中模式识别电路包含一个组合逻辑电路,用于决定何时到达各存储单元的多个状态并用于禁止把所述存储单元编程为不同状态。
13.一种对非易失性存储装置编程的方法,该非易失性存储装置具有一非易失性浮栅存储单元阵列,这些存储单元与相应多个字线及多个位线电耦合;该阵列被排列成多个存储单元子页,该方法包含一次对一存储单元子页编程,其中在每个存储单元子页中,数据被顺序编程至与多个非相邻且均匀间隔的位线相耦合的多个存储单元;通过把存储单元从一种状态编程到另一种状态而对一个子页中的每个存储单元顺序编程;并且在一个存储单元的每个状态后验证编程以确保该单元被编程。
14.权利要求13的方法,其中所述编程步骤把所有单元编程为第一状态而不管所期望的状态。
15.权利要求14的方法,其中所述编程步骤还包含递增地把特定的单元编程为第二状态,其中所述特定存储单元构成具有所期望的状态而不是所述第一状态的所有单元。
16.权利要求13的方法,其中所述编程步骤只把将成为其期望的状态的单元编程而不对其它单元编程。
全文摘要
一种非易失性半导体存储器,包括多个成行及成列排列的存储单元、多个字线、多个位线、多个输出缓冲器(48)、多个页锁存器(34)、以及多个快速电流电平转换器(QCLT,36U)。每个QCLT(36U)是都通过第一列解码器(46U)连接到多个位线并由它们共享,并通过第二列解码器(46L)连接到多个页锁存器(34)。每个页锁存器(34)通过第三列解码器电路(38/40/42)与一个对应的输出缓冲器(48)相连。页锁存器(34)被分组为多个子页(18L-n)。QCLT(36U)进行高速高精度的电流模式比较,并将比较结果转成二进码。
文档编号G11C16/10GK1520594SQ02811375
公开日2004年8月11日 申请日期2002年3月26日 优先权日2001年4月6日
发明者曹正中 申请人:积忆科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1