一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

半导体存储装置的制作方法

2021-06-25 13:17:00 来源:中国专利 TAG:申请 基础 半导体 装置 优先权

半导体存储装置
1.[相关申请案]
[0002]
本申请案享有以日本专利申请案2019-232943号(申请日:2019年12月24日)为基础申请案的优先权。本申请案通过参照该基础申请案而包含基础申请案的全部内容。
技术领域
[0003]
实施方式涉及一种半导体存储装置。


背景技术:

[0004]
已知有能够非易失性地存储数据的nand(not and,与非)型闪速存储器。


技术实现要素:

[0005]
本发明所要解决的问题在于提供一种半导体存储装置,抑制写入速度的降低,且抑制阈值分布的扩展及偏倚。
[0006]
实施方式的半导体存储装置包含多个存储单元、字线及控制器。多个存储单元各自能够存储多比特的数据。字线连接于多个存储单元。控制器执行包含多个程序循环的写入动作。多个程序循环各自包含编程动作及验证动作。写入动作中,控制器在第1次程序循环的编程动作中对字线施加第1编程电压,在第2次程序循环的编程动作中,在第1种情况下对字线施加第2编程电压,在第2种情况下对字线施加第3编程电压。第1编程电压与第2编程电压的差不同于第1编程电压与第3编程电压的差。
附图说明
[0007]
图1是表示实施方式的半导体存储装置的构成例的框图。
[0008]
图2是表示实施方式的半导体存储装置所具备的存储单元阵列的电路构成的一例的电路图。
[0009]
图3是表示实施方式的半导体存储装置所具备的行解码器模块的电路构成的一例的电路图。
[0010]
图4是表示实施方式的半导体存储装置所具备的感测放大器模块的电路构成的一例的电路图。
[0011]
图5是表示实施方式的半导体存储装置所具备的感测放大器模块中所含的感测放大器组件的电路构成的一例的电路图。
[0012]
图6是表示实施方式的半导体存储装置中应用于存储单元晶体管的数据分配的一例的概略图。
[0013]
图7是表示实施方式的半导体存储装置的写入动作的流程的概要的时序图。
[0014]
图8是表示实施方式的半导体存储装置的写入动作中的第1次程序循环所产生的存储单元晶体管的阈值分布的变化的一例的阈值分布图。
[0015]
图9是表示实施方式的半导体存储装置的写入动作的流程的具体例的流程图。
[0016]
图10是表示实施方式的半导体存储装置的写入动作中的单元消耗(cell exhaustion)较低时的处理的一例的时序图。
[0017]
图11是表示实施方式的半导体存储装置的写入动作中的单元消耗较低时的存储单元晶体管的阈值分布的变化的一例的阈值分布图。
[0018]
图12是表示实施方式的半导体存储装置的写入动作中的单元消耗较高时的处理的一例的时序图。
[0019]
图13是表示实施方式的半导体存储装置的写入动作中的单元消耗较高时的存储单元晶体管的阈值分布的变化的一例的阈值分布图。
[0020]
图14是表示实施方式的比较例的半导体存储装置中的存储单元晶体管的阈值分布的一例的阈值分布图。
[0021]
图15是表示实施方式的半导体存储装置中的存储单元晶体管的阈值分布的一例的阈值分布图。
[0022]
图16是表示实施方式的第1变化例的半导体存储装置的写入动作中的单元消耗较高时的处理的一例的时序图。
[0023]
图17是表示实施方式的第2变化例的半导体存储装置的写入动作中的单元消耗较高时的处理的一例的时序图。
[0024]
图18是表示实施方式的第3变化例的半导体存储装置的写入动作的一例的流程图。
[0025]
图19是表示实施方式的第3变化例的半导体存储装置的写入动作中的单元消耗较高时的处理的一例的时序图。
[0026]
图20是表示实施方式的第4变化例的半导体存储装置的写入动作的一例的流程图。
[0027]
图21是表示实施方式的第4变化例的半导体存储装置的写入动作中的单元消耗较高时的处理的一例的时序图。
[0028]
图22是表示实施方式的半导体存储装置的写入动作中的单元消耗较高时的验证电压的一例的概略图。
具体实施方式
[0029]
以下,参照附图对实施方式进行说明。各实施方式例示了用以将发明的技术思想具体化的装置或方法。附图为示意性或概念性的图,各附图的尺寸及比例等未必与实际情况相同。本发明的技术思想并不受构成要素的形状、构造、配置等限定。
[0030]
此外,在以下说明中,对具有大致相同的功能及构成的构成要素标注相同的符号。构成参照符号的字母之后的数字用以将通过包含相同字母的参照符号来参照,且具有相同构成的要素彼此区分开来。在无需将包含相同字母的参照符号所表示的要素相互区分开来的情况下,这些要素分别通过仅包含字母的参照符号来参照。
[0031]
[1]实施方式
[0032]
以下,对实施方式的半导体存储装置1进行说明。
[0033]
[1-1]半导体存储装置1的构成
[0034]
[1-1-1]半导体存储装置1的整体构成
[0035]
图1表示实施方式的半导体存储装置1的构成例。半导体存储装置1是能够非易失性地存储数据的nand型闪速存储器,能够利用外部的存储器控制器2进行控制。如图1所示,半导体存储装置1例如具备存储单元阵列10、指令寄存器11、地址寄存器12、定序器13、驱动器模块14、行解码器模块15及感测放大器模块16。
[0036]
存储单元阵列10包含多个区块blk0~blkn(n为1以上的整数)。区块blk包含能够非易失性地存储数据的多个存储单元的集合,例如作为数据的抹除单位来使用。另外,在存储单元阵列10中设置有多条位线及多条字线。各存储单元例如与1条位线及1条字线建立关联。关于存储单元阵列10的详细构成将在下文中叙述。
[0037]
指令寄存器11保存半导体存储装置1从存储器控制器2接收到的指令cmd。指令cmd例如包含使定序器13执行读出动作、写入动作、抹除动作等的命令。
[0038]
地址寄存器12保存半导体存储装置1从存储器控制器2接收到的地址信息add。地址信息add例如包含区块地址bad、页地址pad及列地址cad。例如,区块地址bad、页地址pad及列地址cad分别用于区块blk、字线及位线的选择。
[0039]
定序器13控制半导体存储装置1整体的动作。例如,定序器13基于保存在指令寄存器11中的指令cmd来控制驱动器模块14、行解码器模块15及感测放大器模块16等,执行读出动作、写入动作、抹除动作等。
[0040]
驱动器模块14产生读出动作、写入动作、抹除动作等中所使用的电压。并且,驱动器模块14例如基于保存在地址寄存器12中的页地址pad,对与所选择的字线对应的信号线施加所产生的电压。
[0041]
行解码器模块15基于保存在地址寄存器12中的区块地址bad,选择对应的存储单元阵列10内的1个区块blk。并且,行解码器模块15例如将施加至与所选择的字线对应的信号线的电压传输至所选择的区块blk内的被选择的字线。
[0042]
感测放大器模块16在写入动作中,根据从存储器控制器2接收到的写入数据dat,对各位线施加所期望的电压。另外,感测放大器模块16在读出动作中,基于位线的电压判定存储在存储单元中的数据,将判定结果作为读出数据dat传输至存储器控制器2。
[0043]
半导体存储装置1与存储器控制器2之间的通信例如支持nand接口标准。例如,在半导体存储装置1与存储器控制器2之间的通信中,使用指令锁存使能信号cle、地址锁存使能信号ale、写入使能信号wen、读出使能信号ren、就绪/忙碌信号rbn及输入输出信号i/o。
[0044]
指令锁存使能信号cle是表示半导体存储装置1接收到的输入输出信号i/o为指令cmd的信号。地址锁存使能信号ale是表示半导体存储装置1接收到的输入输出信号i/o为地址信息add的信号。写入使能信号wen是对半导体存储装置1命令进行输入输出信号i/o的输入的信号。读出使能信号ren是对半导体存储装置1命令进行输入输出信号i/o的输出的信号。就绪/忙碌信号rbn是对存储器控制器2通知半导体存储装置1为就绪状态及忙碌状态的哪一种的信号。就绪状态是半导体存储装置1受理命令的状态,忙碌状态是半导体存储装置1不受理命令的状态。输入输出信号i/o例如为8比特宽度的信号,可包含指令cmd、地址信息add、数据dat等。
[0045]
以上说明的半导体存储装置1及存储器控制器2也可以通过其等的组合而构成1个半导体装置。作为这种半导体装置,例如列举sd(secure digital,安全数码)
tm
卡般的存储卡、ssd(solid state drive,固态驱动器)等。
[0046]
[1-1-2]半导体存储装置1的电路构成
[0047]
(关于存储单元阵列10的电路构成)
[0048]
图2中,抽取存储单元阵列10中所含的多个区块blk中的1个区块blk来表示实施方式的半导体存储装置1所具备的存储单元阵列10的电路构成的一例。如图2所示,区块blk例如包含4个串组su0~su3。
[0049]
各串组su包含分别与位线bl0~blm(m为1以上的整数)建立关联的多个nand串ns。各nand串ns例如包含存储单元晶体管mt0~mt7、以及选择晶体管st1及st2。存储单元晶体管mt包含控制栅极及电荷储存层,且非易失性地保存数据。选择晶体管st1及st2分别用于各种动作时的串组su的选择。
[0050]
各nand串ns中,存储单元晶体管mt0~mt7串联连接。选择晶体管st1的漏极连接于建立关联的位线bl,选择晶体管st1的源极连接于串联连接的存储单元晶体管mt0~mt7的一端。选择晶体管st2的漏极连接于串联连接的存储单元晶体管mt0~mt7的另一端。选择晶体管st2的源极连接于源极线sl。
[0051]
同一区块blk中,存储单元晶体管mt0~mt7的控制栅极分别共通连接于字线wl0~wl7。串组su0~su3内的各选择晶体管st1的栅极分别共通连接于选择栅极线sgd0~sgd3。同一区块blk中所含的选择晶体管st2的栅极共通连接于选择栅极线sgs。
[0052]
以上说明的存储单元阵列10的电路构成中,位线bl由各串组su中被分配同一列地址的nand串ns所共有。源极线sl例如为多个区块blk间所共有。
[0053]
在1个串组su内连接于共通字线wl的多个存储单元晶体管mt的集合例如被称为单元组cu。例如,将包含分别存储1比特数据的存储单元晶体管mt的单元组cu的存储容量定义为“1页数据”。单元组cu可相应于存储单元晶体管mt所存储的数据的比特数,具有2页数据以上的存储容量。
[0054]
此外,实施方式的半导体存储装置1所具备的存储单元阵列10的电路构成并不限定于以上所说明的构成。例如,各区块blk所包含的串组su的个数、或各nand串ns所包含的存储单元晶体管mt以及选择晶体管st1及st2的个数可以分别为任意个数。
[0055]
(关于行解码器模块15的电路构成)
[0056]
图3表示实施方式的半导体存储装置1所具备的行解码器模块15的电路构成的一例。如图3所示,行解码器模块15例如包含行解码器rd0~rdn,且经由信号线cg0~cg7、sgdd0~sgdd3、sgsd、usgd及usgs连接于驱动器模块14。
[0057]
以下,着眼于与区块blk0对应的行解码器rd0,对行解码器rd的详细的电路构成进行说明。行解码器rd例如包含区块解码器bd、传输栅极线tg及btg、以及晶体管tr0~tr17。
[0058]
区块解码器bd解码区块地址bad。并且,区块解码器bd基于解码结果对传输栅极线tg及btg分别施加特定的电压。施加至传输栅极线tg的电压与施加至传输栅极线btg的电压存在互补关系。换句话说,对传输栅极线btg输入传输栅极线tg的反相信号。
[0059]
晶体管tr0~tr17分别为高耐压的n型mos(metal oxide semiconductor,金属氧化物半导体)晶体管。晶体管tr0~tr12各自的栅极共通连接于传输栅极线tg。晶体管tr13~tr17各自的栅极共通连接于传输栅极线btg。另外,各晶体管tr连接于从驱动器模块14配线的信号线与设置于所对应的区块blk的配线之间。
[0060]
具体来说,晶体管tr0的漏极连接于信号线sgsd。晶体管tr0的源极连接于选择栅
极线sgs。晶体管tr1~tr8各自的漏极分别连接于信号线cg0~cg7。晶体管tr1~tr8各自的源极分别连接于字线wl0~wl7。晶体管tr9~tr12各自的漏极分别连接于信号线sgdd0~sgdd3。晶体管tr9~tr12各自的源极分别连接于选择栅极线sgd0~sgd3。晶体管tr13的漏极连接于信号线usgs。晶体管tr13的源极连接于选择栅极线sgs。晶体管tr14~tr17各自的漏极共通连接于信号线usgd。晶体管tr14~tr17各自的源极分别连接于选择栅极线sgd0~sgd3。
[0061]
也就是说,信号线cg0~cg7作为多个区块blk间所共有的全域字线使用,字线wl0~wl7作为针对每个区块设置的局部字线使用。另外,信号线sgdd0~sgdd3以及sgsd作为多个区块blk间所共有的全域传输栅极线使用,选择栅极线sgd0~sgd3以及sgs作为针对每个区块设置的局部传输栅极线使用。
[0062]
根据以上构成,行解码器模块15能够选择区块blk。具体来说,在各种动作时,与所选择的区块blk对应的区块解码器bd将“h”电平及“l”电平的电压分别施加至传输栅极线tg及btg,与非选择的区块blk对应的区块解码器bd将“l”电平及“h”电平的电压分别施加至传输栅极线tg及btg。
[0063]
此外,以上说明的行解码器模块15的电路构成仅为一例,可适当变更。例如,行解码器模块15所包含的晶体管tr的个数设计为基于设置在各区块blk的配线的条数的个数。
[0064]
(关于感测放大器模块16的电路构成)
[0065]
图4表示实施方式的半导体存储装置1所具备的感测放大器模块16的电路构成的一例。如图4所示,各感测放大器组件sau例如包含位线连接部blhu、感测放大器部sa、逻辑电路lc、以及锁存电路sdl、adl、bdl、cdl及xdl。
[0066]
位线连接部blhu包含连接于建立关联的位线bl与感测放大器部sa之间的高耐压晶体管。感测放大器部sa、逻辑电路lc、以及锁存电路sdl、adl、bdl、cdl及xdl共通连接于总线lbus。锁存电路sdl、adl、bdl、cdl及xdl能够相互收发数据。
[0067]
对各感测放大器部sa输入例如由定序器13产生的控制信号stb。并且,感测放大器部sa基于控制信号stb被生效的时点,判定读出至建立关联的位线bl的数据为“0”或“1”。也就是说,感测放大器部sa基于位线bl的电压,判定所选择的存储单元存储的数据。
[0068]
逻辑电路lc使用连接于共通的总线lbus的锁存电路sdl、adl、bdl、cdl及xdl中保存的数据执行各种逻辑运算。具体来说,逻辑电路lc能够使用2个锁存电路中保存的数据,执行and运算、or运算、nand运算、nor运算、exnor运算等。
[0069]
锁存电路sdl、adl、bdl、cdl及xdl分别暂时保存数据。锁存电路xdl用于半导体存储装置1的输入输出电路与感测放大器组件sau之间的数据dat的输入输出。另外,锁存电路xdl例如也可以作为半导体存储装置1的高速缓冲存储器使用。半导体存储装置1只要至少锁存电路xdl为空便能够成为就绪状态。
[0070]
图5表示实施方式的半导体存储装置1中的感测放大器组件sau的电路构成的一例。如图5所示,例如,感测放大器部sa包含晶体管20~27以及电容器28,位线连接部blhu包含晶体管29。晶体管20为p型mos晶体管。晶体管21~27分别为n型mos晶体管。晶体管29为比晶体管20~27的各者更高耐压的n型mos晶体管。
[0071]
晶体管20的源极连接于电源线。晶体管20的漏极连接于节点nd1。晶体管20的栅极例如连接于锁存电路sdl内的节点sinv。晶体管21的漏极连接于节点nd1。晶体管21的源极
连接于节点nd2。对晶体管21的栅极输入控制信号blx。晶体管22的漏极连接于节点nd1。晶体管22的源极连接于节点sen。对晶体管22的栅极输入控制信号hll。
[0072]
晶体管23的漏极连接于节点sen。晶体管23的源极连接于节点nd2。对晶体管23的栅极输入控制信号xxl。晶体管24的漏极连接于节点nd2。对晶体管24的栅极输入控制信号blc。晶体管25的漏极连接于节点nd2。晶体管25的源极连接于节点src。晶体管25的栅极例如连接于锁存电路sdl内的节点sinv。
[0073]
晶体管26的源极接地。晶体管26的栅极连接于节点sen。晶体管27的漏极连接于总线lbus。晶体管27的源极连接于晶体管26的漏极。对晶体管27的栅极输入控制信号stb。电容器28的一个电极连接于节点sen。对电容器28的另一个电极输入时钟clk。
[0074]
晶体管29的漏极连接于晶体管24的源极。晶体管29的源极连接于位线bl。对晶体管29的栅极输入控制信号bls。
[0075]
锁存电路sdl例如包含反相器30及31、以及n型mos晶体管32及33。反相器30的输入节点连接于节点slat,反相器30的输出节点连接于节点sinv。反相器31的输入节点连接于节点sinv,反相器31的输出节点连接于节点slat。晶体管32的一端连接于节点sinv,晶体管32的另一端连接于总线lbus,对晶体管32的栅极输入控制信号sti。晶体管33的一端连接于节点slat,晶体管33的另一端连接于总线lbus,对晶体管33的栅极输入控制信号stl。例如,节点slat中保存的数据相当于锁存电路sdl中保存的数据,节点sinv中保存的数据相当于节点slat中保存的数据的反相数据。
[0076]
锁存电路adl、bdl、cdl及xdl的电路构成例如与锁存电路sdl的电路构成相同。例如,锁存电路adl在节点alat保存数据,在节点ainv保存其反相数据。另外,例如,对锁存电路adl的晶体管32的栅极输入控制信号ati,对锁存电路adl的晶体管33的栅极输入控制信号atl。省略锁存电路bdl、cdl及xdl的说明。
[0077]
在以上说明的感测放大器组件sau的电路构成中,对连接于晶体管20的源极的电源线施加例如电源电压vdd。对节点src施加例如接地电压vss。控制信号blx、hll、xxl、blc、stb及bls、以及时钟clk例如分别由定序器13产生。
[0078]
此外,实施方式的半导体存储装置1所具备的感测放大器模块16并不限定于以上说明的电路构成。例如,各感测放大器组件sau所具备的锁存电路的个数可基于1个单元组cu存储的页数而适当变更。感测放大器组件sau内的逻辑电路lc只要能够仅利用感测放大器组件sau内的锁存电路执行逻辑运算,便也可以省略。
[0079]
[1-1-3]关于数据的存储方式
[0080]
在实施方式的半导体存储装置1中,根据1个存储单元晶体管mt能够存储的数据的比特数,设定多个阈值分布。各存储单元晶体管mt的阈值电压根据所要写入的数据种类,配置在多个阈值分布中的任一个区域。以下,将被分配互不相同的数据的多个阈值分布的各者称为“状态”。图6表示实施方式的半导体存储装置1中的存储单元晶体管mt的阈值分布、读出电压、及验证电压的一例。此外,在以下所参照的阈值分布图中,纵轴的nmts对应于存储单元晶体管mt的个数,横轴的vth对应于存储单元晶体管mt的阈值电压。
[0081]
如图6所示,在实施方式的半导体存储装置1中,例如由多个存储单元晶体管mt形成8种阈值分布。该8种阈值分布例如按照阈值电压由低到高的顺序,分别被称为“er”状态、“a”状态、“b”状态、“c”状态、“d”状态、“e”状态、“f”状态、“g”状态。“er”状态对应于存储单
元晶体管mt的抹除状态。“a”状态~“g”状态分别对应于对存储单元晶体管mt写入有数据的状态。
[0082]
并且,设定为,对“er”状态~“g”状态分别分配互不相同的3比特数据,且在相邻的2个状态之间,仅1比特数据不同。这样一来,使3比特数据存储在1个存储单元晶体管的方法例如被称为tlc(triple-level cell,三层单元)方式。以下,列举针对8种阈值分布的数据分配的一例。
[0083]“er”状态:“111(上位比特/中位比特/下位比特)”数据
[0084]“a”状态:“110”数据
[0085]“b”状态:“100”数据
[0086]“c”状态:“000”数据
[0087]“d”状态:“010”数据
[0088]“e”状态:“011”数据
[0089]“f”状态:“001”数据
[0090]“g”状态:“101”数据。
[0091]
在相邻的状态之间,分别设定写入动作中所要使用的验证电压。具体来说,验证电压av设定在“er”状态与“a”状态之间,验证电压bv设定在“a”状态与“b”状态之间,验证电压cv设定在“b”状态与“c”状态之间,验证电压dv设定在“c”状态与“d”状态之间,验证电压ev设定在“d”状态与“e”状态之间,验证电压fv设定在“e”状态与“f”状态之间,验证电压gv设定在“f”状态与“g”状态之间。写入动作中,半导体存储装置1在侦测出存储某数据的存储单元晶体管mt的阈值电压超过与该数据对应的验证电压时,结束对该存储单元晶体管mt的编程。
[0092]
另外,在相邻的状态之间,分别设定读出动作中所要使用的读出电压。具体来说,在“er”状态与“a”状态之间设定读出电压ar,在“a”状态与“b”状态之间设定读出电压br,在“b”状态与“c”状态之间设定读出电压cr,在“c”状态与“d”状态之间设定读出电压dr,在“d”状态与“e”状态之间设定读出电压er,在“e”状态与“f”状态之间设定读出电压fr,在“f”状态与“g”状态之间设定读出电压gr。另外,对高于“g”状态的电压设定读出路径电压vread。
[0093]
读出电压ar、br、cr、dr、er、fr及gr分别用于“er”状态与“a”状态以上的区分、“a”状态以下与“b”状态以上的区分、“b”状态以下与“c”状态以上的区分、“c”状态以下与“d”状态以上的区分、“d”状态以下与“e”状态以上的区分、“e”状态以下与“f”状态以上的区分、“f”状态以下与“g”状态以上的区分。栅极被施加有读出路径电压vread的存储单元晶体管mt无关于所存储的数据而成为接通状态。读出动作中,半导体存储装置1通过使用读出电压判定存储单元晶体管mt分布的状态,而确定读出数据。
[0094]
例如,在应用图6所示的数据分配的情况下,由下位比特构成的1页数据(下位页数据)是通过分别使用读出电压ar及er的读出动作而确定。由中位比特构成的1页数据(中位页数据)是通过分别使用读出电压br、dr及fr的读出动作而确定。由上位比特构成的1页数据(上位页数据)是通过分别使用读出电压cr及gr的读出动作而确定。在使用多个读出电压的页读出动作中,逻辑电路lc适当执行运算处理。
[0095]
此外,以上说明的1个存储单元晶体管mt所存储的数据的比特数为一例,并不限定于此。例如,在存储单元晶体管mt中也可以存储1比特、2比特、或4比特以上的数据。在半导
体存储装置1中,可根据存储单元晶体管mt所存储的比特数,适当设定所要形成的阈值分布的数量、或读出电压、读出路径电压、验证电压等。
[0096]
[1-2]半导体存储装置1的动作
[0097]
接下来,对实施方式的半导体存储装置的动作进行说明。在以下说明中,将所选择的字线wl称为wlsel。对字线wl施加电压对应于驱动器模块14经由信号线cg及行解码器模块15对该配线施加电压。
[0098]
[1-2-1]写入动作的概要
[0099]
首先,对实施方式的半导体存储装置1中的写入动作的概要进行说明。图7表示第1实施方式的半导体存储装置1中的写入动作的流程的概要的一例。如图7所示,半导体存储装置1在写入动作中反复执行程序循环(program loop)。本例中的写入动作包含n次(n为2以上的整数)程序循环。写入动作中的程序循环的次数可根据存储单元晶体管mt的消耗状态(以下称为单元消耗)而变化。程序循环包含编程动作(“program”)及验证动作(“verify”)。以下,对编程动作及验证动作简洁地进行说明。
[0100]
编程动作是使存储单元晶体管mt的阈值电压上升的动作。在编程动作中,所选择的单元组cu内的存储单元晶体管mt基于感测放大器组件sau内所保存的写入数据,被设定为编程对象(program-target)或编程禁止(program-inhibit)。具体来说,未达到与感测放大器组件sau内所保存的写入数据对应的状态(以下称为写入状态)的阈值电压的存储单元晶体管mt被设定为编程对象。另一方面,已达到写入状态的阈值电压的存储单元晶体管mt被设定为编程禁止。
[0101]
在编程动作中,对字线wlsel施加编程电压vpgm。编程电压vpgm是能够使存储单元晶体管mt的阈值电压上升的高电压。当对字线wlsel施加编程电压vpgm时,连接于字线wlsel且连接于编程对象的位线bl的存储单元晶体管mt的阈值电压上升。另一方面,连接于字线wlsel且连接于编程禁止的位线bl的存储单元晶体管mt的阈值电压的上升例如通过自升压技术抑制。定序器13在编程动作结束时移行至验证动作。
[0102]
在验证动作中,执行使用验证电压vcg的读出动作。并且,判定所选择的单元组cu内的存储单元晶体管mt的阈值电压是否达到写入状态的阈值电压。验证电压vcg例如对应于验证电压av~gv的任一个。各感测放大器组件sau用于判定阈值电压的验证电压vcg基于各感测放大器组件sau内的锁存电路所保存的数据而决定。通过验证读出,判定确认已达到写入状态的阈值电压的存储单元晶体管mt已通过验证。各感测放大器组件sau将写入状态的验证结果保存在内部的任一个锁存电路中。
[0103]
在写入动作中,编程电压vpgm例如在每次重复程序循环时被升高。也就是说,施加至字线wlsel的编程电压vpgm对应于所执行的程序循环的次数而变高。以下,将编程电压vpgm的升高量也称为升高电压dvpgm。升高电压dvpgm可设定为任意值。在各程序循环的验证动作中,执行验证的状态的种类及数量可根据程序循环的进展而适当变更。
[0104]
另外,半导体存储装置1在程序循环之后适当执行检测动作(“detection”)。检测动作中,定序器13基于验证动作所得的读出结果,对每个写入状态下完成写入的存储单元晶体管mt的数量进行计数。然后,定序器13判定该状态的写入是否完成。在程序循环的反复中,定序器13例如在侦测出未通过“a”状态~“g”状态的验证的存储单元晶体管mt的数量低于特定数时,结束写入动作。
[0105]
在实施方式的半导体存储装置1中,定序器13至少在第1次程序循环(“1st loop”)与第2次程序循环(“2nd loop”)之间执行检测动作。并且,定序器13可基于第1次程序循环之后执行的检测动作的结果,变更第2次以后的程序循环的处理方法。
[0106]
在此,使用图8对与本动作相关联的存储单元晶体管mt的特性的一例进行说明。以下,将第1次程序循环中所使用的编程电压vpgm称为vpgminit。图8表示实施方式的半导体存储装置1的写入动作中的第1次程序循环所产生的存储单元晶体管mt的阈值分布的变化的一例。图8(1)~(3)分别对应于写入对象的单元组cu中的单元消耗为低程度(low)、中程度(middle)、高程度(high)的情况。另外,图8(1)~(3)分别表示第1次程序循环中使用相同的编程电压vpgminit时的阈值电压的变化。
[0107]
如图8(1)所示,编程电压vpgm设定为,例如在单元消耗为低程度的情况下,通过第1次程序循环使写入对象的存储单元晶体管mt的阈值电压超过验证电压av且低于读出电压br。将单元消耗为低程度时的阈值电压的上升幅度(以下也称为vth偏移)定义为“小”。如图8(2)所示,如果单元消耗为中程度,那么第1次程序循环所产生的存储单元晶体管mt的vth偏移变大(vth偏移:中)。如图8(3)所示,如果单元消耗为高程度,那么存储单元晶体管mt的vth偏移变得更大(vth偏移:大)。
[0108]
这样一来,编程动作中的存储单元晶体管mt的vth偏移根据单元消耗而变化。具体来说,单元消耗越高,存储单元晶体管mt的vth偏移越大。
[0109]
如果第1次程序循环中的vth偏移变大,那么通过第1次程序循环会产生“a”状态写入的存储单元晶体管mt中的过写入。换句话说,通过第1次程序循环,写入对象的存储单元晶体管mt的阈值电压有可能超过读出电压br。此外,在本说明书中,当“a”状态写入的存储单元晶体管mt中的例如已超过验证电压av的存储单元晶体管mt的个数超过某个值时,假定为产生了过写入。
[0110]
实施方式的半导体存储装置1例如在第1次程序循环之后的检测动作中检测产生了过写入,并变更第2次以后的程序循环的处理方法。图9表示实施方式的半导体存储装置1的写入动作中的流程图的一例。如图9所示,写入动作中,定序器13可执行步骤s10~s18的处理。
[0111]
具体来说,首先,定序器13执行第1次程序循环(1st程序循环)(步骤s10)。接着,定序器13执行检测动作(步骤s11)。然后,定序器13基于检测动作的结果,确认通过了“a”验证的存储单元晶体管mt的数量(通过了“a”的单元数)是否超过特定的阈值nt(步骤s12)。
[0112]
在通过了“a”的单元数为阈值nt以下的情况下(步骤s12为否(no)),定序器13执行vpgm=vpgminit dvpgm1的处理。也就是说,使编程电压vpgm升高dpvgm1(步骤s13)。
[0113]
另一方面,在通过了“a”的单元数超过阈值nt的情况下(步骤s12为是(yes)),定序器13执行vpgm=vpgminit dvpgm2的处理。也就是说,使编程电压vpgm升高dpvgm2(步骤s14)。dvpgm2为零以上且小于dvpgm1的值。进而,定序器13执行av=avp的处理。也就是说,用于“a”状态的验证的电压设定为验证电压avp(步骤s15)。avp为高于写入动作开始时的验证电压av且低于读出电压br的电压。
[0114]
在步骤s13或s15的处理之后,定序器13执行第2次程序循环(nth程序循环)(步骤s16)。然后,定序器13确认是否通过了所有状态的验证(步骤s17)。
[0115]
在未通过所有状态的验证的情况下(步骤s17为否),定序器13执行vpgm=vpgm
(nth) dvpgm1的处理。也就是说,使编程电压vpgm升高dpvgm1(步骤s18)。然后,定序器13返回到步骤s16,再次执行步骤s16的程序循环及步骤s17的判定动作。在步骤s17中,当确认通过了所有状态的验证的情况下(步骤s17为是),定序器13结束写入动作。
[0116]
此外,步骤s17中的判定动作包含检测动作。定序器13也可以根据所执行的程序循环的次数,在步骤s16的处理之后执行步骤s18的处理。换句话说,定序器13也可以省略检测动作,直到执行特定次数的程序循环为止。另外,写入动作结束的触发并不限定于步骤s17的处理。例如,定序器13也可以基于已执行了特定次数的程序循环而结束写入动作。
[0117]
[1-2-2]写入动作的具体例
[0118]
以下,对实施方式的半导体存储装置1中的写入动作的具体例进行说明。作为具体例,依序例示步骤s12的处理中为“否”的情况(也就是单元消耗较低的情况)、及步骤s12的处理中为“是”的情况(也就是单元消耗较高的情况)这2个条件。
[0119]
(关于单元消耗较低时的写入动作)
[0120]
图10是实施方式的半导体存储装置1的写入动作中单元消耗较低时的处理的一例,示出了第1次~第4次程序循环中施加至字线wlsel的电压。此外,以下假定为,定序器13在第1次及第2次程序循环中执行“a”状态的验证,在第3次及第4次程序循环中执行“a”及“b”状态的验证。
[0121]
如图10所示,在第1次程序循环(“1st loop”)中,对字线wlsel依序施加编程电压vpgminit及验证电压av。在单元消耗较低的情况下,定序器13在接下来的检测处理之后执行步骤s13的处理。也就是说,在第2次程序循环(“2nd loop”)中,对字线wlsel依序施加vpgminit dvpgm1及验证电压av。
[0122]
然后,在第3次程序循环(“3rd loop”)中,对字线wlsel依序施加vpgminit dvpgm1*2与验证电压av及bv。在第4次程序循环(“4th loop”)中,对字线wlsel依序施加vpgminit dvpgm1*3与验证电压av及bv。然后,定序器13适当执行程序循环,所述程序循环包含使编程电压逐次升高dvpgm1的编程动作及与写入动作的进展相对应的验证动作。
[0123]
图11表示实施方式的半导体存储装置1的写入动作中单元消耗较低时的存储单元晶体管mt的阈值分布的变化的一例。图11(1)~(4)分别对应于第1次~第4次程序循环刚结束后的阈值分布。本例中,假定:通过第1次~第4次程序循环,作为写入对象的多个存储单元晶体管mt的阈值电压超过验证电压av。
[0124]
如图11(1)所示,在单元消耗较低的情况下,第1次程序循环后的vth偏移较小。例如,第1次程序循环后的阈值分布的上端位于验证电压av与读出电压br之间。将在该时点具有超过验证电压av的阈值电压的多个存储单元晶体管mt所形成的阈值分布称为“d11”。
[0125]
如图11(2)所示,在第2次程序循环中,阈值分布偏移基于升高电压dvpgm1的电压那么多。例如,第2次程序循环后的阈值分布的上端位于读出电压br附近。将在该时点具有超过验证电压av的阈值电压且不包含在分布d11中的多个存储单元晶体管mt所形成的阈值分布称为“d12”。
[0126]
如图11(3)所示,在第3次程序循环中,阈值分布偏移基于升高电压dvpgm1的电压。例如,第3次程序循环后的阈值分布的上端超过读出电压br。将在该时点具有超过验证电压av的阈值电压且不包含在分布d11及d12中的多个存储单元晶体管mt所形成的阈值分布称为“d13”。
[0127]
如图11(4)所示,在第4次程序循环中,阈值分布偏移基于升高电压dvpgm1的电压。例如,第4次程序循环后的阈值分布的下端超过验证电压av。将在时点具有超过验证电压av的阈值电压且不包含在分布d11、d12及d13中的多个存储单元晶体管mt所形成的阈值分布称为“d14”。
[0128]
针对“a”状态写入的存储单元晶体管mt的验证在阈值电压超过验证电压av的程序循环中通过。也就是说,“a”状态写入的存储单元晶体管mt包含在分布d11、d12、d13及d14的任一个中。其结果,“a”状态的阈值分布是由包含在分布d11、d12、d13及d14的任一个中的“a”状态写入的多个存储单元晶体管mt的总计形成。
[0129]
(关于单元消耗较高时的写入动作)
[0130]
图12是实施方式的半导体存储装置1的写入动作中单元消耗较高时的处理的一例,示出了第1次~第4次程序循环中施加至字线wlsel的电压。
[0131]
如图12所示,在第1次程序循环(“1st loop”)中,对字线wlsel依序施加编程电压vpgminit及验证电压av。在单元消耗较高的情况下,定序器13在接下来的检测处理之后依序执行步骤s14及s15的处理。也就是说,在第2次程序循环(“2nd loop”)中,对字线wlsel依序施加vpgminit dvpgm2及验证电压avp。接下来的程序循环中的编程电压vpgm使用由步骤s18的处理升高后的电压,“a”状态的验证电压维持avp不变。
[0132]
具体来说,在第3次程序循环(“3rd loop”)中,对字线wlsel依序施加vpgminit dvpgm2 dvpgm1与验证电压avp及bv。在第4次程序循环(“4th loop”)中,对字线wlsel依序施加vpgminit dvpgm2 dvpgm1*2与验证电压avp及bv。然后,定序器13适当执行程序循环,所述程序循环包含使编程电压逐次升高dvpgm1的编程动作及与写入动作的进展相对应的验证动作。
[0133]
图13表示实施方式的半导体存储装置1的写入动作中单元消耗较高时的存储单元晶体管mt的阈值分布的变化的一例。图13(1)~(4)分别对应于第1次~第4次程序循环刚结束后的阈值分布。本例中,假定:通过第1次~第4次程序循环,作为写入对象的多个存储单元晶体管mt的阈值电压超过验证电压avp。
[0134]
如图13(1)所示,在单元消耗较高的情况下,第1次程序循环后的vth偏移较大。例如,第1次程序循环后的阈值分布的上端超过读出电压br。将在该时点具有验证电压av与avp之间的阈值电压的存储单元晶体管mt所形成的阈值分布称为“d21a”,将具有验证电压avp与读出电压br之间的阈值电压的存储单元晶体管mt所形成的阈值分布称为“d21b”,将具有超过读出电压br的阈值电压的多个存储单元晶体管mt所形成的阈值分布称为“d21c”。
[0135]
如图13(2)所示,在第2次程序循环中,阈值分布偏移基于升高电压dvpgm2的电压那么多。也就是说,第2次程序循环中的阈值分布的偏移量相比应用升高电压dpgm1的程序循环更得到抑制。将在该时点具有超过验证电压avp的阈值分布且不包含在分布d21a、d21b及d21c中的多个存储单元晶体管mt所形成的阈值分布称为“d22”。
[0136]
如图13(3)所示,在第3次程序循环中,阈值分布偏移基于升高电压dvpgm1的电压。例如,第3次程序循环后的阈值分布的上端超过读出电压br。将在该时点具有超过验证电压avp的阈值电压且不包含在分布d21a、d21b、d21c及d22中的多个存储单元晶体管mt所形成的阈值分布称为“d23”。
[0137]
如图13(4)所示,在第4次程序循环中,阈值分布偏移基于升高电压dvpgm1的电压。
例如,第4次程序循环后的阈值分布的下端超过验证电压av。将在该时点具有超过验证电压avp的阈值电压且不包含在分布d21a、d21b、d21c、d22及d23中的多个存储单元晶体管mt所形成的阈值分布称为“d24”。
[0138]
针对“a”状态写入的存储单元晶体管mt的验证在第1次程序循环中阈值电压超过验证电压av的程序循环、或第2次以后的程序循环中阈值电压超过验证电压avp的程序循环中通过。也就是说,“a”状态写入的存储单元晶体管mt包含在分布d21a、d21b、d21c、d22、d23及d24的任一个中。其结果,“a”状态的阈值分布由包含在分布d21a、d21b、d21c、d22、d23及d24的任一个中的“a”状态写入的多个存储单元晶体管mt的总计形成。
[0139]
[1-3]实施方式的效果
[0140]
根据以上说明的实施方式的半导体存储装置1,能够抑制写入速度的降低,且抑制阈值分布的扩展及偏倚。以下,对实施方式的半导体存储装置1的效果的详情进行说明。
[0141]
在半导体存储装置中,抹除动作后或写入动作后的多个存储单元晶体管mt的阈值电压具有接近常态分布的不均。该阈值电压的不均会根据存储单元晶体管mt的形状或单元消耗的状态而变化。另外,在写入动作中,写入对象的存储单元晶体管mt的阈值电压理想的是落在从建立关联的写入状态的验证电压到对该验证电压加上升高电压dvpgm所得的电压为止的范围内。
[0142]
在第1次程序循环中所使用的编程电压vpgminit较高且单元消耗较高的情况下,“a”状态写入的存储单元晶体管mt中可能会产生因第1次程序循环引起的过写入。“a”状态中的过写入的产生能够通过将编程电压vpgminit设定得较低而抑制。然而,如果降低编程电压vpgminit,那么写入动作中所要执行的程序循环的次数变多,写入时间变长。
[0143]
作为不降低编程电压vpgminit而抑制“a”状态中的过写入的方法,考虑通过特定单元组cu中的写入动作评估共有字线wl的其它单元组cu的特性,使用其结果来调整其它单元组cu的编程电压vpgminit。由此,半导体存储装置能够在应用反馈的单元组cu中,执行使用最佳的编程电压vpgminit的编程动作,能够缩短该单元组cu中的写入时间。
[0144]
然而,在该方法中,特定单元组cu的写入时间因使用较低的编程电压vpgminit而变长。另外,该方法中,存在需要有用来保存单元组cu的特性的信息的存储区域的情况。例如,在写入动作并非以区块blk为单位而是在区块blk间往返的情况下,所需的存储区域的数量是区块blk的总数加上字线wl的条数。像这样设置存储区域会导致存储单元阵列10的电路面积增加,从而导致半导体存储装置1的芯片面积增大。
[0145]
相对于此,实施方式的半导体存储装置1将第1次程序循环中所使用的编程电压vpgminit在可能的范围内设定得较高。在此情况下,第1次程序循环中的过写入可能会根据单元消耗变高而产生。另一方面,过写入在第2次程序循环中的编程动作中也有可能会产生。因此,实施方式的半导体存储装置1是通过抑制第2次程序循环中可能会产生的过写入,而抑制写入时间,且抑制“a”状态的阈值分布的上端的扩展。
[0146]
具体来说,实施方式的半导体存储装置1通过第1次程序循环后的侦测动作而确认写入对象的单元组cu的单元消耗的状态。并且,半导体存储装置1在单元消耗较低的情况下,对第2次以后的程序循环中所使用的编程电压的升高量应用dvpgm1。另一方面,半导体存储装置1在单元消耗较高的情况下,对第2次程序循环中所使用的编程电压的升高量应用低于dvpgm1的dvpgm2,将“a”状态的验证电压变更为avp。另外,半导体存储装置对第3次以
后的程序循环中所使用的编程电压的升高量应用dvpgm1。
[0147]
在此,使用图14及图15,利用比较例对单元消耗较高时的存储单元晶体管mt的阈值分布进行说明。图14及图15分别表示比较例及实施方式中的存储单元晶体管mt的阈值分布的一例。比较例对应于单元消耗较高时不执行升高电压dvpgm的变更的写入动作。在图14与图15之间,“a”状态的阈值分布的形状及位置不同。
[0148]
如图14所示,在比较例中,“a”状态的阈值分布的上端大幅度扩展。该上端的扩展例如因写入动作的最初的程序循环导致的过写入而产生。如果产生因最初的程序循环导致的过写入,那么“a”状态的阈值分布的非对称性变大。如果阈值分布的非对称性变大,那么有“a”状态与“b”状态之间难以设定最佳的读出电压而导致错误比特数增加的担忧。其结果,认为在实施方式的比较例的半导体存储装置中,存储器控制器2等进行的错误订正的成功概率降低。
[0149]
如图15所示,在实施方式中,“a”状态的阈值分布的上端的扩展通过降低第2次编程动作中所使用的编程电压而抑制。另外,“a”状态的阈值分布的下端的扩展通过使用验证电压avp而抑制,“a”状态的阈值分布的重心朝正方向偏移。其结果,在实施方式中,“a”状态的阈值分布的非对称性得以改善。
[0150]
如上所述,实施方式的半导体存储装置1能够缩短单元消耗较低时的写入时间,进而,能够抑制单元消耗较高时的“a”状态的阈值分布的上端的扩展。换句话说,实施方式的半导体存储装置1能够抑制写入速度的降低,且抑制阈值分布的扩展及偏倚。
[0151]
其结果,实施方式的半导体存储装置1能够在“a”状态与“b”状态之间设定最佳的读出电压。并且,实施方式的半导体存储装置能够抑制使用读出电压ar的读出动作中的错误比特数,能够改善存储器控制器2等进行的错误订正的成功概率。
[0152]
此外,在实施方式的半导体存储装置1中,通过将“a”状态的验证电压变更为avp,与图13所示的分布d21a对应的“a”状态写入的存储单元晶体管mt作为“a”状态的阈值分布的下端残留。然而,就对阈值分布的扩展的影响来看,相比于与分布d21a对应的“a”状态写入的存储单元晶体管mt残留,写入动作的噪音等引起的阈值分布的扩展占支配地位。因此,分布d21a对最终的“a”状态的阈值分布造成的影响较小。
[0153]
另外,在写入动作的途中提高“a”状态的验证电压会导致“a”状态的阈值分布的上端扩展。然而,实施方式的半导体存储装置1抑制了第2次程序循环中所使用的编程电压的升高量。因此,因提高验证电压而导致的“a”状态的阈值分布的上端的扩展可通过减少第2次编程动作的阈值电压的上升量而抵消。另外,提高“a”状态的验证电压可抑制“er”状态与“a”状态之间的阈值分布的重叠。也就是说,半导体存储装置1还能够确保基于读出电压ar的读出动作的范围。
[0154]
另外,执行步骤s14及s15的处理时的写入时间可通过增加程序循环数而变长。然而,针对单元消耗较高状态的存储单元晶体管mt的写入动作存在比单元消耗较低状态的存储单元晶体管mt早结束的倾向。因此,执行步骤s14及s15的处理时会产生的程序循环数的增加可通过伴随单元消耗的程序循环数的减少而抵消。
[0155]
另外,在实施方式的写入动作中,也可以省略步骤s15的处理。换句话说,在步骤s12中通过了“a”的单元数超过特定阈值nt时,也可以不将“a”状态的验证电压设定为avp。实施方式的半导体存储装置1只要能够基于第1次程序循环的验证结果变更至少第2次程序
循环中所使用的编程电压的升高量即可。在这种情况下,半导体存储装置1也能够抑制“a”状态的阈值分布的上端的扩展。
[0156]
另外,在实施方式的写入动作中,也可以省略步骤s14的处理。换句话说,在步骤s12中通过了“a”的单元数超过特定阈值nt的情况下,也可以不升高编程电压vpgm而仅变更“a”状态的验证电压。在这种情况下,半导体存储装置1也能够抑制“a”状态的阈值分布的下端的扩展,且抑制“a”状态的阈值分布的上端的扩展。
[0157]
另外,在步骤s12中通过了“a”的单元数超过特定阈值nt的情况下,也可以对编程电压vpgm的升高量应用与单元消耗较低时相同的升高电压dvpgm1,仅变更“a”状态的验证电压。在这种情况下,半导体存储装置1也能够抑制“a”状态的阈值分布的下端的扩展。
[0158]
[2]实施方式的第1变化例
[0159]
图16是实施方式的第1变化例的半导体存储装置1的写入动作中单元消耗较高时的处理的一例,示出了第1次~第4次程序循环中施加至字线wlsel的电压。如图16所示,实施方式的第1变化例中的写入动作相对于图12所示的实施方式中的写入动作,第1次程序循环中的验证动作的处理不同。
[0160]
具体来说,在实施方式的第1变化例中,第1次程序循环的验证动作中,对字线wlsel分别施加例如验证电压av及avp。并且,定序器13在接下来的检测动作中对例如超过验证电压avp的存储单元晶体管mt的数量进行计数。然后,定序器13将该计数结果与阈值nt进行比较,移行至步骤s13或s14的处理。实施方式的第1变化例中的其它动作与实施方式相同。
[0161]
如上所述,实施方式的第1变化例的半导体存储装置1将与第1次检测动作建立关联的验证电压设定为验证电压av以外。这样一来,与第1次检测动作建立关联的判定条件(也就是步骤s12的处理)也可以未必使用基于验证电压av的读出结果。此外,与第1次检测动作建立关联的验证电压并不限定于avp,也可以应用其它电压。
[0162]
其结果,实施方式的第1变化例的半导体存储装置1能够获得与实施方式相同的效果,且能够更精细地调整写入动作中开始进行单元消耗较高时的处理的时点。另外,实施方式的第1变化例的半导体存储装置1能够通过将第1次检测动作中计数得到的存储单元晶体管mt的数量设定为适当范围,而缩短该检测动作的时间。
[0163]
[2]实施方式的第2变化例
[0164]
图17是实施方式的第2变化例的半导体存储装置1的写入动作中单元消耗较高时的处理的一例,示出了第1次~第4次程序循环中施加至字线wlsel的电压。如图17所示,实施方式的第2变化例中的写入动作相对于图12所示的实施方式中的写入动作,第1次及第2次程序循环中的编程动作的处理不同。
[0165]
具体来说,在实施方式的第2变化例中,当执行步骤s14及s15的处理时,在第1次及第2次程序循环的编程动作中,对字线wlsel施加脉冲宽度为wp的编程电压(宽脉冲)。在第3次以后的程序循环的编程动作中,对字线wlsel施加脉冲宽度为窄于np的np的编程电压(窄脉冲)。也就是说,第1次及第2次程序循环的编程电压以比第3次以后的程序循环的编程电压更长的时间施加至字线wlsel。
[0166]
另外,在实施方式的第2变化例中,定序器13虽省略了图示,但在第2次程序循环中,能够根据紧接在前的检测动作的结果分别使用窄脉冲与宽脉冲。例如,定序器13在第2
次程序循环中,在经过了步骤s13的处理的情况下使用窄脉冲的编程电压,在经过了步骤s14及s15的处理的情况下使用宽脉冲的编程电压。实施方式的第1变化例中的其它动作与实施方式相同。
[0167]
如上所述,实施方式的第2变化例的半导体存储装置1中,将第1次编程动作中的编程电压vpgm的脉冲宽度设定为比后半部分的程序循环中的编程电压vpgm的脉冲宽度宽。并且,实施方式的第2变化例的半导体存储装置1是基于第1次检测动作的结果,变更第2次程序循环中的编程电压vpgm的脉冲宽度。
[0168]
由此,实施方式的第2变化例的半导体存储装置1在单元消耗较低的情况、也就是阈值分布难以扩展的情况下,能够缩短写入动作的时间。另外,实施方式的第2变化例的半导体存储装置1在单元消耗较高的情况下,能够抑制第1次及第2次程序循环中的编程动作的噪音成分。因此,实施方式的第3变化例的半导体存储装置1相比实施方式能够缩窄阈值分布的宽度,能够提高写入至存储单元晶体管mt的数据的可靠性。
[0169]
[4]实施方式的第3变化例
[0170]
图18表示实施方式的第3变化例的半导体存储装置1的写入动作中的流程图的一例。如图18所示,实施方式的第3变化例中的写入动作包含图9所示的实施方式中的写入动作的处理、及追加在步骤s16之前的步骤s20~s25的处理。
[0171]
具体来说,定序器13在步骤s13或s15的处理之后,执行第2次程序循环(步骤s20)。接着,定序器13执行检测动作(步骤s21)。然后,定序器13基于检测动作的结果,确认已通过了“a”验证的存储单元晶体管mt的数量(通过了“a”的单元数)是否超过特定的阈值nt2(步骤s22)。
[0172]
在通过了“a”的单元数为阈值nt2以下的情况下(步骤s22为否),定序器13执行vpgm=vpgm dvpgm1的处理(步骤s23)。在通过了“a”的单元数超过阈值nt2的情况下(步骤s22为是),定序器13执行vpgm=vpgm dvpgm2的处理(步骤s24)、及av=avp的处理(步骤s25)。并且,在步骤s23或s25的处理之后,定序器13移行至步骤s16的处理,也就是下一个程序循环的处理。
[0173]
在实施方式的第3变化例中,步骤s20~s25的处理分别与步骤s10~s15的处理类似。此外,步骤s12中所使用的特定阈值nt与步骤s22中所使用的特定阈值nt2可以相同,也可以不同。在使阈值nt及nt2为不同数值的情况下,优选使nt2大于nt。通过将阈值设定得较高而使计数值变小,从而可缩短检测动作的时间。
[0174]
图19是实施方式的第3变化例的半导体存储装置1的写入动作中单元消耗较高时的处理的一例,示出了第1次~第4次程序循环中施加至字线wlsel的电压。如图19所示,实施方式的第3变化例中的写入动作相对于图12所示的实施方式中的写入动作,不同点在于,在第2次程序循环之后插入检测动作,以及第3次以后的程序循环中的编程电压的值。
[0175]
具体来说,在第3次程序循环(“3rd loop”)中,对字线wlsel施加vpgminit dvpgm2*2。在第4次程序循环(“4th loop”)中,对字线wlsel施加vpgminit dvpgm2*2 dvpgm1。然后,定序器13适当执行程序循环,所述程序循环包含使编程电压逐次升高dvpgm1的编程动作、及与写入动作的进展相对应的验证动作。实施方式的第3变化例中的其它动作与实施方式相同。
[0176]
如上所述,实施方式的第3变化例的半导体存储装置1在第2次程序循环中也执行
第1次程序循环中所执行的判定动作及基于该判定动作的处理。此外,第1次程序循环中所执行的判定动作及基于该判定动作的处理也可以应用于第3次程序循环。也就是说,定序器13也可以在从写入动作的开始起特定次数的程序循环中执行与步骤s12~s15对应的处理。
[0177]
其结果,实施方式的第3变化例的半导体存储装置1能够抑制第2次以后的程序循环中vth偏移较大时可能会产生的过写入的发生。因此,实施方式的第3变化例的半导体存储装置1相比实施方式能够抑制阈值分布的宽度的扩展,能够提高单元消耗较高时的写入数据的可靠性。
[0178]
[5]实施方式的第4变化例
[0179]
图20表示实施方式的第4变化例的半导体存储装置1的写入动作中的流程图的一例。如图20所示,实施方式的第4变化例中的写入动作包含图9所示的实施方式中的写入动作的处理、及追加在步骤s15之后的步骤s30~s32的处理。
[0180]
具体来说,定序器13在步骤s15的处理之后,执行第m次(m为2以上的整数)程序循环(步骤s30)。然后,定序器13确认所处理的程序循环的次数是否超过特定的阈值n'loop。也就是说,定序器13确认是否满足m>n'loop(步骤s31)。
[0181]
在不满足m>n'loop的情况下(步骤s31为否),定序器13执行vpgm=vpgm(mth) dvpgm2的处理(步骤s32),返回到步骤s30的处理。在满足m>n'loop的情况下(步骤s31为是),定序器13执行vpgm=vpgm(nth) dvpgm1的处理(步骤s18),移行至步骤s16的处理,也就是下一个程序循环的处理。
[0182]
另外,图20中,省略了步骤s13的处理。取而代之,在通过了“a”的单元数为特定阈值nt以下的情况下(步骤s12为否),定序器13执行vpgm=vpgm(nth) dvpgm1的处理(步骤s18),移行至步骤s16的处理,也就是下一个程序循环的处理。
[0183]
图21是实施方式的第4变化例的半导体存储装置1的写入动作中单元消耗较高时的处理的一例,示出了第1次~第4次程序循环中施加至字线wlsel的电压。如图21所示,实施方式的第4变化例中的写入动作相对于图19所示的实施方式的第3变化例中的写入动作,执行省略了插入在第2次程序循环之后的检测动作的处理。实施方式的第4变化例中的其它动作与实施方式的第3变化例相同。
[0184]
如上所述,实施方式的第4变化例的半导体存储装置1仅基于第1次程序循环中所执行的判定动作的结果而执行与实施方式的第3变化例相同的动作。也就是说,实施方式的第4变化例的半导体存储装置1在单元消耗较高的情况下,能够在从写入动作的开始起特定次数的程序循环中执行使用升高电压dvpgm2的程序循环。
[0185]
其结果,实施方式的第4变化例的半导体存储装置1与实施方式的第3变化例同样地,能够抑制过写入的产生,能够抑制阈值分布的宽度的扩展。因此,实施方式的第4变化例的半导体存储装置1能够提高单元消耗较高时的写入数据的可靠性。另外,实施方式的第4变化例中的写入时间能够通过省略了第2次检测动作,而比实施方式的第3变化例中的写入时间短。
[0186]
此外,在实施方式的第4变化例中,例示了单元消耗较高时的升高电压从dvpgm2转变为dvpgm1的情况,但并不限定于此。例如,定序器13也可以基于已侦测出单元消耗较高,而将各程序循环中的编程电压的升高量设定为dvpgm2直到写入动作结束为止。由此,半导体存储装置1能够抑制比“a”状态更高状态的阈值分布的上端的扩展。
[0187]
[6]实施方式的第5变化例
[0188]
图22表示实施方式的第5变化例的半导体存储装置1的写入动作中的单元消耗较高时的验证电压的一例。如图22所示,实施方式的第5变化例的半导体存储装置1使用验证电压avp,与此相应地,其它验证电压也得以偏移。
[0189]
具体来说,例如在实施方式所说明的步骤s15的处理中,“a”状态、“b”状态、“c”状态、“d”状态、“e”状态、“f”状态及“g”状态的验证电压分别设定为验证电压avp、bvp、cvp、dvp、evp、fvp及gvp。验证电压avp、bvp、cvp、dvp、evp、fvp及gvp分别为高于验证电压av、bv、cv、dv、ev、fv及gv的电压。
[0190]
这样一来,实施方式的第5变化例的半导体存储装置1在单元消耗较高的情况下,使“a”~“g”状态的阈值分布整体朝正方向偏移。也就是说,实施方式的第5变化例的半导体存储装置1考虑了因单元消耗较高所产生的上端的扩展,而变更阈值电压较高的状态的验证电压。其结果,实施方式的第5变化例的半导体存储装置1相比实施方式能够减少相邻状态间的分布重叠。
[0191]
此外,在实施方式的第5变化例中,单元消耗较高时被变更验证电压的状态可以是1个状态,也可以是多个状态。作为被变更验证电压的状态,可选择任意状态。另外,实施方式的第5变化例的半导体存储装置1优选伴随阈值分布的偏移,使读出电压ar~gr也偏移。由此,实施方式的第5变化例的半导体存储装置1能够将读出错误的产生抑制为最小限度。
[0192]
[7]其它变化例等
[0193]
在实施方式中,例示了基于存储单元的消耗状态变更写入动作的处理的情况,但并不限定于此。存储单元晶体管mt的阈值电压存在如下情况:无论单元消耗如何,相对于编程电压的感度都不同。例如,存储单元晶体管mt的特性会根据它的形成位置而不同。因此,阈值电压容易上升的存储单元晶体管mt与阈值电压难以上升的存储单元晶体管mt可以混合存在于存储单元阵列10内。实施方式及各变化例中所说明的动作只要适用于至少写入特性不同的存储单元晶体管mt或写入特性发生了变化的存储单元晶体管mt即可。
[0194]
在实施方式中,例示了定序器13兼任各种动作的情况,但并不限定于此。实施方式中所说明的定序器13的处理也可以由其它电路执行。例如,也可以为,半导体存储装置1具备计数器,利用该计数器对通过了验证的存储单元晶体管mt的数量进行计数。
[0195]
所述变化例也可以在可能的范围进行组合。例如,第1变化例可以与第2~第5变化例的任一变化例组合。第2变化例可以与第3~第5变化例的任一变化例组合。第3变化例可以与第5变化例组合。第4变化例可以与第5变化例组合。另外,也能够将3种以上的变化例组合。半导体存储装置1能够通过各变化例的组合而获得所组合的变化例各自的效果。
[0196]
所述实施方式中用于说明写入动作的时序图仅为一例。例如,在各时刻控制信号及配线各自的电压的时点也可以错开。另外,所述实施方式中用于说明写入动作的流程图仅为一例。各流程图的一部分处理也能够调换顺序。例如,步骤s14与步骤s15的顺序可以调换。另外,在所述实施方式中,施加至存储单元阵列10内的各种配线的电压也可以基于驱动器模块14与行解码器模块15之间的信号线的电压而推测。例如,施加至字线wlsel的电压可以基于信号线cg的电压而推测。
[0197]
在本说明书中,“h”电平的电压是栅极被施加该电压的n型mos晶体管成为接通状态、栅极被施加该电压的p型mos晶体管成为断开状态的电压。“l”电平的电压是栅极被施加
该电压的n型mos晶体管成为断开状态、栅极被施加该电压的p型mos晶体管成为接通状态的电压。“晶体管的一端”表示mos晶体管的漏极或源极。“晶体管的另一端”表示mos晶体管的源极或漏极。
[0198]
在本说明书中,所谓“连接”表示电连接,不排除例如其间介存有其它元件的情况。“断开状态”表示对应的晶体管的栅极被施加小于该晶体管的阈值电压的电压,不排除例如流动晶体管的漏电流般的微量电流的情况。
[0199]
已对本发明的若干实施方式进行了说明,但这些实施方式是作为示例提出,并不意图限定发明的范围。这些新颖的实施方式能够以其它各种方式加以实施,且能够在不脱离发明的主旨的范围内进行各种省略、替换、变更。这些实施方式或其变化包含在发明的范围或主旨中,并且包含在权利要求书所记载的发明及其均等的范围内。
[0200]
[符号的说明]
[0201]1ꢀꢀꢀꢀꢀꢀꢀ
半导体存储装置
[0202]2ꢀꢀꢀꢀꢀꢀꢀ
存储器控制器
[0203]
10
ꢀꢀꢀꢀꢀꢀ
存储单元阵列
[0204]
11
ꢀꢀꢀꢀꢀꢀ
指令寄存器
[0205]
12
ꢀꢀꢀꢀꢀꢀ
地址寄存器
[0206]
13
ꢀꢀꢀꢀꢀꢀ
定序器
[0207]
14
ꢀꢀꢀꢀꢀꢀ
驱动器模块
[0208]
15
ꢀꢀꢀꢀꢀꢀ
行解码器模块
[0209]
16
ꢀꢀꢀꢀꢀꢀ
感测放大器模块
[0210]
blk
ꢀꢀꢀꢀꢀ
区块
[0211]
su
ꢀꢀꢀꢀꢀꢀ
串组
[0212]
sau
ꢀꢀꢀꢀꢀ
感测放大器组件
[0213]
rd
ꢀꢀꢀꢀꢀꢀ
行解码器
[0214]
bl
ꢀꢀꢀꢀꢀꢀ
位线
[0215]
wl
ꢀꢀꢀꢀꢀꢀ
字线
[0216]
sgd,sgs 选择栅极线
[0217]
mt
ꢀꢀꢀꢀꢀꢀ
存储单元晶体管
[0218]
st1,st2 选择晶体管
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜