反及型闪存及其编程方法与流程

文档序号:11434114阅读:199来源:国知局
反及型闪存及其编程方法与流程

本发明涉及一种反及型闪存及其编程方法,尤其涉及一种被选择的页面(page)的编程(program)方法。



背景技术:

在反及(notand,nand)型的闪存(flashmemory)中,进行页面的读出或编程时,为了抑制因位线(bitline)间的电容耦合(capacitycoupling)引起的噪音(noise),将1根字线(wordline)分成偶数页面与奇数页面而使其动作。例如,进行偶数页面的读出时,将奇数页面接地,进行奇数页面的读出时,将偶数页面接地,而且,进行偶数页面的编程时,将奇数页面设为禁止编程,进行奇数页面的编程时,将偶数页面设为禁止编程(例如专利文献1)。

现有技术文献

专利文献

专利文献1:日本专利特开平11-176177号公报

[发明所要解决的问题]

随着闪存的低电压化、高集成化的推进,除了位线间的电容耦合以外,由存储单元(memorycell)间的浮栅(floatinggate,fg)耦合造成的影响也变得无法忽视。例如,当对偶数页面的存储单元编程数据(data)“0”时,若邻接的存储单元储存有数据“1”,则两存储单元间的电位差将变大,因fg耦合而导致邻接的存储单元的阈值上升。若在此种环境下实施编程,则结果会导致数据“1”、数据“0”的存储单元的阈值分布幅度变大,从而导致闪存的可靠性下降。



技术实现要素:

本发明的目的在于解决此种现有的问题,提供一种能抑制由邻接的存储单元间的fg耦合造成的影响,而可靠性高的nand型闪存。

[解决问题的技术手段]

本发明的编程方法是对nand型闪存的页面进行编程,包括:选择存储器阵列的页面的步骤;对选择页面的偶数页面进行编程的步骤;对与所述偶数页面邻接的存储单元进行软编程的第1软编程步骤;以及在所述偶数页面的编程结束后对所述选择页面的奇数页面进行编程的步骤。

优选的是,所述第1软编程步骤包括对奇数页面进行软编程的操作。优选的是,所述第1软编程步骤包括对与所述选择页面邻接的下条字线的偶数页面进行软编程的操作。优选的是,所述对奇数页面进行编程的步骤包括:对奇数页面施加编程电压的步骤;以及对与奇数页面邻接的下条字线的奇数页面进行软编程的第2软编程步骤。优选的是,所述第1软编程步骤包括用于软编程的校验(verify)。优选的是,所述第2软编程步骤包括用于软编程的校验。优选的是,所述对偶数页面进行编程的步骤包括用于编程的校验。优选的是,所述对奇数页面进行编程的步骤包括用于编程的校验。

本发明的nand型的闪存包括:存储器阵列,形成有多个存储单元;页面选择部件,选择所述存储器阵列的页面;以及编程部件,进行由所述页面选择部件所选择的选择页面的编程,所述编程部件包括对选择页面的偶数页面进行编程的部件、对存储单元进行软编程的部件、及对所述选择页面的奇数页面进行编程的部件,所述进行软编程的部件是对与偶数页面邻接的存储单元进行软编程。

优选的是,所述进行软编程的部件是在偶数页面的编程过程中,对选择页面的奇数页面以及与选择页面邻接的下条字线的偶数页面进行软编程。优选的是,所述进行软编程的部件进而在奇数页面的编程过程中,对与奇数页面邻接的下条字线的奇数页面进行软编程。优选的是,所述进行软编程的部件包括用于软编程的校验。优选的是,所述对偶数页面进行编程的部件包括用于编程的校验,所述对奇数页面进行编程的部件包括用于编程的校验。

[发明的效果]

根据本发明,通过对邻接的存储单元进行软编程,从而能够抑制由fg耦合造成的影响,使存储单元的阈值分布幅度窄幅化。由此,能够提供可靠性高的闪存。

附图说明

图1是表示本发明的实施例的闪存的一结构例的方框图;

图2是表示本发明的实施例的闪存的nand串(string)的结构的电路图;

图3是表示本实施例的闪存的位线选择电路及页面缓冲器/读出电路的一例的图;

图4是本发明的实施例的闪存的选择页面的编程的动作流程;

图5是本实施例的选择页面的偶数页面的编程的动作流程;

图6是本实施例的选择页面的奇数页面的编程的动作流程;

图7a、图7b、图7c是示意性地表示在本实施例的编程中,进行偶数页面的编程时的存储单元的阈值变化的图;

图7d、图7e、图7f是示意性地表示在本实施例的编程中,进行奇数页面的编程时的存储单元的阈值变化的图;

图8是对本实施例的编程的效果进行说明的图。

附图标记:

100:闪存;

110:存储器阵列;

120:输入/输出缓冲器;

130:地址寄存器;

140:高速缓冲存储器;

150:控制器;

160:字线选择电路;

170:页面缓冲器/读出电路;

172:锁存电路;

180:行选择电路;

190:内部电压产生电路;

200:位线选择电路;

ax:列地址信息;

ay:行地址信息;

blcd:传输晶体管;

blk(0)~blk(m):块;

blpre:预充电晶体管;

bls:位线选择晶体管;

c:电容器;

c1、c2、c3:控制信号;

e1、e2、e3、e4、gbl_e:偶数位线;

j、k:阈值分布;

mc1~mc64:存储单元;

n1:共用节点;

nu:nand串单元;

o1、o2、o3、gbl_o:奇数位线;

s10~s40、s100~s114、s200~s210:步骤;

sel_e:偶数选择晶体管;

sel_o:奇数选择晶体管;

sgd、sgs:选择栅极线;

sl:共用源极线;

sn:读出节点;

td:位线侧选择晶体管;

ts:源极线侧选择晶体管;

vers:抹除电压;

vir:假想电位;

vpass:通过电压;

vprog:编程电压;

vread:读出电压;

wl1~wl64:字线;

ysel_e:偶数偏压选择晶体管;

ysel_o:奇数偏压选择晶体管。

具体实施方式

以下,参照附图来详细说明本发明的实施方式。另外,应留意的是,附图中,为了便于理解而强调表示各部,与实际元件(device)的比例(scale)并不相同。

图1是表示本实施例的nand型闪存的一结构例的方框图。如所述图1所示,闪存100包括:存储器阵列110,形成有排列成矩阵状的多个存储单元;输入/输出缓冲器(buffer)120,连接于外部输入/输出端子i/o;地址寄存器(addressregister)130,接收来自输入/输出缓冲器120的地址数据;高速缓冲存储器(cachememory)140,保持输入/输出的数据;控制器(controller)150,生成控制信号c1、控制信号c2、控制信号c3等,所述控制信号c1、控制信号c2、控制信号c3等是基于来自输入/输出缓冲器120的命令数据(commanddata)及外部控制信号(未图示的芯片致能(chipenable)ce、命令锁存致能cle、地址锁存致能ale、就绪/忙碌(ready/busy)ry/by等)来控制各部;字线选择电路160,对来自地址寄存器130的列地址信息ax进行解码(decode),并基于解码结果来进行块(block)的选择及字线的选择等;页面缓冲器/读出(sense)电路170,保持经由位线而读出的数据,或者保持经由位线来编程的数据等;行选择电路180,对来自地址寄存器130的行地址信息ay进行解码,并基于所述解码结果来进行位线的选择等;以及内部电压产生电路190,生成数据的读出、编程(写入)及抹除等所需的电压(编程电压vprog、通过电压vpass、读出电压vread、抹除电压vers(包括抹除脉冲))。

存储器阵列110具有沿行方向配置的多个块blk(0)、块blk(1)、…、块blk(m)。在块的其中一个端部,配置有页面缓冲器/读出电路170。但是,页面缓冲器/读出电路170也可配置在块的另一个端部或者两侧的端部。

在1个块中,如图2所示,形成有多个nand串单元nu,所述多个nand串单元nu是将多个存储单元串联连接而成。图例中,在1个块内,沿相对于行方向的列方向排列有n+1个串单元nu。串单元nu包括:串联连接的多个存储单元mci(i=1、2、3…、64);位线侧选择晶体管(transistor)td,连接于作为其中一个端部的存储单元mc64的漏极(drain)侧;以及源极线(sourceline)侧选择晶体管ts,连接于存储单元mc1的源极侧。位线侧选择晶体管td的漏极连接于对应的1根位线gbl,源极线侧选择晶体管ts的源极连接于共用源极线sl。

存储单元mci的控制栅极(gate)连接于字线wli,位线侧选择晶体管td、源极侧选择晶体管ts的栅极连接于选择栅极线sgd、选择栅极线sgs。字线选择电路160基于列地址ax来选择块,对被选择的块的选择栅极线sgs、选择栅极线sgd供给与动作相应的电压。

典型的是,存储单元具有金属氧化物半导体(metaloxidesemiconductor,mos)结构,所述mos结构包括:作为n型扩散区域的源极/漏极,形成在p阱内;隧道(tunnel)氧化膜,形成在源极/漏极间的通道(channel)上;浮动栅极(电荷蓄积层),形成在隧道氧化膜上;以及控制栅极,隔着介电质膜而形成在浮动栅极上。当在浮动栅极中未蓄积有电荷时,即写入有数据“1”时,阈值处于负状态,存储单元为常通(normallyon)。当在浮动栅极中蓄积有电子时,即写入有数据“0”时,阈值偏移(shift)为正,存储单元为常断(normallyoff)。

表1是表示在闪存的各动作时施加的偏压电压的一例的表。在读出动作时,对位线施加某正电压,对被选择的字线施加某电压(例如0v),对未被选择的字线施加通过电压vpass(例如4.5v),对选择栅极线sgd、选择栅极线sgs施加正电压(例如4.5v),将位线侧选择晶体管td、源极线侧选择晶体管ts导通,将共用源极线sl设为0v。在编程动作时,对被选择的字线施加高电压的编程电压vprog(15v~20v),对未被选择的字线施加中间电位(例如10v),使位线侧选择晶体管td导通,使源极线侧选择晶体管ts关断,将与数据“0”或数据“1”相应的电位供给至位线gbl。在抹除动作时,对块内的被选择的字线施加0v,对p阱施加高电压(例如20v),将浮动栅极的电子抽出至基板,从而以块为单位来抹除数据。

表1

图3是表示位线选择电路与页面缓冲器/读出电路的一例的图,此处,作为一对位线,例示了偶数位线gbl_e与奇数位线gbl_o。位线选择电路200具有:偶数选择晶体管sel_e,连接于偶数位线gbl_e;奇数选择晶体管sel_o,连接于奇数位线gbl_o;偶数偏压选择晶体管ysel_e,连接于偶数位线gbl_e与假想电位vir之间;奇数偏压选择晶体管ysel_o,连接于奇数位线gbl_o与假想电位vir之间;以及位线选择晶体管bls,连接于偶数选择晶体管sel_e及奇数选择晶体管sel_o的共用节点(node)n1。

页面缓冲器/读出电路170经由位线选择晶体管bls而连接于位线选择电路200,1个页面缓冲器/读出电路170由一对偶数位线gbl_e与奇数位线gbl_o所共用。页面缓冲器/读出电路170具有:预充电晶体管blpre,用于对位线供给预充电电位;电容器c,与形成在预充电晶体管blpre与位线选择晶体管bls之间的读出节点sn连接;以及传输晶体管blcd等,将读出节点sn的电位传输至锁存电路172。

在进行被选择的页面的读出或编程时,分成偶数页面(偶数位线)与奇数页面(奇数位线)来进行动作。即,当进行偶数页面的读出动作时,使偶数选择晶体管sel_e、位线选择晶体管bls导通,使奇数选择晶体管sel_o关断,使偶数偏压选择晶体管ysel_e关断,使奇数偏压选择晶体管ysel_o导通,通过假想电位vir,对奇数位线gbl_o供给gnd电位。在进行奇数页面的读出时,使奇数选择晶体管sel_o、位线选择晶体管bls导通,使偶数选择晶体管sel_e关断,使偶数偏压选择晶体管ysel_e导通,使奇数偏压选择晶体管ysel_o关断,通过假想电位vir对偶数位线gbl_e供给gnd电位。这样,进行基于位线遮罩(bitlineshield)的读出,因邻接的位线间的电容耦合造成的噪音得以降低。

而且,进行偶数页面的编程时,使偶数选择晶体管sel_e、位线选择晶体管bls导通,使奇数选择晶体管sel_o关断,使偶数偏压选择晶体管ysel_e关断,使奇数偏压选择晶体管ysel_o导通,通过假想电位vir对奇数位线gbl_o供给禁止编程的电压(例如某正电压)。进行奇数页面的编程时,使奇数选择晶体管sel_o、位线选择晶体管bls导通,使偶数选择晶体管sel_e关断,使偶数偏压选择晶体管ysel_e导通,使奇数偏压选择晶体管ysel_o关断,通过假想电位vir对偶数位线gbl_e供给禁止编程的电压。

接下来,对本实施例的闪存的详细的编程动作进行说明。本实施例具备下述编程模式(mode),即,当进行被选择的页面的编程时,抑制了邻接的存储单元间的fg耦合的影响。

图4表示本实施例的选择页面的编程动作的流程。请配合图1所示,首先,当经由输入/输出缓冲器120而收到编程命令、编程数据、地址等时(步骤s10),通过控制器150开始编程序列(programsequence)。字线选择电路160基于列地址信息ax来选择存储器阵列110的块,且选择被选择的块的字线。另一方面,行选择电路180基于行地址信息ay,将编程数据载入(load)至页面缓冲器/读出电路170。

接下来,开始由字线选择电路160所选择的字线、即被选择的页面的编程(步骤s20)。在选择页面的编程时,最先进行偶数页面的编程(步骤s30),当偶数页面的编程结束时,接着进行奇数页面的编程(步骤s40)。为了准确或者有效地进行对存储单元的电子注入,使用增量步进脉冲编程(incrementalsteppulseprogram,ispp)方式。所述方式中,施加初始的编程脉冲,当通过编程校验判定为不合格时,施加比初始的编程脉冲仅高出1阶电压的编程脉冲,使编程脉冲的电压依序增加,直至页面内的所有存储单元的编程被判定为合格为止。另外,本例中,在偶数页面的编程之后进行奇数页面的编程,但偶数页面或奇数页面的分配为任意,在奇数页面的编程之后进行偶数页面的编程本质上也相同。

图5表示偶数页面的编程的流程,图6表示奇数页面的编程的流程。图7a~图7f示意性地表示对偶数页面/奇数页面进行编程时的因fg耦合造成的存储单元的阈值的偏移,e1、e2、e3、e4表示偶数位线,o1、o2、o3表示奇数位线,wl1、wl2、wl3表示字线,影线(hatching)表示存储单元的阈值的偏移。而且,表2a~表2c是表示在本实施例的编程中,进行偶数页面的编程时的阈值的数值例,表2d~表2f是表示在本实施例的编程中,进行奇数页面的编程时的阈值的数值例。表2a~表2f中,为了便于理解因fg耦合造成的存储单元的阈值变化,以“0”至“10”为止的数值例来表示数据“1”的抹除的阈值分布的下限值至数据“0”的编程的阈值分布的上限值为止。

表2a

表2b

表2c

表2d

表2e

表2f

首先,如图5所示,为了进行被选择的页面的偶数页面的编程,对偶数页面施加第1次的编程脉冲(步骤s100)。将此时的状态示于图7a。字线wl1为选择页面。另外,在进行编程之前,设所有存储单元处于抹除状态。此时,页面缓冲器/读出电路170中设置有如表2a所示的编程数据“0111010”。即,对于奇数位线o1、奇数位线o2、奇数位线o3,供给数据“1”、即作为禁止编程的电压,对于偶数位线e1、偶数位线e2、偶数位线e3、偶数位线e4,供给与数据“0100”相应的电压。

对于字线wl1,施加由内部电压产生电路190所生成的第1次的编程脉冲,对数据“0”的偶数位线e1、偶数位线e3、偶数位线e4的存储单元注入电子,存储单元的阈值朝正的方向偏移,设阈值偏移至“3”。由于编程有数据“0”的存储单元的阈值朝正的方向偏移,因而与此邻接的存储单元的阈值因fg耦合而朝正的方向偏移。具体而言,如表2a所示,奇数位线o1的存储单元的阈值因与偶数位线e1的存储单元的fg耦合而偏移至“1.5”,奇数位线o2的存储单元的阈值因与偶数位线e3的存储单元的fg耦合而成为“1.5”。奇数位线o3的存储单元的阈值因与偶数位线e3、偶数位线e4的2个存储单元的fg耦合而偏移至“2”。进而,在与选择页面wl1邻接的下条字线wl2中,偶数位线e1、偶数位线e3、偶数位线e4的存储单元的阈值因fg耦合的影响而偏移至“1.2”。而且,奇数位线o3的存储单元的阈值也偏移至“0.2”。通过第1次的编程脉冲的施加,如图7a所示,与偶数页面的数据“0”的存储单元邻接的奇数页面以及下条字线wl2的偶数页面的阈值稍许上升。

再次返回图5,当对偶数页面的第1次编程脉冲的施加结束时,接下来,控制器150实施用于在选择页面内邻接的存储单元即奇数页面的软编程的校验(步骤s102)。如上所述,与编程有数据“0”的偶数页面的存储单元邻接的存储单元的阈值因fg耦合而上升,但在本实施例中,以存储单元的阈值因此种fg耦合而上升为前提来进行邻接的存储单元的软编程,使邻接的存储单元的阈值收敛为固定的值。校验是对选择字线wl1施加校验电压,除此以外与通常的读出动作同样地进行。表2a的示例中,判定软编程的校验合格与否的阈值例如被设定为“2”。其结果,奇数位线o1、奇数位线o2的阈值为“1.5”,因此为不合格,奇数位线o3的阈值为“2”,因此为合格。

控制器150基于校验的判定结果,对被视为不合格的奇数页面实施软编程(s104)。表2a的示例中,对奇数位线o1、奇数位线o2的存储单元进行软编程。在软编程中,将被设定为比通常的编程脉冲低的电压的软编程电压vsoft施加至选择字线wl1,对被视为不合格的奇数位线o1、奇数位线o2供给可编程的电压,对被视为合格的奇数位线o3供给禁止编程的电压。而且,对偶数位线也供给禁止编程的电压。被视为不合格的奇数位线o1、奇数位线o2的存储单元的阈值通过软编程而朝正的方向偏移。反复进行软编程及其校验,直至所有的奇数位线的存储单元的阈值为合格为止(本例中,直至阈值为“2”为止)。其结果,如表2b所示,奇数位线o1、奇数位线o2、奇数位线o3的阈值被收敛为“2”。

接下来,控制器150实施用于与选择页面邻接的下条字线的偶数页面的软编程的校验(步骤s106)。通过字线wl1的偶数页面的数据“0”的编程,邻接的字线wl2的偶数页面的存储单元的阈值也会因fg耦合而上升。本实施例中,以邻接的字线的偶数页面的存储单元的阈值因fg耦合而上升为前提,对此种存储单元进行软编程,使阈值收敛为大致固定。判定校验的阈值与奇数页面的软编程时相同,因而,判定阈值是否已达到“2”。表2a的示例中,字线wl2的偶数位线e1、偶数位线e2、偶数位线e3、偶数位线e4的存储单元的阈值小于“2”,因此这些存储单元被判定为不合格。

接下来,控制器150对被视为不合格的下条字线的偶数页面的存储单元进行软编程(步骤s108)。所述软编程是与步骤s104时同样地进行。其结果,如表2b所示,邻接的字线wl2的偶数页面的存储单元的阈值被收敛为“2”。这样,字线wl1、字线wl2的邻接的存储单元的阈值通过软编程而被设定为“2”。

接下来,控制器150实施偶数页面的编程校验(步骤s110)。即,当应注入电荷的数据“0”的存储单元被判定为不合格时(步骤s112),对所述存储单元施加下个编程脉冲,反复进行步骤s100~步骤s110,直至所有存储单元的编程被判定为合格为止。例如,若通过编程校验而判定的阈值设为“8”,则如表2c所示,选择页面的偶数位线e1、偶数位线e3、偶数位线e4的存储单元的阈值为“8”或“8”以上。由于偶数位线e1、偶数位线e3、偶数位线e4的存储单元的阈值为“8”以上,因而与他们邻接的存储单元的阈值也会因fg耦合而进一步上升。此处应留意的是,当对编程有数据“0”的存储单元施加编程电压时,邻接的存储单元的阈值因软编程而上升至固定值为止,因此若与不对邻接的存储单元进行软编程的情况相比,则邻接的存储单元与偶数页面的编程有数据“0”的存储单元之间的电压差变小,因fg耦合,而阈值的偏移量变小。这样,当偶数页面的编程结束时,接着开始奇数页面的编程(步骤s114)。

接下来,参照图6来说明奇数页面的编程。控制器150为了对奇数页面进行编程,对字线wl1施加第1次的编程脉冲(步骤s200)。此时,对于偶数位线,以数据“1”的形式而供给禁止编程电压,对于奇数位线,供给与编程数据相应的电压。表2d~表2f的示例中,对奇数位线o1、奇数位线o2、奇数位线o3设置有“010”,奇数位线o1、奇数位线o3的阈值偏移至“4.5”、“4.7”,伴随于此,邻接的存储单元的阈值也会因fg耦合而上升。图7d表示奇数页面的第1次编程的情况。

接下来,控制器150实施用于邻接的下条字线wl2的奇数页面的软编程的校验(s202)。判定校验的阈值与偶数页面时相同,因而,判定阈值是否已达到“2”。表2d~表2f的示例中,字线wl2的奇数位线o1、奇数位线o2、奇数位线o3的阈值均小于“2”,因此这些存储单元被判定为不合格。

接下来,对被判定为不合格的字线wl2的奇数页面进行软编程(步骤s204)。其结果,如表2e所示,字线wl2的奇数位线o1、奇数位线o2、奇数位线o3的存储单元的阈值被收敛为“2”。

接下来,控制器150进行奇数页面的编程校验(步骤s206),若存在不合格的存储单元,则对所述存储单元施加下个编程脉冲(步骤s200),反复进行步骤s200~步骤s206,直至最终所有的奇数页面的存储单元合格为止。并且,当奇数页面的编程结束时,选择页面的编程结束(步骤s210)。

图7f、表2f表示奇数页面的编程结束时的各存储单元的阈值。此处应留意的是,在奇数页面的编程中,也对邻接的字线的奇数页面进行软编程,因此数据“1”的存储单元与编程有数据“0”的存储单元间的电压差变小,因此,能够减小因fg耦合造成的阈值的偏移。进而,邻接的字线wl2的所有存储单元的阈值通过软编程而朝正的方向偏移,但这些阈值可被收敛在固定的范围内。这是因为,与编程有数据“0”的存储单元的电压差变小,因fg耦合造成的影响变小。

在进行下条字线wl2的编程时,在偶数页面的编程中,也可与奇数页面的编程时相同,仅实施邻接的下条字线wl3的偶数页面的软编程。即,跳过(skip)图5所示流程的步骤s102、步骤s104。其原因在于,如图7f或表2f所示,在进行字线wl2的编程时,字线wl2的偶数页面及奇数页面的所有存储单元的阈值已处于经软编程的状态。在字线wl2中,进行数据“0”的编程的存储单元与数据“1”的存储单元之间的电压差与未实施软编程时相比变小,因此,因fg耦合造成的阈值的偏移得以抑制。

图8表示数据“1”的阈值分布与数据“0”的阈值分布。波形j是未对邻接的存储单元实施软编程的已知的编程方法时的阈值分布,虚线所示的k是对邻接的存储单元实施了软编程时的本实施例的编程方法的阈值分布。本实施例中,如上所述,在偶数页面的编程过程中,对邻接的存储单元实施软编程,由此,数据“1”的阈值上升,在编程数据“0”时,与数据“1”的存储单元的电压差变小,因fg耦合造成的阈值的偏移得以抑制。其结果,数据“1”、“0”的阈值的分布幅度相比于现有技术窄幅化。

所述实施例中,表示了存储单元储存1比特的数据的示例,但存储单元也可储存多比特的数据。进而,所述实施例中,表示了nand串形成在基板表面的示例,但nand串也可立体地形成在基板表面。

如上所述,对本发明的优选实施方式进行了详述,但本发明并不限定于特定的实施方式,在本发明所记载的主旨的范围内,能够进行各种变形、变更。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1