非易失性半导体存储器件的制作方法

文档序号:7021547阅读:115来源:国知局
专利名称:非易失性半导体存储器件的制作方法
技术领域
本实施例涉及一种非易失性半导体存储器件。
背景技术
近年来,已经提出具有三维布置的存储元件的几种非易失性半导体存储器件(堆叠型非易失性半导体存储器件)。[引用列表][专利文献][PTL1]JP2010-161132A[PTL2]JP2008-525933ff


图1示出了根据第一实施例的非易失性半导体存储器件的总体构造。图2是图1所示的存储元件阵列11的示意透视图。图3是存储元件阵列11的等效电路图。图4示出了实现图3所示的电路配置的存储元件阵列11的堆叠结构。图5是图4的一部分的放大视图。图6是示出了用于将两比特数据存储在一个存储元件MC中的编程系统(每元件两比特系统)的过程的一个示例的示意图。图7是示出了每元件两比特编程系统的过程的不同示例的示意图。图8解释了在与经过编程的存储元件MCn相邻的存储元件MCn+l、MCn_l中使所存储的阈值电压分布E保持现状的问题。图9是解释本实施例的操作的示意图。图1OA是示出了第一实施例中的编程操作的过程的时序图。图1OB是示出了第一实施例中的编程操作的过程的时序图。图1lA是示出了第一实施例的修改例中的编程操作的过程的时序图。图1lB是示出了第一实施例的修改示中的编程操作的过程的时序图。图12A是示出了第二实施例中的编程操作的过程的时序图。图12B是示出了第二实施例中的编程操作的过程的时序图。图12C是示出了第二实施例中的编程操作的过程的时序图。图13A是示出了第二实施例的第一修改例中的编程操作的过程的时序图。
图13B是示出了第二实施例的第一修改例中的编程操作的过程的时序图。图13C是示出了第二实施例的第一修改例中的编程操作的过程的时序图。图14A是示出了第二实施例的第二修改例中的编程操作的过程的时序图。图14B是示出了第二实施例的第二修改例中的编程操作的过程的时序图。图14C是示出了第二实施例的第二修改例中的编程操作的过程的时序图。图15A是示出了第三实施例中的编程操作的过程的时序图。图15B是示出了第三实施例中的编程操作的过程的时序图。图16是示出了第四实施例中的编程操作的过程的时序图。图17是示出了第四实施例中的编程操作的过程的时序图。图18A是示出了第五实施例中的编程操作的过程的时序图。图18B是示出了第五实施例中的编程操作的过程的时序图。图19A是示出了第六实施例中的编程操作的过程的时序图。图19B是示出了第六实施例中的编程操作的过程的时序图。图19C是示出了第六实施例中的编程操作的过程的时序图。图20A是示出了第七实施例中的编程操作的过程的时序图。图20B是示出了第七实施例中的编程操作的过程的时序图。图20C是示出了第七实施例中的编程操作的过程的时序图。图21是说明第八实施例的在存储串(memory string) MS中定义的普通编程区和高速编程区的示意图。图22示出了在一比特数据存储在一个存储元件MTr中的情况下分别在普通编程区和高速编程区中执行的擦除操作。图23示出了在一比特数据存储在一个存储元件MTr中的情况下在普通编程区中执行的编程操作。图24示出了在一比特数据存储在一个存储元件MTr中的情况下在高速编程区中执行的编程操作。图25示出了在一比特数据存储在一个存储元件MTr中的情况下在高速编程区中执行的编程操作。图26示出了在两比特数据存储在一个存储元件MTr中的情况下分别在普通编程区和高速编程区中执行的擦除操作。图27示出了在两比特数据存储在一个存储元件MTr中的情况下在普通编程区中执行的编程操作。图28示出了在两比特数据存储在一个存储元件MTr中的情况下在高速编程区中执行的编程操作。图29示出了在两比特数据存储在一个存储元件MTr的情况下在高速编程区中执行的编程操作。图30A示出了根据第九实施例的非易失性半导体存储器件的配置。图30B示出了根据第九实施例的非易失性半导体存储器件的配置。图31示出了在根据第九实施例的非易失性半导体存储器件中的高速编程区中执行的编程操作。
具体实施例方式以下描述的实施例中的非易失性半导体存储器件包括:存储元件阵列,包括多个存储元件;以及控制电路,用于控制对所述多个存储元件施加的电压。这里的存储元件中的每一个包括用于存储电荷的电荷存储膜,并被配置为能够根据所存储的电荷的量来保持多电平的阈值电压分布。此外,所述控制电路被配置为:将至少部分为负的阈值电压分布提供给存储元件,从而擦除存储元件的所保持的数据;以及将多个电平的正的阈值电压分布提供给存储元件,从而将数据的多个电平写入到存储元件。此外,该控制电路被配置为:当对存储元件执行编程操作时,执行第一编程操作,该第一编程操作将多个电平的正的阈值电压分布提供给第一存储元件,该第一存储元件是经过编程的存储元件;以及执行第二编程操作,该第二编程操作对与第一存储元件相邻的第二存储元件提供正的阈值电压分布。以下参照附图来描述根据本发明的非易失性半导体存储器件的实施例。[第一实施例][配置]首先,参照图1来描述根据第一实施例的非易失性半导体存储器件的总体构造。图1是根据本发明的第一实施例的非易失性半导体存储器件的框图。如图1所示,根据第一实施例的非易失性半导体存储器件包括存储元件阵列11、行解码器12、数据电路/页缓冲器13、列解码器14、控制电路15、输入/输出电路16、地址/命令寄存器17、内部电压发生电路18和核心驱动器19。如图2所示,存储元件阵列11包括沿列方向延伸的多个位线BL、沿行方向延伸且与位线BL相交的多个源极线CELSRC、以及多个电可重写存储元件MTr串联连接的存储串MS。在本实施例中,描述继续假定在存储器芯片中存在两个存储元件阵列11。然而,本实施例中描述的技术不限于两个存储元件阵列的情况,并还可以适用于在存储器芯片中仅存在一个存储元件阵列11的器件或者在一个存储器芯片中存在三个或更多个存储元件阵列11的器件。注意,在以下实施例的描述中,单个存储元件阵列11有时被称为“PLANE (面)”,并且两个面有时被称为“面PLANEO”和“面PLANE1”。如图2所示,存储元件阵列11被配置为具有在三维矩阵中布置的存储元件MTr,存储元件MTr中的每一个电气地存储数据。即,存储元件MTr沿堆叠方向布置在矩阵中,还沿与堆叠方向正交的水平方向布置在矩阵中。在堆叠方向上对准的多个存储元件MTr串联连接以构成存储串MS。与存储串MS的两端相连接的是在被选择时呈现为导通状态的漏极侧选择晶体管SDTr和源极侧选择晶体管SSTr。该存储串MS被布置为使得堆叠方向作为更长的方向。漏极侧选择晶体管SDTr的一端连接至位线BL。源极侧选择晶体管SSTr的一端连接至源极线CELSRC。如图1所示,行解码器12对从地址/命令寄存器17输入的块地址信号等进行解码,并接收从核心驱动器19输出的字线控制信号或选择栅控制信号,以控制存储元件阵列11。
在读取操作期间,数据电路/页缓冲器13从存储元件阵列11读取数据并暂时将数据保持在页缓冲器中。此外,在编程操作期间,数据电路/页缓冲器13具有从芯片外加载至页缓冲器中的编程数据,然后将数据编程至所选存储元件。在本实施例中,数据电路/页缓冲器13与将两比特数据保持在一个存储元件中的每元件两比特存储方案兼容,并由此包括三个高速缓冲存储器C0-C2。高速缓冲存储器CO、Cl中的每一个保持所述两比特数据的下页数据LOWER或上页数据UPPER之一。此外,提供高速缓冲存储器C2,以便例如在编程操作中,基于验证读取操作的结果,逐比特地保持用于编程控制的临时数据TEMP。列解码器14对从地址/命令寄存器17输入的列地址信号进行解码,以执行数据的输入/输出控制。控制电路15从地址/命令寄存器17接收用于执行读取、编程和擦除操作的信号等。根据特定序列,控制电路15控制内部电压发生电路18,内部电压发生电路18生成在核心操作中需要的各种类型的电压,并且此外,控制电路15控制核心驱动器19,核心驱动器19执行对字线和位线的控制。输入/输出电路16执行命令、地址和数据的输入/输出控制。接着,参照图3来描述存储元件阵列11的电路配置。图3是在存储元件阵列11的列方向上沿着横截面形成的存储元件MTr、漏极侧选择晶体管SDTr、源极侧选择晶体管SSTr及其外围电路的等效电路图。如图3所示,存储元件阵列11包括多个位线BL和多个存储块MB。位线BL以在沿列方向跨越多个存储块MB且沿行方向具有特定节距(pitch)的条(stripe)延伸。以特定节距在列方向上重复地提供存储块MB。如图3所示,存储块MB包括沿行方向和与行方向正交的列方向在矩阵中布置的多个存储单元MU。在存储块MB中,给一个位线BL提供共同连接的多个存储单元MU。存储单元MU中的每一个包括存储串MS、源极侧选择晶体管SSTr和漏极侧选择晶体管SDTr。沿行方向和列方向在矩阵中布置存储单元MU。在沿行方向的线上布置的多个存储单元MU构成一个子块SB。存储串MS由串联连接的存储元件MTrO-MTrl5和背栅晶体管BTr构成。存储元件MTrO-MTr7沿堆叠方向串联连接。存储元件MTr8_MTrl5也类似地沿堆叠方向串联连接。存储元件MTrO-MTr 15通过将电荷存储在电荷存储层中来存储信息。背栅晶体管BTr连接在最低层中的存储元件MTr7和存储元件MTr8之间。因此,存储元件MTrO-MTrl5和背栅晶体管BTr以U形连接在沿列方向的横截面中。源极侧选择晶体管SSTr的漏极连接至存储串MS的一端(存储元件MTrO的源极)。漏极侧选择晶体管SDTr的源极连接至存储串MS的另一端(存储元件MTrl5的漏极)。—个存储块MB中的存储单元MU中的存储元件MTrO的栅极共同连接至字线WLO0类似地,一个存储块MB中的存储元件MTrl-MTrl5的栅极分别共同连接至对应字线WL1-WL15。此外,沿行方向和列方向在矩阵中布置的背栅晶体管BTr的栅极共同连接至背栅线BG。在沿行方向的线上布置的存储单元MU中的漏极侧选择晶体管SDTr中的每一个的栅极,共同连接至沿行方向延伸的漏极侧选择栅极线SGD。此外,在沿列方向的线上布置的漏极侧选择晶体管SDTr的漏极共同连接至位线BL。
在沿行方向的线上布置的存储单元MU中的源极侧选择晶体管SSTr中的每一个的栅极,共同连接至沿行方向延伸的源极侧选择栅极线SGS。此外,在沿列方向相邻的成对的存储单元MU中的在沿行方向的线上布置的源极侧选择晶体管SSTr的源极,共同连接至沿行方向延伸的源极线CELSRC。接着,参照图4来描述实现图3所示的电路配置的存储元件阵列11的堆叠结构。图4是根据第一实施例的存储元件阵列11的横截面视图,并且图5是图4的一部分的放大视图。如图4所示,存储元件阵列11包括衬底20以及从下层顺序地包括背栅层30、存储元件层40、选择晶体管层50和布线层60。背栅层30起背栅晶体管BTr的作用。存储元件层40起存储晶体管MTrO-MTrl5的作用。选择晶体管层50起漏极侧选择晶体管SDTr和源极侧选择晶体管SSTr的作用。布线层60起源极线CELSRC和位线BL的作用。如图4所示,背栅层30包括隔着绝缘层21在衬底20上形成的背栅导电层31。背栅导电层31起背栅线BG的作用以及起背栅晶体管BTr的栅极的作用。以沿行方向和列方向延伸的板形形成背栅导电层31。在稍后提及的U形半导体层45的接合部分45B周围形成背栅导电层31。背栅导电层31由多晶娃(多晶Si)构成。此外,如图4所示,背栅层30包括被形成为从背栅导电层31挖出的背栅沟槽32。背栅沟槽32由沿行方向具有较短方向且沿列方向具有较长方向的开口构成。沿行方向和列方向以特定间隔在矩阵中形成背栅沟槽32。如图4所示,存储元件层40包括隔着绝缘层42沿堆叠方向形成的字线导电层41a-41h。字线导电层41a-41h起字线WL0-WL15的作用以及起存储元件MTrO_MTrl5的控制栅极的作用。字线导电层41a-41h被基于存储块MB来划分,并沿行方向面向彼此地形成梳齿形对。独立接触部连接至以梳齿形形成的字线导电层中的每一个。注意,为了基于存储单元MU独立地驱动字线WL,还可以基于单个存储单元将字线导电层41a-41h连接至独立接触部。字线导电层41a_41h包括以沿行方向延伸且沿列方向具有特定节距的条形成的部分。字线导电层41a_41h由多晶硅(多晶Si)或硅化物和多晶硅叠层(polycide)构成。此外,如图4所示,存储元件层40包括被形成为穿透字线导电层41a_41h和绝缘层42的存储孔43。存储孔43被形成为与每个背栅沟槽32的列方向上的两端附近的位置对准。沿行方向和列方向在矩阵中形成存储孔43。此外,如图4所示,上述背栅层30和存储元件层40包括存储栅绝缘层44和U形半导体层45。U形半导体层45起存储元件MTrO-MTrl5的和背栅晶体管BTr的本体的作用。如图4所示,在存储孔43的侧表面上以及在背栅沟槽32的内表面(侧表面和下表面)上连续形成存储栅绝缘层44。如图5所示,存储栅绝缘层44包括块绝缘层44a、电荷存储层44b和隧道绝缘层44c。沿存储孔43的侧表面和背栅沟槽32的内表面形成块绝缘层44a。块绝缘层44a被形成为与字线导电层41a-41h和背栅导电层31相接触。块绝缘层44a由二氧化硅(SiO2)构成。在块绝缘层44a上形成电荷存储层44b。电荷存储层44b用于存储电荷以保持存储元件MTrO-MTr 15的数据。电荷存储层44b由氮化硅(SiN)构成。在电荷存储层44b上形成隧道绝缘层44c。隧道绝缘层44c由二氧化硅(SiO2)构成。如图4所示,从行方向看去,以U形形成U形半导体层45。如图5所示,与隧道绝缘层44c相接触地形成U形半导体层45,以填充背栅沟槽32和存储孔43。U形半导体层45包括:柱状部分45A对,沿从行方向看去相对于衬底20垂直的方向延伸;以及接合部分45B,被形成为将柱状部分45A对的下端相接合。U形半导体层45由多晶娃(多晶Si)构成。换句话来表达存储元件层40的上述构造,在柱状部分45A的侧表面周围形成隧道绝缘层44c。在隧道绝缘层44c的侧表面周围形成电荷存储层44b。在电荷存储层44b周围形成块绝缘层44a。在块绝缘层44a的侧表面周围形成字线导电层41a_41h。注意,电荷存储层44b不仅在字线导电层41a-41h的侧表面上而且在字线导电层41a_41h之间的层间绝缘膜的侧表面上形成,并在柱状部分45A的侧表面上在上/下方向上连续形成。块绝缘层44a和隧道绝缘层44c也是如此。如图4所不,选择晶体管层50包括漏极侧导电层51和在与漏极侧导电层51相同的层中形成的源极侧导电层52。漏极侧导电层51起漏极侧选择栅极线SGD的作用以及起漏极侧选择晶体管SDTr的栅电极的作用。源极侧导电层52起源极侧选择栅极线SGS的作用以及起源极侧选择晶体管SSTr的栅电极的作用。漏极侧导电层51和源极侧导电层52以沿行方向且在列方向上具有特定节距的条延伸。沿列方向一次两个地交替提供漏极侧导电层51和源极侧导电层52。漏极侧导电层51和源极侧导电层52由多晶硅(多晶Si)构成。此外,如图4所示,选择晶体管层50包括漏极侧孔53和源极侧孔54。漏极侧孔53被形成为穿透漏极侧导电层51。源极侧孔54被形成为穿透源极侧导电层52。在与存储孔43对准的位置处形成漏极侧孔53和源极侧孔54。此外,如图4所示,选择晶体管层50包括漏极侧栅绝缘层55、源极侧栅绝缘层56、漏极侧柱状半导体层57和源极侧柱状半导体层58。漏极侧柱状半导体层57起漏极侧选择晶体管SDTr的本体的作用。源极侧柱状半导体层58起源极侧选择晶体管SSTr的本体的作用。在漏极侧孔53的侧表面上形成漏极侧栅绝缘层55。在源极侧孔54的侧表面上形成源极侧栅绝缘层56。漏极侧栅绝缘层55和源极侧栅绝缘层56由二氧化硅(SiO2)构成。与漏极侧栅绝缘层55相接触地以沿堆叠方向延伸的柱形形成漏极侧柱状半导体层57,以便填充漏极侧孔53。与源极侧栅绝缘层56相接触地以沿堆叠方向延伸的柱形形成源极侧柱状半导体层58,以便填充源极侧孔54。漏极侧柱状半导体层57和源极侧柱状半导体层58由多晶硅(多晶Si)构成。换句话来表达选择晶体管层50的上述构造,在漏极侧柱状半导体层57的侧表面周围形成漏极侧栅绝缘层55。在漏极侧栅绝缘层55的侧表面周围形成漏极侧导电层51。在源极侧柱状半导体层58的侧表面周围形成源极侧栅绝缘层56。在源极侧栅绝缘层56的侧表面周围形成源极侧导电层52。如图4所示,布线层60包括第一布线层61、第二布线层62和栓层63。第一布线层61起源极线CELSRC的作用。第二布线层62起位线BL的作用。如图4所不,第一布线层61被形成为与两个相邻源极侧柱状半导体层58的上表面共同接触。第一布线层61以沿行方向且在列方向上具有特定节距的条延伸。第一布线层61由诸如钨(W)的金属构成。如图4所示,第二布线层62经由栓层63连接至漏极侧柱状半导体层57的上表面。第二布线层62以沿列方向且在行方向上具有特定节距的条延伸。第二布线层62由诸如铜(Cu)的金属构成,并且栓层63由诸如钨(W)的金属构成。接着,参照图6来描述该非易失性半导体存储器件中的数据编程的方法。为了方便描述,采用了以下示例:其中,在执行数据编程之前,对能够保持两比特数据的存储元件(每元件两比特系统)执行擦除操作。注意,以下描述的实施例也适用于在一个存储元件中保持三个或更多个比特的多个比特的情况。此外,以下描述的实施例也适用于在一个存储元件中保持一比特数据的情况。当在执行数据编程之前对存储元件MC执行擦除操作时,存储元件的阈值电压分布变为图6所示的阈值电压分布E。这里的阈值电压分布E被设置为使得下限侧的至少一部分是负电压值(将正电压用作擦除验证电压)。注意,还可以采用以下配置:其中,将负电压用作擦除验证电压,使得阈值电压分布的上限达到负值。根据要编程到存储元件的两比特数据,通过给具有阈值电压分布E的存储元件MC提供图6所示的四个阈值电压分布E’、A、B和C (E’ <A<B<C)中的任一个来执行对该存储元件MC的两比特数据的编程操作。阈值电压分布E’是这四个阈值电压分布中的最低分布。阈值电压分布具有按A、B和C的顺序越来越高的电压电平。供给两比特数据,将这两比特数据划分为下页数据(LP)和上页数据(UP)。在图6的示例中,当下页数据(LP)和上页数据(UP)均为“I”时,将阈值电压分布E’提供给存储元件MC。此外,当下页数据(LP)和上页数据(UP)分别为“I”和“O”时,将阈值电压分布A提供给存储元件MC。当下页数据(LP)和上页数据(UP)均为“O”时,将阈值电压分布B提供给存储元件MC。当下页数据(LP)和上页数据(UP)分别为“O”和“ I”时,将阈值电压分布C提供给存储元件MC。注意,这完全是一个示例,并且不言而喻,对阈值电压分布的数据分配不限于图6所示的那种。图6所示的编程方法执行基于下页数据(LP)的编程(下页数据编程)和基于上页数据(UP)的编程(上页数据编程)。即,下页数据编程和上页数据编程分开执行。在图6的编程方法中,在对一个存储元件MC执行下页数据编程(2)和上页数据编程(3)之前,执行编程操作(E’分布编程(第二编程操作))。E’分布编程将存储元件MC的阈值电压分布E提高至阈值电压分布E’。阈值电压分布E’是被分配了数据“11”的分布,数据“ 11 ”与在擦除后向阈值电压分布E分配的数据相同。对与执行普通编程操作(下页数据编程或上页数据编程或者这两者)的存储元件(例如,MCn)相邻的存储元件(例如,MCn+Ι)执行该E’分布编程。注意,可以在与普通数据编程操作不同的时间执行E’分布编程,或者可以作为一系列步骤执行E’分布编程。此外,优选地,将指示沿特定字线WL的E’分布编程的执行是否已完成的数据(E’标记数据)存储在存储元件阵列中。控制电路15可以将E’标记数据存储在存储元件阵列的一部分中(例如,存储在沿一个字线WL形成的存储元件MC之一中)。在该E’分布编程(图6中的(I))完成之后,按顺序执行下页数据编程(2 )和上页数据编程(3)。如图6所示,在E’分布编程之后对具有阈值电压分布E’的存储元件MC执行下页数据编程(2)。如果下页数据为“I”则将相关存储元件的阈值电压分布E’维持现状。如果下页数据为“O”,则执行编程操作和编程验证操作以提供中间分布LM。换言之,中间分布LM是与下页数据“O”相对应的阈值电压分布。注意,在编程操作和编程验证操作中对每个存储元件施加的电压与传统地施加的电压相同,因此,省略了其细节。该中间分布LM是处于例如大致在阈值电压分布A和B的电压之间的电压范围内的阈值电压分布,并在执行上页数据编程之后不保留在存储元件MC中。基于从外部给页缓冲器13的高速缓冲存储器CO或Cl提供的上页数据和下页数据来执行上页数据编程。在图6中的系统的情况下,如果下页数据和上页数据均为“1”,则将相关存储元件MC维持现状在阈值电压分布E’。另一方面,如果下页数据和上页数据分别为“ I”和“0”,则对相关存储元件MC进行编程操作,以将阈值电压分布E’改变至阈值电压分布A。此外,如果下页数据和上页数据均为“0”,则已经通过下页数据编程给相关存储元件MC提供了中间分布LM。因此,相关存储元件MC经历另一编程操作以从中间分布LM改变至阈值电压分布B。同时,如果下页数据和上页数据分别为“O”和“1”,则已经通过下页数据编程给相关存储元件MC提供了中间分布LM。因此,相关存储元件MC经历另一编程操作以从中间分布LM改变至阈值电压分布C。注意,与传统技术类似,在执行这种类型的编程操作后对存储元件MCn的读取操作中,对一个存储串中的所选择的存储元件MC的控制栅极施加读取电压AR、BR和CR。读取电压AR处于阈值电压分布E’的上限与阈值电压分布A的下限之间。读取电压BR处于阈值电压分布A的上限与阈值电压分布B的下限之间。读取电压CR处于阈值电压分布B的上限与阈值电压分布C的下限之间。另一方面,对未选择的存储元件MC的控制栅极施加比阈值电压分布CR的上限大的读取脉冲电压。在下页数据的编程和上页数据的编程均完成并且已经获得阈值电压分布E’至C的状态下,可以使用电压BR通过单次读取操作来执行对下页数据的读取。另一方面,在仅下页数据编程完成、对上页数据的编程尚未完成、并且存储元件MC具有阈值电压分布LM或E’中的任一个的状态下,对执行下页数据读取来说,使用两个电压(即,电压AR和电压BR)的两次读取操作变得必要。注意,为了指示对下页数据的这种类型的编程操作(中间分布LM的编程操作)的执行是否已完成,例如,可以将LM标记数据存储在存储元件阵列的一部分中。在数据的编程操作和读取操作中可以适当地参考该LM标记数据。在图6所示的数据编程方法中,在下页数据编程中执行中间分布LM的编程操作。中间分布LM最终并不保留为指示数据的分布,因此,与阈值电压分布E’至C的分布宽度相t匕,中间分布LM的分布宽度可以加宽。由此,与直接写入阈值电压分布E’至C的情况相比,下页数据的编程所需的时间可以减少,并且,编程操作总体所需的时间可以缩短。[另一数据编程方法]接着,参照图7来描述该非易失性半导体存储器件中的另一数据编程方法。还使用以下示例来描述图7:其中,与图6类似,在执行数据编程之前,对能够保持两比特数据的存储元件(每元件两比特系统)执行擦除操作。当执行擦除操作时,存储元件的阈值电压分布变为如图7所不至少部分为负的阈值电压分布E。然而,在该编程方法中,执行编程操作以直接提供最终阈值电压分布E’至C,而不像图6中那样执行编程操作以提供中间分布LM。同样地,在图7中的编程操作中,在执行下页编程(2)和上页编程(3)之前,对一个存储元件MCn执行E’分布编程(I)。在后续执行的下页编程(2)中,根据下页数据(LP)来给具有阈值电压分布E’的存储元件MC提供阈值电压分布A。具体地,如果下页数据为“1”,则将相关存储元件MC的阈值电压分布E’维持现状。如果下页数据为“0”,则执行编程操作和编程验证操作以提供阈值电压分布A。基于从外部给页缓冲器13的高速缓冲存储器CO或Cl提供的上页数据和下页数据来执行上页编程(3)。在图7中的系统的情况下,如果下页数据和上页数据均为“1”,则将相关存储元件MC维持现状在阈值电压分布E’。另一方面,如果下页数据和上页数据分别为“ I”和“0”,则对相关存储元件MC进行编程操作,以将阈值电压分布E’改变至阈值电压分布C。此外,如果下页数据和上页数据均为“0”,则已经通过下页数据编程给相关存储元件MC提供了阈值电压分布A。因此,相关存储元件MC经历另一编程操作以从阈值电压分布A改变至阈值电压分布B。另一方面,如果下页数据和上页数据分别为“O”和“ I ”,则已经通过下页数据编程给相关存储元件MC提供了阈值电压分布A。因此,将相关存储元件MC维持现状在阈值电压分布A处。如上所述,在本实施例中的所有情况下,不论采用图6的编程系统、图7的编程系统还是某一其他编程系统,都在普通数据编程操作之前执行E’分布编程操作。E’分布编程操作从擦除操作后的阈值电压分布E改变至阈值电压分布E’。对与经过普通编程操作(提供除擦除状态的阈值电压分布以外的阈值电压分布(例如,阈值电压分布E’至C或中间分布LM)的操作)的存储元件MCn相邻的至少存储元件MCn+Ι执行该E’分布编程操作。参照图8来说明这一点的原因。如图8所示,这里假定例如沿字线WL6形成的存储元件MC6被执行编程操作,以给存储元件MC6提供阈值电压分布E’、A、B或C中的任一个。另一方面,相邻存储元件MC5和MC7维持在阈值电压分布E而不被执行编程操作。此时,在存储元件MC6的电荷存储膜44b中捕获电子(e)。另一方面,在存储元件MC5和MC7的电荷存储膜44b中捕获空穴(h)。现在,在图8中,非易失性半导体存储器件具有以下结构:其中,一个存储串MS中的电荷存储膜44b是连续的,甚至不被存储元件之间的部分(在层间绝缘膜42 —侧)分割。在这种情况下,存在以下风险:当在数据编程操作后经过较长时间段时,空穴和电子迁移,导致空穴和电子复合,这导致在存储元件MC中保持的数据的改变(数据损坏)。因此,关于与某种类型的数据的编程已完成的存储元件MCn相邻的至少存储元件MCn+Ι,不期望这种存储元件MCn+Ι留下来保持阈值电压分布E。因此,在本实施例中,如图9所示,当执行编程操作以在经过编程的存储元件MC6中提供阈值电压分布E’、A、B、C或中间分布LM时,必须将与存储元件MC6相邻的存储元件MC5和MC7的阈值电压分布设置为正分布。即,对存储元件MC5和MC7执行将阈值电压分布E改变至E’的E’分布编程操作。执行该操作导致在存储元件MC5和MC7的电荷存储膜44b中保持少量电子(e)而不是空穴(h)。由此,在存储元件MC5至MC7的电荷存储膜44b中捕获电子(e)。因此,可以抑制由于空穴和电子的复合而发生数据改变的风险。接着,参照图1OA和IOB来描述本实施例中的非易失性半导体存储器件中的编程操作。该编程操作采用图9的原理。描述以下情况的示例:其中,在字线WLO上执行包括对中间分布LM进行编程的操作的编程操作。然而,该描述假定已经通过E’分布编程完成(已编程)对字线WLO进行的阈值电压分布E’的编程(图1OA中的(i))。注意,在该实施例中,从控制电路15发出如图1OA和IOB所示的真就绪/忙碌信号(以下被称为“真RBB”)和高速缓存就绪/忙碌信号(以下被称为“高速缓存RBB”)。基于这些信号来执行编程数据的加载。真RBB指示是否正在存储元件阵列11中执行各种类型的操作(读取操作、编程操作、擦除操作等)。高速缓存RBB指示高速缓冲存储器C0-C2是否处于其能够具有从外部向其加载的新数据的状态。注意,图1OA和IOB示出了以下示例:其中,连续地对两个面PLANEO和PLANEl加载编程数据,并同时对这两个面执行数据编程。当对字线WLO上执行编程操作时,首先,在时间T0-T1,从外部向输入/输出电路16输入指示面PLANEO中的字线WLO的地址的地址数据(Add)和要编程的下页数据(LP),以及命令CmdO。所输入的下页数据(LP)受控制电路15的控制适当地从输入/输出电路16数据加载(DL)至高速缓冲存储器CO。注意,命令Cmdl “llh”是在假定同时对多页数据进行编程的操作时输入的伪编程执行命令。该命令cmdl “llh”使得能够进行后续页的数据加载。为了能够进行对后续页的数据加载。高速缓存RBB必须为“H”。相应地,真RBB和高速缓存RBB在时刻Tl处变为“L”,并在特定时段内保持“L”。此后,真RBB和高速缓存RBB在时刻T2处再次变为“H”。如果在具有四个面配置的半导体存储器件中执行四面同时编程操作,则发布命令Cmdl “llh”三次,导致执行四页数据加载。在时间T3-T4处,向输入/输出电路16输入面PLANEl中的字线WLO的地址数据(Add)和要编程的下页数据(LP),以及命令CmdO。将所输入的编程数据顺序地数据加载(DL)至高速缓冲存储器CO。注意,在图1OA中,命令“15h”指示:编程数据的一系列加载曾已完成,并且如果内部状态就绪,则开始对这些数据的编程操作。在时刻T4,在输入命令15h之后,真RBB和高速缓存RBB在特定时段内变为“L”。然后,在时刻T5处,高速缓存RBB仅再次返回至“H”。S卩,真RBB保持在“L”。相应地,在时间T4-T7,将加载到高速缓冲存储器CO的下页数据(LP)传送至高速缓冲存储器Cl。从时刻T4,开始相邻字线WLl上的E’分布编程操作(图1OA的(ii)中的箭头)。如果对字线WLl的E’分布编程操作在例如时刻T6结束,则在时刻T6或其后,开始对字线WLO的下页数据编程(LPpro)(图1OA的(iii)中的箭头)。即,在对字线WLl的E’分布编程操作完成后,基于下页数据(LP)来开始对面PLANEO和面PLANEl中的字线WLO的下页数据编程。对字线WLO的下页编程导致给存储元件MCO提供中间分布LM或阈值电压分布E’。将编程操作的该阶段所需的数据暂时存储在高速缓冲存储器C2中,作为暂时保留的数据TEMP。注意,在开始对字线WLl的E’分布编程操作之前,可以执行操作以读出关于字线WLl而存储的E’标记数据并确定E’分布编程操作是否必要。在时间T8-T12,在时刻T7完成对字线WLO的下页编程之后,将要编程到面PLANEO和面PLANEl中的字线WLO的上页数据(UP)输入至输入/输出电路16,并随后将该上页数据(UP)数据加载至高速缓冲存储器CO。在时间T8-T9,将要编程到面PLANEO的上页数据(UP)输入至输入/输出电路16,并且然后,在时间Tl 1-T12,将要编程到面PLANEl的上页数据(UP)输入至输入/输出电路16,以适当地传送至高速缓冲存储器CO。当在时刻T12完成了上页数据(UP)向高速缓冲存储器CO的数据加载并且真RBB和高速缓存RBB变为“L”时,开始对字线WLO的上页编程。注意,在时刻T13,当对阈值电压分布A的编程完成时,下页数据(LP)变得不必要。因此,丢弃高速缓冲存储器Cl中存储的下页数据(LP),并且代替该所丢弃的下页数据(LP),将存储在高速缓冲存储器CO中的上页数据(UP)传送至高速缓冲存储器Cl。随后,当对阈值电压分布B和C的编程操作分别在时刻T14和T15完成时,还丢弃存储在高速缓冲存储器Cl中的上页数据。通过以上操作,完成了包括对字线WLO的编程操作,该编程操作包括对相邻字线WLl的E’分布编程操作。以上参照图1OA和IOB描述了以下示例:其中,在字线WLO上的编程操作之前,在相邻字线WLl上执行E’分布编程操作。类似地,在向另一字线WLn (n ^ I)的编程之前,可以在沿相邻字线WLn+Ι形成的存储元件MCn+Ι上执行Ε’分布编程操作。在按WL0、1、
2、……的字线WL顺序执行编程的情况下,与字线WLn相邻的字线WLn-1已经经历E’分布编程操作或该编程操作的执行。因此,如果在开始字线WLn上的编程操作之前在字线WLn+1上执行E’分布编程操作,则可以抑制沿字线WLn形成的存储元件MCn中的数据改变。图1lA和IlB示出了执行图7所示的编程方法的情况的示例。在其他方面,图1lA和IlB与图1OA和IOB类似。[第二实施例]接着,参照图12A、12B和12C来描述根据第二实施例的非易失性半导体存储器件。根据第二实施例的非易失性半导体存储器件与根据第一实施例的非易失性半导体存储器件的不同之处在于这样的编程操作,该编程操作连续地执行字线WLO和WLl上的编程操作。然而,关于其他构造等,根据第二实施例的非易失性半导体存储器件是类似的,因此,省略对这些其他构造的详细描述。注意,为了方便描述,假定已经通过E’分布编程完成对字线WLO的阈值电压分布E’的编 程(图12A中的(i))。在这些图12A、12B和12C中,在字线WLO上的编程操作中,连续地将要编程到字线WLO的下页数据(LP)和上页数据(UP)输入至输入/输出电路16,并且进一步将该下页数据(LP)和上页数据(UP)数据加载至高速缓冲存储器CO和Cl中。在时间T0-T1,数据加载要被编程到沿面PLANEO中的字线WLO形成的存储元件MCO的下页数据。此外,在与如前所述类似地执行伪(dummy)编程命令Cmdl之后,在时间T3-T4,数据加载要编程到沿面PLANEl中的字线WLO形成的存储元件MCO的下页数据(LP)。在时刻T4处,当发布高速缓存编程执行命令Cmd2时,可以立即将在高速缓冲存储器CO中加载的数据传送至高速缓冲存储器Cl,这是由于在页缓冲器13中存在空闲区。因此,在完成该数据传送之后,高速缓冲存储器CO处于能够接收下一数据加载的状态,因此,在时刻T5,高速缓冲存储器RBB变为“H”。由此,在时间T6-T7,数据加载要被编程到沿面PLANEO中的字线WLO形成的存储元件MCO的上页数据(UP)。此外,在与如前所述类似地执行伪编程命令Cmdl之后,在时间T9-T10,数据加载要被编程到沿面PLANEl中的字线WLO形成的存储元件MCO的上页数据(UP)。同时,在时刻T4处或其后,开始对沿与经过编程的字线WLO相邻的字线WLl形成的存储元件MCl的E’分布编程操作。在时刻T4,发布高速缓存编程命令Cmd2 (时刻T4和其后,E’ pro_next,图12的(ii)中的箭头)。此外,在时刻Tll完成该E’分布编程的情况下,已经在时刻TlO发布上页数据(UP)的数据加载和针对该上页数据(UP)的高速缓存编程命令Cmd2的发布。在E’分布编程已完成的时间点,根据是否已经发布下一编程执行命令,控制电路15将对所选字线WLO的编程方法从原始的改变至另一种。在这种情况下,已经发布下一高速缓存编程命令Cmd2,并且由于下页数据(LP)和上页数据(UP)均已存储在高速缓冲存储器CO和Cl中,因此完全指定最终编程目的地。因此,在执行编程时在时间上分开下页数据编程和上页数据编程变得不必要,从而使得能够执行同时对阈值电压分布E’至C进行编程的编程操作(以下,这种编程操作被称为“全序列编程”)。在基于图6的编程控制方法中,上页编程操作导致执行从阈值电压分布E’至所有其他阈值电压分布A、B和C的编程。因此,在执行图6的编程控制方法的情况下,全序列编程所需的时间与仅上页编程所需的时间实质上相同。因此,如果以普通方式自始至终进行在执行下页编程操作后执行上页编程操作的过程,则执行下页编程操作的时间似乎是多余的编程时间。换言之,通常,下页编程操作的时间和上页编程操作的时间均被需要作为总编程时间。然而,如在本实施例中那样在下页编程操作之前执行E’分布编程操作使得可以执行全序列编程操作,从而获得可省略下页编程时间的时间优势。与第一实施例相比,由于在内部操作(在这种情况下,沿相邻字线WLl形成的存储元件MCl上的E’分布编程)期间执行接下来的编程数据的加载,第二实施例可以减少普通高速缓存编程操作的时间。此外,第二实施例可以减少内部操作时间(E’分布编程时间和对原始选择字线WLO的编程时间)。当该全序列编程(FSpiO)继续在时刻T12完成对阈值电压分布A的编程时,下页数据(LP)不再必要。因此,从高速缓冲存储器Cl丢弃下页数据(LP)。因此,将上页数据(UP)传送至高速缓冲存储器Cl,代替所丢弃的下页数据,并且高速缓冲存储器CO达到能够接收下一数据加载的状态。如图12B所示,当在时刻T12处高速缓冲存储器CO变为可利用时,从时刻T13开始把要被编程到相邻字线WLl的下页数据(LP)加载到输入/输出电路16。在图12B中的示例中,在时间T13-T14,加载要被编程到沿面PLANEO中的字线WLl形成的存储元件MCl的下页数据(LP)。此外,在时间T16-T17,加载要被编程到沿面PLANEl中的字线WLl形成的存储元件MCl的下页数据(LP)。现在,尽管在时刻T17发布高速缓存编程命令Cmd2,但是直到时刻T18,页缓冲器13都填充了数据。因此,高速缓存RBB处于“L”的忙碌状态。在时刻T18处,当沿字线WLO的存储元件MCO上的上页数据编程操作完成至阈值电压分布B (BE)时,后续需要的信息仅是关于是否要编程到阈值电压分布C的信息。因此,可以通过其他数据来对使用至该点的高速缓冲存储器Cl的内容(字线WLO的上页数据)进行编程。相应地,将高速缓冲存储器CO中存储的字线WLl的下页数据(LP)传送至高速缓冲存储器Cl,从而高速缓冲存储器CO再次变为可利用。因此,在时刻T18,高速缓存RBB变为“H”。因此,在时间T19-T20,加载要被编程到沿面PLANEO中的字线WLl形成的存储元件MCl的上页数据(UP)。此外,在时间T22-T23,加载要被编程到沿面PLANEl中的字线WLl形成的存储元件MCl的上页数据(UP)。因此,将用于写入到沿字线WLl形成的存储元件MCl的下页数据(LP)和上页数据(UP)分别存储在高速缓冲存储器CO和Cl中。如图12C所示,当在例如时刻T24,沿字线WLO形成的存储元件MCO上的编程操已经全部完成至阈值电压分布C时,并且在开始字线WLl上的编程操作开始之前,控制电路15开始沿与字线WLl相邻的字线WL2形成的存储元件MC2上的E’分布编程操作(E’pro_neXt)。随后,与在沿字线WLO形成的存储元件MCO中类似,控制电路15从时刻T25开始上述全序列编程操作(参照图12C)。如该图12B中那样,可以在前一字线WLn-1上的全序列编程操作期间,完全执行要编程到沿特定字线WLn形成的存储元件MC的下页数据的数据加载和上页数据的数据加载。从而,将编程性能提高至最大变成可能。即,高速缓存编程操作以最大有效性工作。在该第二实施例中,在特定字线WL上的每元件两比特编程操作中,连续加载下页数据和上页数据,并执行全序列编程,所述全序列编程在无任何时间差别的情况下同时执行下页数据的编程和上页数据的编程。此外,与编程数据的加载并行地执行相邻存储元件上的E’分布编程操作。从而,就该点而言,与第一实施例中相比,编程操作所需的时间也可以减少。图13A-13C示出了根据第二实施例的第一修改示例的编程操作。如图13B所示,这些图13A-13C所示的编程操作与图12A-12C中的编程操作的区别在于在时刻T23处具有被设置为“10h”命令的命令。从而,将高速缓存RBB维持在“L”(忙碌),直到字线WLl上的编程操作完成至阈值电压分布C为止。图14A-14C示出了根据第二实施例的第二修改示例的编程操作。这些图14A-14C示出了在应用如图7中的编程过程时执行连续编程操作的示例。在图14A中的时刻T6,当检测到高速缓存RBB为“H”时,开始上页数据的编程处理。类似地,在没有任何时间浪费的情况下,一个接一个地继续数据加载和编程命令的发布。由此,甚至当采用如图7所示的阈值电压分布的编程控制时,半导体存储器件中实际执行的操作也仅包括E’分布编程和上述全序列编程操作。这是与图12A-12C中相同的操作。[第三实施例]接着,参照图15A和15B来描述根据第三实施例的非易失性半导体存储器件。总体构造与图1-5所示的总体构造类似。然而,如图15A和15B所示,在该实施例中,完成E’分布编程操作后的编程操作的控制方法与第一实施例中不同。注意,省略了与图1OA和IOB中类似的内容的描述。图15A和15B还示出了在沿字线WLO形成的存储元件MCO上执行编程操作的情况。描述继续假定已经通过E’分布编程(图15A中的(i))完成对字线WLO的阈值电压分布E’的编程。参照图15A-15C来描述第三实施例中的编程过程。直到时刻T4,第三实施例中的编程过程与第一实施例中的编程过程实质上类似。然而,在该第三实施例中,在高速缓存RBB已变为“H”从而在时刻T5实现下一编程数据的数据加载之后,在经过了足够时间之后,上页数据(UP)的数据加载在时刻T6开始。由此,在时刻Tll,两个面(PLANE0和PLANEl)的下页数据和上页数据的数据加载完成,并且发布高速缓存编程命令。时刻Tll晚于E’分布编程操作完成时的时刻T7。这样,存在以下情况:其中,到字线WLl上的E’分布编程操作完成的时刻(时刻T7),上页数据(UP)的加载未完成。在这种情况下,执行以下操作。即,如图14A所示,从时刻T7,首先基于已存储的下页数据(LP),开始沿字线WLO形成的存储元件MCO上的下页数据编程操作(时刻T7-T11处的LPpro),而不等待完成上页数据(UP)向高速缓冲存储器CO的加载。当简单查看图15A的图示时,看起来好像事先已知在时刻T7开始的下页编程之后将执行上页数据编程。然而,实际上,在E’分布编程操作完成的时间点T7,未确定在时刻T7之后是否存在上页数据编程。此外,即使确认存在上页数据编程,发布上页数据编程操作的执行命令的时段等也是不确定的。因此,期望首先开始下页数据编程(LPpro),除非到E’分布编程已完成的时刻(时刻T7 ),输入了上页数据的编程执行命令。然而,当在时刻Tll上页数据(UP)向高速缓冲存储器CO的加载完成,并且发布了高速缓存编程命令Cmd2 (15h命令)时,在高速缓冲存储器CO和Cl中准备了下页数据(LP)和上页数据(UP),使得能够执行前述全序列编程。此外,控制电路15可以检测到以下状况:其中,下页数据和上页数据均准备好,并且已经发布高速缓存编程执行命令。因此,在时刻T11,控制电路15中止进行中的存储元件MCO上的下页数据编程操作(LPpro),并转移至全序列编程(FSpix))。此后,如图15B所示,继续操作,直到全序列编程完成为止。这样,在本实施例中,控制电路15被配置为:当在沿相邻字线WLn+Ι形成的存储元件上的E’分布编程操作完成的阶段,上页数据尚未存储在高速缓冲存储器中时,首先开始下页数据编程,然后,一旦上页数据和下页数据均已准备好,就随后能够转移至全序列编程。这允许本实施例的非易失性半导体存储器件甚至在第一或第二实施例的中间操作状态中也能够减少编程操作时间。[第四实施例]接着,参照图16-17来描述根据第四实施例的非易失性半导体存储器件。总体构造与图1-5所示的总体构造类似。在该实施例中,与前述实施例中类似,在沿经过编程的字线WLn形成的存储元件MCn上的编程操作之前,在相邻字线WLn+Ι上执行E’分布编程操作。本实施例包括除前述实施例的特征外的附加特征。即,在任何所选字线中开始上页编程操作的情况下,本实施例在控制方法中具有其特征。图16示出了以下情况:其中,在过去的特定时间点仅下页数据(LP)被编程至沿字线WLO形成的存储元件MCO,并且此后,在任何定时开始将上页数据(UP)编程至所述存储元件MC0。图16示出了这种情况下的操作。因此,已经给沿字线WLO形成的存储元件MCO提供阈值电压分布E’或中间分布LM (图16中的(i))。由于E’分布编程操作,还已经给沿字线WLl形成的存储元件MCl提供阈值电压分布E’(图16中的(i))。在这种状态下,本实施例中的控制电路15从时刻T4 (T_IDL)开始沿字线WLO形成的存储元件MCO上的读取操作,并将所读取的数据存储在高速缓冲存储器Cl中,作为存储元件MCO的下页数据(LP)。此外,与此并行地,还执行字线WLl的E’标记数据的读取操作,并且判断字线WLl上的E’分布编程操作的执行是否已完成。现在,在这种情况下,将E’标记数据数据存储在沿字线WLO形成的特定数目的存储元件中。给字线WL中的每一个分配用于存储E’标记数据的区。在由沿字线WLO形成的特定数目的存储元件形成的E’标记数据区中存储的是,沿字线WLl形成的存储元件MCl中的阈值电压分布A的编程状态。类似地,在由沿字线WLl形成的特定数目的存储元件形成的E’标记数据区中存储的是,沿字线WL2形成的存储元件MC2中的阈值电压分布E’的编程状态。即,在所选字线WLn的E’标记数据区中存储的是,沿在字线WLn之后经历数据编程的相邻字线WLn+Ι的存储元件MCn+1中的阈值电压分布E’的编程状态。
如果基于E’标记数据的判断的结果显示沿字线WLl形成的存储元件MCl上的Ε’分布编程未完成,则对存储兀件MCl执行Ε’分布编程。如果沿字线WLl形成的存储元件MCl中的Ε’分布编程的执行完成,则(至时刻Τ7)开始基于高速缓冲存储器CO和Cl中存储的下页数据(LP)和上页数据(UP)的存储元件MCO上的上页编程操作(UPpro )。在图16中,示出了以下示例:其中,通过命令Cmd3 (IOh)来执行上页编程,因此,至时刻T7,将高速缓存RBB设置为“L”。但是,如图1OB所示,当通过命令Cmd2 (15h)来执行上页编程时,在对阈值电压分布B的编程完成的时间点,将高速缓存RBB设置为“H”。图17示出了以下情况:尽管对沿字线WLO形成的存储元件MCO的下页数据(LP)的编程未完成,但是出于某种原因,首先将上页数据(UP)输入至输入/输出电路16。图17示意了这种情况下的操作。由此,沿字线WLO形成的存储元件MCO仅具有阈值电压分布A。另一方面,在沿字线WLl形成的存储元件MCl中,E’分布编程未完成,因此,给沿字线WLl形成的存储元件MCl提供阈值电压分布E (图17中的(i))。在这种状态中,本实施例中的控制电路15从时刻T4 (T_IDL)开始沿字线WLO形成的存储元件MCO上的读取操作,并将所读取的数据存储在高速缓冲存储器Cl中,作为存储元件MCO的下页数据(LP)。此外,与此并行地,还执行字线WLl的E’标记数据的读取操作,并且判断字线WLl上的E’分布编程操作的执行是否已完成。如果对字线WLl的E’分布编程未完成,则执行E’分布编程(图17中的(ii))。在完成E’分布编程之后,在字线WLO上执行仅基于上页数据的编程操作。如果上页数据为“1”,则禁止对将要维持阈值电压分布E’的存储元件MCO的编程。另一方面,如果上页数据为“0”,则执行将阈值电压分布E’改变至A的编程操作。如上所述,根据本实施例,甚至当在出于某种原因未执行对相邻字线的E’分布编程的状态下执行上页编程时,可以在获得与上述实施例类似的优势的同时完成编程操作。[第五实施例]接着,参照图18A-18C来描述根据第五实施例的非易失性半导体存储器件。总体构造与图1-5所示的总体构造类似。该实施例与上述第一至第四实施例的区别在于:在经过编程的存储元件MCn上的数据编程操作的至少一部分被执行之后,对与该存储元件MCn相邻的存储元件MCn+Ι执行E’分布编程操作(以下,第一至第四实施例被称为“编程前”方案,以及第五实施例被称为“编程后”方案)。如图18A所示,与第一实施例直到时刻T5类似,加载要提供给沿面PLANEO和PLANEl中的字线WLO形成的存储元件MCO的下页数据(LP)。随后,在时刻T4处,开始基于该下页数据的下页数据编程(LPpro)(图18A中的(ii))。在完成该操作之后,在时刻T6,开始沿相邻字线WLl形成的存储元件MCl的E’分布编程操作(E’ pro_next)(图18A中的
(iii))o随后,当在时刻T7完成E’分布编程操作时,在时间T8-T12加载要提供给沿面PLANEO和PLANEl中的字线WLO形成的存储元件MCO的上页数据(UP)。此后,以与第一实施例中实质上类似的方式执行上页数据编程(UPpro)(图18B中的“iv”)。注意,在图18B中,在时刻T12处使用命令Cmd3 (IOh)来执行编程操作。然而,可以使用命令Cmd2 (15h)来执行编程操作。在这种情况下,高速缓存RBB的波形改变,并且在到阈值电压分布A的编程完成之后,在时刻T13处,高速缓存RBB变为“H”。如上所述,该第五实施例与上述实施例的不同之处在于:采用的不是上述实施例的“编程前”方案,而是“编程后”方案。在“编程后”方案中,在经过编程的字线WLn上的编程操作的至少一部分完成之后,开始相邻字线WLn+Ι上的E’分布编程操作。甚至可以通过这种“编程后”方案的过程来获得与第一实施例的优势类似的优势。[第六实施例]接着,参照图19A、19B和19C来描述根据第六实施例的非易失性半导体存储器件。总体构造与图1-5所示的总体构造类似。与第五实施例类似,该实施例还采用“编程后”方案。在“编程后”方案中,在经过编程的存储元件MCn上的数据编程操作的至少一部分被执行之后,对与该存储元件MCn相邻的存储元件MCn+Ι执行E’分布编程操作。以下参照图19A-19C来描述第六实施例中的编程操作。图19A-19C示出了以下情况:其中,在字线WLO和WLl上执行编程操作。描述继续假定已经通过E’分布编程完成对字线WLO的阈值电压分布E’的编程(图19A中的(i))。图19A示出了以下情况:其中,与第二实施例中类似,使用高速缓存编程命令,在时刻TO和TlO之间连续执行要编程到沿字线WLO形成的存储元件MCO的下页数据(LP)和上页数据(UP)的加载。在时刻T4,发布下页数据(LP)的高速缓存编程命令Cmd2。因此,开始对存储元件MCO的下页数据编程(LPpro),而不等待接下来的上页数据(LP)存储在高速缓冲存储器CO中(图19A的(ii)中的箭头)。然后,在时刻T10,当将上页数据(UP)存储在高速缓冲存储器CO中并且发布高速缓存编程命令Cmd2时,控制电路15中止下页数据编程,并转移至使用下页数据和上页数据的全序列编程操作(FSpro)(图19A的(iii)中的箭头)。这样,在该实施例中,首先在已经在高速缓冲存储器CO中完成仅下页数据的准备的时间点,开始下页数据编程(LPpro)。然后,在下页数据和上页数据均已准备好的时间点,中止下页数据编程操作,并开始全序列编程。当例如在时刻Tl I处,对字线WLO的该全序列编程继续进行并且到阈值电压分布A的编程完成时,下页数据(LP)不再必要。因此,从高速缓冲存储器Cl丢弃下页数据(LP),并且代替该所丢弃的下页数据(LP),将上页数据(UP)传送至高速缓冲存储器Cl,从而高速缓冲存储器CO变为能够接收下一数据加载。如图19B所示,当在时刻Tll处高速缓冲存储器CO达到数据加载可能的状态时,经由输入/输出电路16将要编程到相邻字线WLl的下页数据(LP)加载至高速缓冲存储器CO中。当在时刻T16发布高速缓存编程命令Cmd2 (15h)时,高速缓存RBB变为“L”,直到到阈值电压分布B的编程完成时的时刻T17为止,这是由于高速缓冲存储器CO和Cl处于被占用的状态。在时刻T17,当字线WLO上的上页数据编程操作完成到阈值电压分布C时,从高速缓冲存储器Cl丢弃字线WLO的上页数据(UP)。然后,代替该所丢弃的上页数据(UP),将高速缓冲存储器CO中存储的字线WLl的下页数据(LP)从高速缓冲存储器CO传送至高速缓冲存储器Cl。由此,对高速缓冲存储器CO的数据加载变成可能。因此,从高速缓存RBB已变为“H”后的时刻T18,经由输入/输出电路16来加载字线WLl的上页数据(UP),并且在时刻T22,发布高速缓存编程命令Cmd2 (15h)。这样,将用于写入到沿字线WLl形成的存储元件MCl的下页数据(LP)和上页数据(UP)分别存储在高速缓冲存储器CO和Cl中。如图19B所示,当在例如时刻T23,沿字线WLO形成的存储元件MCO上的编程操作全部完成到阈值电压分布C时,控制电路15开始沿字线WLl形成的存储元件MCl上的编程操作。在本实施例的情况下,在时刻T23,尚未执行沿字线WLl形成的存储元件MCl上的E’分布编程操作。因此,在本实施例中,从时刻T23,不独立执行而是省略用于对阈值电压分布E’进行编程的E’分布编程操作。代替这一点,执行全序列编程(图19B中的Full FSpro)0全序列编程对于包括阈值电压分布E’的所有阈值电压分布连续地执行编程。换言之,在该全序列编程中,执行控制,以根据所获取的下页数据和上页数据来同时省略独立Ε’分布编程操作和从阈值电压分布E至阈值电压分布Ε’至C的编程。如图19C所示,在时刻Τ27完成存储元件MCl上的包括Ε’分布编程的全序列编程(省略了独立Ε’分布编程操作的全序列编程操作)。然后,在时刻Τ27的该操作后,对沿字线WL2形成的存储元件MC2执行Ε’分布编程操作(图19C中的(V))。这使得可以避免存储元件MCl中的所保持的数据的改变。注意,在图19Β中的时刻Τ22,当编程执行命令是Cmd2 (15h)而不是Cmd3 (IOh)时,实行控制,使得一旦对高速缓冲存储器的数据加载变成可能,高速缓存RBB就变为“H”。从而,可以接收接下来的数据加载和编程命令。就从芯片外看去的操作控制而言,本实施例与图18A-18B所示的第五实施例的区别在于,开始对沿字线WLO形成的存储元件MCO的上页数据的编程的时间安排(timing)。然而,在本实施例(图19A-19C)中,在下页编程操作(LPpro)期间(时刻T10)发布上页数据的高速缓存编程执行命令Cmd2 (15h)。因此,尽管在图18A中在存储元件MCO上的下页数据编程操作(LPpro)之后执行存储元件MCl上的E’分布编程操作(E’ pr0_next),但是在图19A-19C中,将存储元件MCl上的E’分布推迟到存储元件MCO上的上页编程(UPpro)之后。由此,存储元件MCO上的下页编程操作被同时编程下页和上页(时刻T10)的高效率全序列编程替换。此外,与对存储元件MCl的下页数据和上页数据的编程一起,连续地执行对相同存储元件MCl的推迟的E’分布编程操作,针对该存储元件MC1,已经通过有效地利用高速缓存编程机制,在不浪费时间的情况下执行数据加载。本实施例允许获得与上述实施例的优势类似的优势。此外,本实施例使得可以执行将E’分布编程并入(包括)到数据编程的全序列编程内的连续编程,从而允许进一步减少编程时间。[第七实施例]接着,参照图20A、20B和20C来描述根据第七实施例的非易失性半导体存储器件。总体构造与图1-5所示的总体构造类似。与第六实施例类似,该实施例也采用“编程后”方案。在“编程后”方案中,在经过编程的存储元件MCn上的数据编程操作的至少一部分被执行之后,对与该存储元件MCn相邻的存储元件MCn+Ι执行E’分布编程操作。以下参照图20A-20C来描述第七实施例中的编程操作。至时刻T23的操作与第七实施例中的操作实质上类似。第七实施例与第六实施例的区别在于:在第七实施例中,在时刻T23之后,对沿字线WLl形成的存储元件MCl执行E’分布编程操作(E’ pro_next),并在完成该E’分布编程操作之后,执行基于下页数据和上页数据的全序列编程。在该实施例的情况下,在与阈值电压分布Α、Β和C的过程分开的过程中对阈值电压分布Ε’进行编程。因此,与第六实施例相比,可以与阈值电压分布Α、B和C的分布宽度无关地控制阈值电压分布Ε’的分布宽度。阈值电压分布Ε’可以具有与阈值电压分布Α、Β和C的分布宽度相比加宽的分布宽度。因此,可以唯一地采用能够快速完成编程的电压控制方法。由此,可以总体上减少编程操作所需的时间。[第八实施例]接着,描述根据第八实施例的非易失性半导体存储器件。总体构造与图1-5所示的总体构造类似。此外,在第八实施例中,与第一实施例中的图1OA和IOB中类似,执行Ε’分布编程操作。在根据第八实施例的非易失性半导体存储器件中,在存储元件阵列11中定义了普通编程区和高速编程区。例如,如图21所示,在一个存储串MS中,将沿字线WLO和WLl的存储元件MCO和MCl定义为高速编程区(第一区),并将沿字线WL2-WL15的存储元件MC2-MC15定义为普通编程区(第二区)。在相应区中执行的擦除操作彼此不同。这将稍后详细说明。图22-24是解释这两个编程区中的擦除操作和编程操作的区别的示意图。图22-24示出了以下示例:其中,一比特数据存储在一个存储元件MTr中。注意,与上述实施例中类似,还可以将两比特数据存储在一个存储元件MTr中。假定在第八实施例中完成编程操作之后,将指示数据“I”(擦除状态)的阈值电压分布Ε’或指示数据“O”的阈值电压分布A中的任一个提供给一个存储元件MC。阈值电压分布Ε’是通过执行具有通过擦除操作获得的阈值电压分布E的存储元件上的Ε’编程操作而获得的分布。即,阈值电压分布E是比阈值电压分布Ε’更低的分布。以下描述了控制普通编程区和高速编程区中的每一个中的编程操作和擦除操作的方法。普通编程区中的存储元件和高速编程区中的存储元件被控制为具有等效的数据保持特性。即,在对存储元件MTri的数据编程之后或之前,执行对在存储串MS的较长方向上与编程后的存储元件MTri相邻的存储元件MTri+Ι的、用于将阈值电平设置为高于或等于阈值分布E’的编程过程。在这种情况下,在普通编程区中的擦除操作中,将具有阈值电压分布A和E’的存储元件的阈值电压转移至等于或小于阈值电压分布E’的阈值电压分布E (图22中的操作(I))。在堆叠型非易失性存储器的该擦除操作中,对元件源极CELSRC施加擦除电压Vera,并将源极侧选择栅极线SGS的电平控制至特定电平,以导致源极侧选择晶体管SSTr的源极端处的GIDL (栅极感应漏极电流)。从而,柱状半导体层58和57由如此生成的空穴充电,以将存储元件的沟道的电压提高至擦除电压Vera。另一方面,对存储元件的控制栅极施加比电压Vera更低的电压(例如,地电压Vss)。通过以上控制,执行擦除操作。现在,擦除操作的单元是包括上述多个存储元件单元MU的块MB。通过基本上给块MB中的存储元件单元MU提供实质上相同的擦除电压Vera和选择字线电压,来同时擦除这些存储元件单元MU。由于通过如稍后描述的编程操作中执行的逐比特控制而对个体存储元件的瞬间控制是不可能的,因此擦除后的阈值电压分布E的分布宽度是反映个体存储元件中的变化的宽分布宽度。因此,难以将阈值电压分布E设置为窄分布。擦除操作后的该阈值电压分布E与数据“ I”相对应,但可以被视为未完成状态中的数据“ I ”分布。另一方面,在高速编程区中的擦除操作中,除操作(I)外还执行E’分布编程操作(图22中的操作(2))。操作(2)是使存储元件的阈值电压分布从擦除操作后的阈值电压分布E改变至具有特定正值的阈值电压分布E’的操作。该正阈值电压分布E’是通过执行来自擦除操作后的阈值电压分布E的上述E’分布编程操作以在正方向上移动阈值电压分布E而获得的分布。给该阈值电压分布E’分配存储元件的擦除状态(数据“1”),并且这是擦除状态的阈值电压分布的完成形式。阈值电压分布E’的编程所耗费的时间取决于其编程方法、阈值电压分布的分配等等。当如图22所示采用二进制数据编程操作时,该时间约为每页300ys。因此,如果假定(I)的擦除操作自身耗费1.5ms,则在高速编程区的两个页的情况下,总擦除时间达到2.4ms (=1.5ms+(2+1) *300 μ s),以及在高速编程区的十个页的情况下,总擦除时间达到4.8ms(=l.5ms+(10+1) *300 μ S)。因此,擦除操作在高速编程区中比在普通编程区中具有更长擦除时间。普通编程区中的编程操作由诸如图23所示的过程的过程执行。在开始编程操作之前,普通编程区中的几乎所有存储元件(WL2-WL15)具有阈值电压分布Ε。期望从该状态编程数据“I”的存储元件经历编程操作的执行,以将其从阈值电压分布E移至Ε’(图23中的操作(3))。另一方面,期望从该状态编程数据“O”的存储元件经历编程操作的执行,以将其从阈值电压分布E移至阈值电压分布A (图23中的操作(4))。现在,图23是聚焦于一个所选字线WL上的多个存储元件的编程的视图。当对在存储串MS的较长方向上相邻的多个存储元件连续执行这种数据编程时,不存在问题。然而,当仅对一个字线执行编程时或者当针对连续页编程的最终页执行编程时,与编程后的存储元件相邻的元件的阈值电压是阈值电压分布Ε。如前所述,当利用阈值电压分布E编程的存储元件和利用阈值电压分布Α、Β或C编程的存储元件彼此相邻时,数据保持特性恶化,造成可靠性的问题。因此,在上述情况下,除所选存储元件自身的编程外,需要通过某种类型的方法,对与编程后的存储元件相邻的存储元件编程阈值电压分布Ε’。第一至第七实施例是对相邻存储元件编程阈值电压分布Ε’的示例。另一方面,高速编程区中的编程操作由诸如图24所示的过程的过程执行。在开始编程操作之前,高速编程区中的所有存储元件具有高于阈值电压分布E的阈值电压分布Ε’。期望从该状态对数据“I”进行编程的存储元件经历编程禁止操作,使得维持阈值电压分布Ε’。相比之下,期望从该状态对数据“O”进行编程的存储元件经历编程操作的执行,以将其从阈值电压分布Ε’移至阈值电压分布Α。由于期望对数据“I”进行编程的存储元件不需要包括将阈值电压从E编程至Ε’并针对Ε’验证阈值电压的编程操作过程,因此编程操作的速度在图24的情况下比在图23的情况下更快。即,高速编程区中的编程操作与普通编程区中的编程操作相比,有较少数目的阈值电压分布要获得(前者为1,后者为2)。因此,高速编程区中的编程速度提高为2倍。注意,与传统NAND型闪存中类似,对存储串MS的编程操作将源极线CELSRC侧上的存储元件MCO选择为第一编程元件,并且此后,以如下次序执行该编程操作:按照按逼近位线BL的次序顺序执行编程。如上所述,在一比特数据存储在一个存储元件中的情况下,沿一个字线WLi (i=0-15)的多个存储元件MC中存储的数据构成一个页。给一个页分配一页数据。在本实施例中,如图25所示,一个存储串MS中的沿与高速编程区相对应的字线WLO的多个存储元件MCO构成一个页PAGE0。类似地,沿字线WLl的多个存储元件MCl构成一个页PAGE1。如图25所示,当执行编程以仅选择高速编程区时,根据每个存储串MS中的编程次序来进行页选择,随后,执行适当地址输入,以选择另一存储串并类似地执行高速编程区的页选择。注意,沿字线WL2的多个存储元件MC2存在于普通编程区(WL2-WL15)中,并与高速编程区(WLO-WLl)相邻。这些存储元件MC2与普通编程区中的其他存储元件MC3-MC15(与高速编程区中的存储元件MCO和MCl类似)的区别在于,经过从擦除操作后的阈值电压分布E至阈值电压分布E’的E’分布编程操作。必须在擦除操作期间利用阈值电压分布E’对存储元件MC2进行编程(尽管这些存储元件MC2处于普通编程区中)的原因如下。在高速编程区中,需要的是,不论在编程期间选择哪个字线,都使沿相邻字线的存储元件中的从阈值电压分布E至E’的E’分布编程不必要。这是由于:如果这种编程变得必要,则高速编程区中的编程速度下降。如前所述,与已经历数据编程的存储元件相邻的存储元件必须具有阈值电压分布E’而不是E,以改进数据保持特性。然而,当对高速编程区的末端处的存储元件MChe进行编程时,如果普通编程区中的相邻存储元件MCne具有阈值电压分布E,那么由此,在存储元件MCne中执行从阈值电压分布E至E’的E’分布编程操作以及对高速编程区中的存储元件MChe的数据编程也变得必要。这将导致高速编程区中的编程速度下降。因此,在存储元件MCne中的擦除操作中,执行用于将阈值电压分布E改变至E’的E’分布编程操作。设置该高速编程区的地址空间上的位置和范围,以给出使用该非易失性存储器件的包括存储控制器的存储器系统的性能的最大改进。相应地,高速编程区可以是块内的仅特定一个页(首页、末页或特定页),或者可以是特定连续页的区(从首页起特定数目的页、从末页起特定数目的页或者从特定页起特定数目的页)。例如,存在一种存储器控制方法,其中,当擦除块时,对将该块指示为可擦除块的标记进行编程,而不实际上执行擦除操作。这样,当不需要数据大小大、但是期望快速且可靠地对特定存储器存取信息进行编程时,可以有效地利用设置上述首页或末页的高速编程区的小区。在高速编程区中,事先对编程E’阈值电压分布,还包括对高速编程区的边界元件的相邻元件编程E’阈值电压分布。因此,存在以下优点:特别地,满足数据保持特性的可靠性;以及编程比在普通区中更快。此外,通过将高速编程区设置为期望大小,可以例如将高速编程区用作用于以高吞吐量暂时写入到存储元件阵列中的数据缓冲区。图22-24描述了以下示例:其中,一比特(两电平)数据存储在一个存储元件中,但是,还可在两比特或更多比特数据存储在一个存储元件中的情况下执行类似操作。图26-28在概念上示出了在两比特(四个电平)数据存储在一个存储元件中的情况下普通编程区和高速编程区中的擦除操作和编程操作。在完成编程操作之后,将阈值电压分布E’、A、B和C中的任一个提供给一个存储元件。阈值电压分布E’与两比特数据“11”(擦除状态)相对应,且阈值电压分布A、B和C分别与例如数据“ 10 ”、“ OI ”和“ 00 ”相对应。在这种情况下,在普通编程区中的擦除操作中,如图26所示,执行擦除操作,直到具有阈值电压分布Ε’、A、B或C的存储元件的阈值电压变为等于阈值电压分布E’或更小的阈值电压E (图26中的操作(I))。另一方面,在高速编程区中的擦除操作中,除操作(I)外还执行E’分布编程操作(图26中的操作(2))。该操作(2)是将阈值电压分布E移至具有特定正值的阈值电压分布Ε’的操作。普通编程区中的编程操作由诸如图27所示的过程的过程执行。在开始编程操作之前,普通编程区中的所有存储元件具有等于阈值电压分布Ε’或更小的阈值电压分布Ε。期望从该状态对数据“11”进行编程的存储元件经历编程操作的执行,以将其从阈值电压分布E移至Ε’(图27中的操作(3))。另一方面,期望从该状态对数据“10”、“01”或“00”进行编程的存储元件经历编程操作的执行,以将其从阈值电压分布E移至阈值电压分布Α、B或C (图27中的操作(4))。此外,如上所述,对阈值分布Ε’进行编程对于与普通区中的编程后的元件相邻的元件来说是必要的。另一方面,高速编程区中的编程操作由诸如图28所示的过程之类的过程执行。在开始编程操作之前,高速编程区中的所有存储元件已经具有阈值电压分布Ε’。期望从该状态对数据“11”进行编程的存储元件经历编程禁止操作,使得维持阈值电压分布Ε’。相比之下,期望对来自该状态的数据“10”、“01”或“00”进行编程的存储元件经历编程操作的执行,以将其从阈值电压分布Ε’移至阈值电压分布Α、B或C。由于期望对数据“II”进行编程的存储元件不需要包括将阈值电压从E编程至Ε’并针对Ε’验证阈值电压的编程操作过程,因此编程操作的速度在图28的情况下比在图27的情况下更快。即,高速编程区中的编程操作与普通编程区中的编程操作相比,有较少数目的阈值电压分布要获得(前者中为3,后者中为4)。因此,将高速编程区中的编程速度提高至4/3倍。注意,在图27和28所示的类型的每元件两比特编程操作中,沿一条字线WLi(1=0-15)的多个存储元件MCi中存储的数据构成两个页。因此,如图29所示,在图27和28所示的类型的每元件两比特编程操作中,一个存储串MS中的沿与高速编程区相对应的字线WLO的多个存储元件MCO构成两个页PAGE0,I。换言之,PAGEO和PAGEl与WLO上的下页和上页相对应。类似地,沿字线WLl的多个存储元件MCl构成两个页PAGE2,3,换言之,PAGE2和PAGE3与WLl上的下页和上页相对应。这些指示了:将用于选择下页或上页中的任一个的地址位分配得比用于选择字线的地址位低。此外,可以将用于选择下页或上页中的任一个的地址位分配得比用于选择存储串MU的地址低。如图29所示,当仅在高速编程区上连续执行编程操作时,指定并访问与期望块地址和特定高速编程区相对应的页地址。如上所述,本实施例是用于执行每元件一比特存储操作、每元件两比特存储操作或者两比特或更多比特的多电平存储操作的堆叠型非易失性半导体存储器件。此外,本实施例包括具有与普通编程区的阈值电压控制不同的阈值电压控制的高速编程区。从而,本实施例允许在不降低数据的可靠性的情况下执行高速数据编程。[第九实施例]接着,参照图30Α和30Β来描述根据第九实施例的非易失性半导体存储器件。总体构造与图1所示的总体构造类似。然而,如图30Α所示,该实施例还包括在存储串MS的一端与漏极侧选择晶体管SDTr或源极侧选择晶体管SSTr之间的伪存储元件DMCD和DMCS。伪存储元件DMCD和DMCS均具有与存储元件MC相同的结构,但并不用在数据的存储中。伪字线WLDD和WLDS连接至伪存储元件DMCD和DMCS的栅极。在其他方面,第九实施例与第
一实施例类似。此外,如图30B所示,可以采用以下构造:其中,在其漏极侧和源极侧与背栅晶体管BTr相邻的元件,分别包括伪存储元件DMCBD和DMCBS,并且伪字线WLBD和WLBS分别连接至伪存储元件DMCBD和DMCBS的栅极。假定这些伪存储元件还具有与存储元件MC相同的结构,但并不用在数据的存储中。存在以下可能性:在擦除脉冲施加操作期间,伪存储元件DMCD、DMCS, DMCBD和DMCBS接收与存储数据的存储元件的相似的擦除偏置或针对存储数据的存储元件的擦除操作而优化的特定偏置。因此,伪存储元件DMCD、DMCS, DMCBD和DMCBS的阈值电压可以下降至与擦除操作后的阈值电压分布E相同的电平。然而,与高速编程区中类似,伪存储元件DMCD、DMCS、DMCBD和DMCBS在擦除操作期间经历E’分布编程操作,并从而被控制为使得其阈值电压达到与分布E’相同的电平。这导致伪元件晶体管DMCD、DMCS, DMCBD和DMCBS中的电荷存储膜被控制为几乎没有空穴存在。这样做防止了在伪元件晶体管的电荷存储膜中保持的空穴流出以与在相邻存储元件MC的电荷存储膜中保持的电子抵消。因此,甚至当伪元件被插入到存储单元中时,也改进了数据存储存储元件的数据保持特性。[第十实施例]接着,参照图31来描述根据第十实施例的非易失性半导体存储器件。总体构造与图1所示的总体构造类似。此外,该实施例包括与第九实施例中类似的伪存储元件DMCD和DMCS 以及 DMCBD 和 DMCBS。第十实施例的特征在于:比存储块小的子块包括擦除操作期间的最小单元。此外,为了在子块单元中处理擦除操作,高速编程区的布置与上述实施例中的布置不同。在第八和第九实施例中,一个存储块被假定为擦除单元。然而,在图31所示的第十实施例中,假定四个子块SB0-SB3中的任一个可被选择为最小擦除单元。此外,在图31中,假定被指派有相同符号WLi的字线处于以下状态:其中,这些字线通过布线的共享而直接物理连接,或者即使布线不共享也电连接。关于图31中的选择栅极线,子块SB0-SB3中的每一个包括唯一的漏极侧选择栅极线SGD_0-SGD_3和源极侧选择栅极线SGS(SGS_0-SGS_3),并从而被配置为可独立控制。然而,子块SB0-SB3不限于这种配置,而是可以被配置为共享相同选择栅极线S⑶和SGS,从而通过电路控制方法使得能够采取对每个子块的个体控制以及共同控制。在本实施例中,为了同时擦除四个子块SB0-SB3,例如,对源极侧选择栅极线SGS_0-SGS_3同时施加造成用于擦除的GIDL电流的特定电势,变得必要。当在擦除操作期间通过这种配置或控制方法来对多个子块SB0-SB3施加公共擦除偏置时,可以同时擦除这四个子块。当将子块SB用作最小擦除单元时,存在针对子块单元的擦除操作的最优页地址分配,并且优选地,高速编程区还与该页地址分配相匹配。此时,如果考虑具有NAND串型结构的存储元件的编程特性,则主要存在两种类型的编程干扰。一个(第一编程干扰)是由于所选择的NAND串中的未选择的存储元件中的编程通过电压VPASS而引起的应力,以及另一个(第二编程干扰)是所选择的存储元件在编程操作期间达到编程禁止状态(“ I ”编程)时的应力。
第一编程干扰以如下方式发生。首先,对位线BL施加电压(例如,0V)来进行数据编程。然后,为了将该OV传送至所选择的存储元件的沟道,对NAND串中的未选择的存储元件的控制栅极施加编程通过电压VPASS (例如,10V)。第一编程干扰由于编程通过电压VPASS和对沟道施加的电压OV而发生。此外,第二编程干扰以如下方式发生。当所选择的存储元件从开始处于编程禁止状态或者在编程操作的过程期间从编程状态切换至编程禁止状态时,对所选择的存储元件的控制栅极施加编程电压VPGM(例如,20V)。在所选择的NAND串的沟道充电至例如电源电压Vdd之后,通过关断的漏极侧选择栅极晶体管SDTr将所选择的NAND串的沟道设置至浮置状态。当对所选择的NAND串中的未选择的字线施加编程通过电压VPASS时,该电压VPASS使处于浮置状态的沟道的电势升高。当沟道的电势的升高不够时,控制栅极与沟道之间的电势差变大。因此,编程干扰由于该电势差而发生。在第一编程干扰和第二编程干扰中均需要编程通过电压VPASS的优化,编程通过电压VPASS的上限由第一编程干扰确定,编程通过电压VPASS的下限由第二编程干扰确定。此外,编程干扰的特性还根据NAND串中的数据的编程状态极大地变化。鉴于编程禁止状态中的NAND串中的第二编程干扰,优选地,将NAND串中的沟道电势有效地升高得尽可能高。为了这样做,优选地,当对字线施加编程电压Vpgm时,使尽可能多的存储元件处于擦除状态。这是由于:元件的阈值电压越低,则由于在将未选择的字线升高至编程通过电压VPASS时作用于来自低状态的沟道电势上的未选择的字线的电势而施加的耦合越大。因此,从编程干扰的观点来看,不期望在已经在NAND串中对数据进行编程之后继续重复施加编程应力。在本实施例中,假定情况如下:在多个子块SB之间共享一个字线WL,或者,在多个子块SB之间不共享字线WL,但每个字线经历控制以达到相同电势。在这种情况下,在编程脉冲施加到属于存储块MB的所选择的WL期间,在未选择的子块中可能发生与第二编程干扰类似的第三编程干扰。在该情形中,通过共享的字线将沟道电势耦合起来,以弱化所选择的字线与未选择的存储串的沟道之间的电压差。如果出于某种原因,沟道电势未足够升高,则发生第三干扰。在从编程干扰的上述观点考虑期望页分配的情况下,优选地,使多个子块(NAND串)的编程进行至相同程度。S卩,如图31所示,在本实施例中的编程操作中,按最低子块编号的顺序(SB0 — SBl — SB2 — SB3)对沿存储块MB中的多个子块SB0-SB3中的字线WLO中的每一个的存储元件MCO进行编程。当完成对所有子块SB中的字线WLO的编程时,接着,按最低子块编号的顺序对沿子块SB0-SB3中的每一个中的字线WLl的存储元件MCl进行编程。此后,以类似方式进行编程。因此,这意味着:将用于选择子块SB的地址位分配得比用于在页地址分配映射中选择字线的地址位低。换言之,子块地址位处于字线地址位之前,而图29所示的其他实施例指示字线地址位处于子块地址位之前。以上描述了在最小擦除单元由子块SB构成并且在多个子块SB之间共享字线WL的情况下或者在不共享字线WL但同时驱动字线WL的情况下,关于页地址的分配以及编程顺序的基本考虑方式。因此,根据这些实施例的页地址的分配可以抑制编程干扰,而与高速编程区的存在性和对每个子块执行的擦除操作无关。可以设置高速编程区,以鉴于所分配的页地址提供存储系统的性能的最大改进。当在高速编程区中设置从擦除块的首页起的特定连续页时,那么,例如,如图31所示,可以将从子块SBO中的WLO至子块SB3中的WLl定义为高速编程区。还可以在多比特数据存储在一个存储元件中的情况下以类似方式分配页地址,要考虑由于多电平存储而增大的逻辑页部分。例如,在两个比特存储在一个存储元件中的情况下,将用于选择下页或上页中的任一个的地址位分配得比子块地址位低。在这种情况下,可以在如图31所示的连续编程期间执行“全序列”编程。尽管描述了本发明的特定实施例,但是这些实施例仅作为示例而提出,并不意在限制本发明的范围。实际上,本文描述的新方法和系统可以体现在多种其他形式中;此外,在不脱离本发明的范围的前提下,可以进行本文描述的方法和系统的形式上的各种省略、替换和改变。附图及其等同替换方式意在覆盖将落入本发明的范围和精神内的这种形式或修改。例如,上述实施例描述了执行每元件两比特编程系统的操作示例。然而,在一个存储元件中保持三个或更多个比特的情况下,类似操作示例也明显适用。例如,在上述实施例中,具有U形类型半导体层的堆叠型存储元件阵列被描述为如何在一个存储串中连续形成电荷存储膜而不在存储元件之间分割该电荷存储膜的示例。然而,本发明不限于此。例如,在本发明及其等同替换方式的范围内,还可以包括I形类型堆叠型存储元件,其中,多个存储元件沿与半导体衬底垂直的堆叠方向以直线布置。此外,本发明甚至可以适用于平面型存储元件阵列,其中,在半导体衬底上形成所有存储元件,只要类似地连续形成电荷存储膜而不在存储元件之间分割该电荷存储膜即可。根据本发明的页地址的分配可以抑制包括共享字线的子块的非易失性半导体存储器件中的编程干扰,而与高速编程区的存在性以及对每个子块执行的擦除操作无关。此外,上述非易失性半导体存储器件包括:半导体衬底;存储元件阵列,包括多个存储块;多个子块,设置在所述存储块中并沿与衬底平行的第一方向布置;以及控制电路,被配置为控制提供给子块的电压,子块中的每一个包括:多个存储串,布置在沿与衬底平行的第二方向的行中,并且每个存储串包括沿垂直于衬底的方向串联连接的多个存储元件;多个漏极侧选择晶体管,每一个连接至所述存储串的第一端中的一个;以及多个源极侧选择晶体管,每一个连接至所述存储串的第二端中的一个,所述存储元件在第一方向和第二方向上布置,具有彼此共同连接的栅极,所述漏极侧选择晶体管在第二方向上布置,具有彼此共同连接的栅极,所述源极侧选择晶体管在第二方向上布置,具有彼此共同连接的栅极,所述存储元件中的每一个包括用于存储电荷的电荷存储膜,并被配置为能够根据所存储的电荷的量来保持多个电平的阈值电压分布,其中,将与在存储元件上存储多比特信息相关的地址位分配得比用于选择子块的地址位或用于选择与在所述存储元件之间共同连接的栅极相连接的字线的地址位中的任一个低。
权利要求
1.一种非易失性半导体存储器件,包括: 包括多个存储元件的存储元件阵列;以及 控制电路,配置为控制对所述多个存储元件施加的电压, 所述控制电路配置为:在执行编程操作时,执行第一编程操作,使得由所述控制电路选择的第一存储元件保持阈值电压为正值的数据,以及执行第二编程操作,使得与所述第一存储元件相邻的第二存储元件被设置为正阈值电压。
2.根据权利要求1所述的非易失性半导体存储器件,其中 所述存储元件阵列包括多个存储串,所述存储串中的每一个还包括串联连接的多个存储元件, 所述存储串中的每一个包括: 半导体层,用作所述存储元件的本体; 存储栅绝缘膜,包括能够存储电荷的电荷存储层,并且连续形成,包括在所述多个存储元件之间也是连续形成;以及 导电层,在所述存储栅绝缘膜上形成,并用作所述存储元件的栅极。
3.根据权利要求1所述的非易失性半导体存储器件,其中 所述控制电路被配置为在对所述第一存储元件的第一编程操作之后,执行对所述第二存储元件的第二编程操作。
4.根据权利要求2所述的非易失性半导体存储器件,其中 所述控制电路被配置为在对所述第一存储元件的第一编程操作之后,执行对所述第二存储元件的第二编程操作。
5.根据权利要求3所述的非易失性半导体存储器件,其中 所述存储元件中的每一个能够保持2或更多比特数据,并且 所述控制电路被配置为:当所述控制电路接收到作为第一数据的所述2或更多比特数据的特定部分以及接收到编程执行命令时,开始用于将所述第一数据的一部分编程到所述第一存储元件的第一编程操作,并且然后开始对所述第二存储元件的第二编程操作;以及当所述控制电路在用于将所述第一数据的一部分编程到所述第一存储元件的第一编程操作之后并且在对所述第二存储元件的第二编程操作开始之前接收到完整的2或更多比特数据以及编程命令时,在对所述第二存储元件的第二编程操作之前,执行用于对作为所述第一数据的完整的2或更多比特数据进行编程的第一编程操作。
6.根据权利要求4所述的非易失性半导体存储器件,其中 所述存储元件中的每一个能够保持2或更多比特数据,以及 所述控制电路被配置为:当所述控制电路接收到作为第一数据的所述2或更多比特数据的特定部分以及接收到编程执行命令时,开始用于将所述第一数据的一部分编程到所述第一存储元件的第一编程操作,并且然后开始对所述第二存储元件的第二编程操作;以及当所述控制电路在用于将所述第一数据的一部分编程到所述第一存储元件的第一编程操作之后并且在对所述第二存储元件的第二编程操作开始之前,接收到完整2或更多比特数据以及编程命令时,在对所述第二存储元件的第二编程操作之前,执行用于对作为所述第一数据的完整的2或更多比特数据进行编程的第一编程操作。
7.根据权利要求1所述的非易失性半导体存储器件,其中所述控制电路被配置为在对所述第一存储元件的第一编程操作之前,执行对所述第二存储元件的第二编程操作。
8.根据权利要求2所述的非易失性半导体存储器件,其中 所述控制电路被配置为在对所述第一存储元件的第一编程操作之前,执行对所述第二存储元件的第二编程操作。
9.根据权利要求1所述的非易失性半导体存储器件,还包括数据保持电路,所述数据保持电路被配置为保持要编程到所述存储元件的页数据, 其中,所述控制电路被配置为:每当完成对特定量的数据的编程时,丢弃所述数据保持电路中保持的页数据;以及保持接下来要编程的页数据。
10.根据权利要求2所述的非易失性半导体存储器件,还包括数据保持电路,所述数据保持电路被配置为保持要编程到所述存储元件的页数据, 其中,所述控制电路被配置为:每当完成对特定量的数据的编程时,丢弃所述数据保持电路中保持的页数据;以及保持接下来要编程的页数据。
11.根据权利要求1所述的非易失性半导体存储器件,其中 所述存储元件中的每一个能够保持2或更多比特数据,以及 所述控制电路被配置为:当在对所述第一存储元件执行第一编程操作之前所述控制电路接收到要编程到所述第一存储元件的2或更多比特数据时,能够一次全部地执行第一编程操作。
12.根据权利要求2所述的非易失性半导体存储器件,其中 所述存储元件中的每一个能够保持2或更多比特数据,以及 所述控制电路被配置为:当在对所述第一存储元件执行第一编程操作之前所述控制电路接收到要编程到所述第一存储元件的2或更多比特数据时,能够一次全部地执行第一编程操作。
13.根据权利要求1所述的非易失性半导体存储器件,其中 所述存储元件阵列包括第一区和第二区,以及 当所述控制电路执行对所述存储元件的擦除操作时, 所述控制电路进行控制,以将所述第二区中的存储元件和所述第一区中与所述第二区中的存储元件相邻的存储元件设置为正阈值电压,并将所述第一区中的除所述第一区中与所述第二区中的存储元件相邻的存储元件之外的存储元件设置为比所述正阈值电压低的阈值电压。
14.根据权利要求13所述的非易失性半导体存储器件,其中 当所述控制电路执行对所述存储元件的擦除操作时, 所述控制电路执行用于将第一阈值电压分布提供给所述第二区中的存储元件的擦除操作,并且然后执行第二编程操作,以及 所述控制电路执行用于将第一阈值电压分布提供给所述第一区中的存储元件的擦除操作,并且然后将所述存储元件保持在已经被施加了第一阈值电压分布的状态中不变。
15.根据权利要求13所述的非易失性半导体存储器件,其中 所述存储元件阵列包括多个存储块, 所述存储块中的每一个包括:多个存储串,每一个包括串联连接的存储元件; 多个漏极侧选择晶体管,每一个连接至所述存储串的第一端中的一个;以及 多个源极侧选择晶体管,每一个连接至所述存储串的第二端中的一个,以及 所述非易失性半导体存储器件包括: 多个字线,被布置为共同连接至在所述多个存储块之一中布置的多个存储串; 多个位线,沿第一方向延伸,并连接至存在于所述多个存储块中的所述漏极侧选择晶体管的一端; 源极线,共同连接至所述源极侧选择晶体管的一端; 漏极侧选择栅极线,被设置为共同连接沿与所述第一方向正交的第二方向对准的所述漏极侧选择晶体管的栅极;以及 源极侧选择栅极线,被设置为共同连接沿所述第二方向对准的所述源极侧选择晶体管的栅极,并被设置为具有所述第二方向作为较长方向。
16.根据权利要求15所述的非易失性半导体存储器件,其中 所述存储串中的每一个包括: 用作所述存储元件的本体的半导体层; 存储栅绝缘膜,包括能够存储电荷的电荷存储层,并且在所述多个存储元件沿所述半导体层对准的方向上、包括在所述多个存储元件之间连续形成;以及 字线导电层,在所述存储栅绝缘膜上形成,并用作所述存储元件的栅极以及用作所述字线。
17.根据权利要求15所述的非易失性半导体存储器件,还包括: 第一伪存储元件,设置在所述存储串的第一端与所述漏极侧选择晶体管之间;以及 第二伪存储元件,设置在所述存储串的第二端与所述源极侧选择晶体管之间, 其中 所述第一伪存储元件和所述第二伪存储元件包括用于存储电荷的电荷存储膜,并被配置为能够根据所存储的电荷的量来保持多个电平的阈值电压分布,以及 所述控制电路被配置为不将数据编程到所述第一伪存储元件和所述第二伪存储元件。
18.一种非易失性半导体存储器件,包括: 半导体衬底; 包括多个存储块的存储元件阵列; 多个子块,在所述存储块中提供并沿与衬底平行的第一方向布置;以及 控制电路,被配置为控制对所述子块供给的电压, 所述子块中的每一个包括: 多个存储串,沿与衬底平行的第二方向以行布置,并且每个存储串包括沿与衬底垂直的方向串联连接的多个存储元件; 多个漏极侧选择晶体管,每一个连接至所述存储串的第一端中的一个;以及 多个源极侧选择晶体管,每一个连接至所述存储串的第二端中的一个, 所述存储元件沿所述第一方向和所述第二方向布置,具有彼此共同连接的栅极, 所述漏极侧选择晶体管沿所述第二方向布置,具有彼此共同连接的栅极, 所述源极侧选择晶体管沿所述第二方向布置,具有彼此共同连接的栅极,所述存储元件中的每一个包括用于存储电荷的电荷存储膜,并被配置为能够根据所存储的电荷的量来保持多个电平的阈值电压分布, 其中,将用于选择子块的地址位分配得比用于选择与在所述存储元件之间共同连接的栅极相连接的字线的地址位低。
19.一种非易失性半导体存储器件,包括: 半导体衬底; 包括多个存储块的存储元件阵列; 多个子块,设置在所述存储块中并沿与衬底平行的第一方向布置;以及 控制电路,被配置为控制对所述子块供给的电压, 所述子块中的每一个包括: 多个存储串,沿与衬底平行的第二方向以行布置,并且每个存储串包括沿与衬底垂直的方向串联连接的多个存储元件; 多个漏极侧选择晶体管,每一个连接至所述存储串的第一端中的一个;以及 多个源极侧选择晶体管,每一个连接至所述存储串的第二端中的一个, 所述存储元件沿所述第一方向和所述第二方向布置,具有彼此共同连接的栅极, 所述漏极侧选择晶体管沿所述第二方向布置,具有彼此共同连接的栅极, 所述源极侧选择晶体管沿所述第二方向布置,具有彼此共同连接的栅极, 所述存储元件中的每一个包括用于存储电荷的电荷存储膜,并被配置为能够根据所存储的电荷的量来保持多个电平的阈值电压分布, 其中,将用于选择与在所述存储元件之间共同连接的栅极相连接的字线的地址位分配得比用于选择子块的地址位低。
全文摘要
本发明涉及一种非易失性半导体存储器件。控制电路给存储元件提供了至少部分为负的阈值电压分布,从而擦除存储元件的所保持的数据,并给存储元件提供多个电平的正阈值电压分布,从而对存储元件编程数据的多个电平。控制电路在对存储元件执行编程操作时,执行第一编程操作并执行第二编程操作,该第一编程操作给作为经过编程的存储元件的第一存储元件提供多个电平的正阈值电压分布,该第二编程操作给与第一存储元件相邻的第二存储元件提供正阈值电压分布,而不管(不顾)要编程到第二存储元件的数据是否(已经)存在于第二存储元件中。
文档编号H01L27/115GK103119656SQ20118004570
公开日2013年5月22日 申请日期2011年9月22日 优先权日2010年9月24日
发明者细野浩司 申请人:株式会社 东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1