半导体存储装置
[相关申请]
本申请享有以日本专利申请2017-252186号(申请日:2017年12月27日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及一种半导体存储装置。
背景技术
作为半导体存储装置,已知有NAND型(Not-And,与非)闪速存储器。
发明内容
实施方式提供一种能够提高可靠性的半导体存储装置。
实施方式的半导体存储装置包含:第1存储器串,包含分别串联连接的第1选择晶体管、第1存储单元、第2存储单元、及第2选择晶体管;第1字线,连接在第1存储单元的栅极;第2字线,连接在第2存储单元的栅极;第1选择栅极线,连接在第1选择晶体管的栅极;第2选择栅极线,连接在第2选择晶体管的栅极;及控制电路,控制写入动作。控制电路在对第1存储单元的写入动作中,反复进行包含编程动作及编程验证动作的编程循环,在编程循环的反复结束之后,执行对第1及第2字线施加将第1及第2存储单元设为导通状态的第1电压,且对第1及第2选择栅极线施加将第1及第2选择晶体管设为导通状态的第2电压的第1动作。
附图说明
图1是第1实施方式的半导体存储装置的框图。
图2是第1实施方式的半导体存储装置所具备的存储单元阵列的电路图。
图3是第1实施方式的半导体存储装置所具备的存储单元阵列的剖视图。
图4是表示第1实施方式的半导体存储装置所具备的行解码器的连接的图。
图5是第1实施方式的半导体存储装置中的写入动作的流程图。
图6是表示第1实施方式的半导体存储装置中的写入动作时的各配线的电压的时序图。
图7是表示读出动作中的字线与NAND串的信道的电压的时序图的一例。
图8是表示第2实施方式的半导体存储装置中的写入动作时的各配线的电压的时序图。
图9是表示第2实施方式的半导体存储装置中的写入动作时的各配线的电压的时序图。
具体实施方式
以下,参照附图对实施方式进行说明。在该说明时,涵盖所有图地对共通的部分标注共通的参考符号。
1.第1实施方式
对第1实施方式的半导体存储装置进行说明。以下,作为半导体存储装置,列举在半导体衬底上三维地积层着存储单元晶体管的三维积层型NAND型闪速存储器为例来进行说明。此外,半导体存储装置并不限定于三维积层型NAND型闪速存储器,也能够应用于在半导体衬底上配置着存储单元晶体管的平面型NAND型闪速存储器。
1.1关于构成
1.1.1关于半导体存储装置的整体构成
首先,使用图1对半导体存储装置的整体构成进行说明。此外,在图1的例子中,利用箭头线表示各块的连接的一部分,但连接并不限定于此。
像图1所示那样,半导体存储装置1具备存储单元阵列10、行解码器11(11a及11b)、行驱动器13、读出放大器14、电压产生电路15、及序列发生器16。
存储单元阵列10具备作为非易失性存储单元晶体管的集合的8个块BLK(BLK0~BLK7)。块BLK各自具备作为串联连接着存储单元晶体管的NAND串SR的集合的4个串单元SU(SU0~SU3)。此外,存储单元阵列10内的块BLK的个数及块BLK内的串单元SU的个数为任意。
行解码器11a对应于块BLK0、BLK1、BLK5、及BLK6地设置。另外,行解码器11b对应于块BLK2、BLK3、BLK6、及BLK7地设置。行解码器11a及11b分别包含块解码器12a及12b。块解码器12a及12b对行地址RA进行解码,并基于该解码结果,选择对应的块BLK的行方向。然后,行解码器11a及11b将所需要的电压输出到对应的块BLK。
行驱动器13将数据的写入、读出、及删除所需要的电压供给到行解码器11a及11b。
读出放大器14在数据的读出时,读出(sense)从存储单元晶体管读出的数据。另外,在数据的写入时,将写入数据传送到存储单元晶体管。
电压产生电路15产生数据的写入、读出、及删除所需要的电压,并将其供给到例如行驱动器13及读出放大器14等。
序列发生器16控制半导体存储装置1整体的动作。更具体来说,序列发生器16控制行解码器11a及11b、行驱动器13、读出放大器14、及电压产生电路15等。另外,序列发生器16在内部包含寄存器17。寄存器17保存各种动作的设定等。寄存器17保持设定写入动作后的伪读出(dummy read)的执行的有无的参数。例如,序列发生器16于在与寄存器17的伪读出对应的寄存器地址设定着“0”的情况下,在写入动作后不执行(“disable(去能)”)伪读出。另外,序列发生器16于在与寄存器17的伪读出对应的寄存器地址设定着“1”的情况下,在写入动作后执行(“enable(使能)”)伪读出。与有无伪读出对应的参数设定例如在产品出厂时进行。
1.1.2关于存储单元阵列的构成
接下来,使用图2对存储单元阵列10的构成进行说明。此外,图2的例子表示块BLK0的构成,块BLK1~BLK3的构成也与块BLK0相同。
像图2所示那样,NAND串SR各自包含例如8个存储单元晶体管MT(MT0~MT7)、以及选择晶体管ST1及ST2。存储单元晶体管MT具备控制栅极及电荷蓄积层,且非易失地保持数据。存储单元晶体管MT能够保持1比特以上的数据。
此外,存储单元晶体管MT可以为在电荷蓄积层使用绝缘膜的MONOS(metal-oxide-nitride-oxide-semiconductor,金属-氧化物-氮化物-氧化物-半导体)型,也可以为在电荷蓄积层使用导电层的FG(floating gate,浮栅)型。以下,在本实施方式中,以MONOS型为例进行说明。另外,存储单元晶体管MT的个数并不限于8个,也可以为16个或32个、64个、96个、128个等,它的数量并不限定。进而,选择晶体管ST1及ST2的个数为任意,只要分别有1个以上即可。
8个存储单元晶体管MT串联连接在选择晶体管ST1的源极与选择晶体管ST2的漏极之间。更具体来说,存储单元晶体管MT0~MT7的电流路径被串联连接。而且,存储单元晶体管MT7的漏极连接在选择晶体管ST1的源极,存储单元晶体管MT0的源极连接在选择晶体管ST2的漏极。
串单元SU0~SU3各自中的选择晶体管ST1的栅极分别连接在选择栅极线SGD0~SGD3。同样地,串单元SU0~SU3各自中的选择晶体管ST2的栅极分别连接在选择栅极线SGS0~SGS3。以下,在不限定选择栅极线SGD0~SGD3的情况下,记载为选择栅极线SGD。在不限定选择栅极线SGS0~SGS3的情况下,记载为选择栅极线SGS。此外,各串单元SU的选择栅极线SGS0~SGS3也可以共用地连接。
位于块BLK内的存储单元晶体管MT0~MT7的控制栅极分别共用连接在字线WL0~WL7。以下,在不限定字线WL0~WL7的情况下,记载为字线WL。
位于串单元SU内的各NAND串SR的选择晶体管ST1的漏极分别连接在不同的位线BL0~BL(N-1)(N是2以上的整数)。以下,在不限定位线BL0~BL(N-1)的情况下,记载为位线BL。各位线BL在多个块BLK间共用地连接位于各串单元SU内的一个NAND串SR。进而,多个选择晶体管ST2的源极共用地连接在源极线SL。也就是说,串单元SU是连接在不同的位线BL且连接在同一选择栅极线SGD及SGS的NAND串SR的集合体。另外,块BLK是共用字线WL的多个串单元SU的集合体。而且,存储单元阵列10是共用位线BL的多个块BLK的集合体。
关于数据的写入及读出,对于连接在任一串单元SU中的任一字线WL的存储单元晶体管MT一次性进行。以下,在数据的写入及读出时,将写入到一次性选择的存储单元晶体管MT各自、或从各自读出的1比特的数据的集合称为“页”。
1.1.3关于存储单元阵列的截面构成
接下来,使用图3对存储单元阵列10的截面构成进行说明。图3的例子表示串单元SU0及SU1的截面,串单元SU2及SU3的构成也相同。此外,在图3中省略层间绝缘膜。
像图3所示那样,沿平行于半导体衬底100的第1方向D1,设置着在平行于半导体衬底100且垂直于第1方向D1的第2方向D2上延伸的多个源极线接触件LI。在两个源极线接触件LI之间,配置着一个串单元SU。源极线接触件LI将半导体衬底100与设置在比NAND串SR更靠上方的未图示的源极线SL连接。此外,源极线接触件LI及NAND串SR的配置能够任意地设定。例如,在两个源极线接触件LI之间也可以设置多个串单元SU。进而,在图3的例子中,为了简化说明表示在一个串单元SU中,多个NAND串SR沿第2方向D2排列成一列的情况,但一个串单元SU中的NAND串SR排列能够任意地设定。例如,也可以沿第2方向D2,两列并排地配置,也可以排列成4列的错位配置。
在各串单元SU中,NAND串SR沿垂直于半导体衬底100的第3方向D3形成。更具体来说,在半导体衬底100的表面区域,设置着n型阱101。而且,在n型阱101的表面区域,设置着p型阱102。另外,在p型阱102的表面区域的一部分,设置着n+型扩散层103。而且,在p型阱102的上方,分别隔着未图示的层间绝缘膜而依次积层着作为选择栅极线SGS、连接在存储单元晶体管MT0~MT7的字线WL0~WL7、及选择栅极线SGD而发挥功能的10层配线层104。
而且,形成着贯通10层配线层104并到达p型阱102的柱状半导体层105。在半导体层105的侧面依次形成隧道绝缘膜106、电荷蓄积层107、及阻挡绝缘膜108。半导体层105例如使用多晶硅。隧道绝缘膜106及阻挡绝缘膜108例如使用氧化硅膜。电荷蓄积层107例如使用氮化硅膜。半导体层105作为NAND串SR的电流路径而发挥功能,且成为形成各晶体管的信道的区域。而且,半导体层105的上端经由接触插塞109而连接于在第1方向D1上延伸的配线层110。配线层110作为位线BL而发挥功能。
以下,将由半导体层105、隧道绝缘膜106、电荷蓄积层107、及阻挡绝缘膜108形成的柱称为“存储器柱MP”。由该存储器柱MP及字线WL0~WL7构成存储单元晶体管MT0~MT7。同样地,由该存储器柱MP以及选择栅极线SGD及SGS分别构成选择晶体管ST1及ST2。
此外,在图3的例子中,作为选择栅极线SGD及SGS而发挥功能的配线层104分别设置着一层,但也可以设置多层。
源极线接触件LI沿第2方向D2具有线形状。源极线接触件LI例如使用多晶硅。而且,源极线接触件LI的底面连接在n+型扩散层103,上表面连接在作为源极线SL而发挥功能的配线层(未图示)。
此外,存储单元阵列10的构成也可以是其它构成。也就是说,关于存储单元阵列10的构成,例如记载在“三维积层非易失性半导体存储器(THREE DIMENSIONAL STACKEDNONVOLATILE SEMICONDUCTOR MEMORY)”这一2009年3月19日申请的美国专利申请12/407,403号。另外,记载在“三维积层非易失性半导体存储器(THREE DIMENSIONAL STACKEDNONVOLATILE SEMICONDUCTOR MEMORY)”这一2009年3月18日申请的美国专利申请12/406,524号、“非易失性半导体存储装置及其制造方法(NON-VOLATILE SEMICONDUCTOR STORAGEDEVICE AND METHOD OF MANUFACTURING THE SAME)”这一2010年3月25日申请的美国专利申请12/679,991号、“半导体存储器及其制造方法(SEMICONDUCTOR MEMORY AND METHODFOR MANUFACTURING SAME)”这一2009年3月23日申请的美国专利申请12/532,030号。这些专利申请的全部内容通过参照而引用到本案说明书中。
1.1.4关于行解码器的构成
接下来,使用图4对行解码器11a及11b的构成进行说明。此外,在图4的例子中,为了简化说明,表示连接在一个块BLK的字线WL0~WL7中的任一条、选择栅极线SGS0~SGS3中的任一条、及选择栅极线SGD0~SGD3中的任一条。另外,在以下的说明中,在不限定晶体管的源极及漏极的情况下,将晶体管的源极或漏极中的任一个称为“晶体管的一端”,将晶体管的源极或漏极中的任一另一个称为“晶体管的另一端”。
像图4所示那样,行解码器11a包含块解码器12a、以及多个n信道MOS(Metal OxideSemiconductor,金属氧化物半导体)晶体管32a、33a、34a、35a。同样地,行解码器11b包含块解码器12b、以及多个n信道MOS晶体管32b、33b、34b、及35b。
块解码器12a基于行地址RA,决定信号线BLKSEL1及信号线BLKSEL1n的逻辑电平,而控制晶体管32a、33a、34a、及35a的导通/断开状态。同样地,块解码器12b基于行地址RA,决定信号线BLKSEL2及信号线BLKSEL2n的逻辑电平,而控制晶体管32b、33b、34b、及35b的导通/断开状态。
晶体管32a、32b、33a、33b、34a、34b、35a、及35b作为将对应的块BLK、与经由信号线CGI的行驱动器13连接的块选择晶体管而发挥功能。在以下的说明中,当不分别限定晶体管32a及32b、33a及33b、34a及34b、以及35a及35b时,仅分别记载为晶体管32、33、34、及35。
更具体来说,晶体管32a分别对应于块BLK0、BLK1、BLK4、及BLK5的各字线WL(WL0~WL7)而设置。与各块BLK对应的晶体管32a的栅极共用地连接在信号线BLKSEL1。对应于块BLK0的晶体管32a的一端连接在块BLK0的字线WL中的任一条,晶体管32a的另一端经由信号线CGI而连接在行驱动器13。对应于块BLK1的晶体管32a的一端连接在块BLK1的字线WL中的任一条,晶体管32a的另一端经由与对应于块BLK0的晶体管32a不同的信号线CGI而连接在行驱动器13。对应于块BLK4的晶体管32a的一端连接在块BLK4的字线WL中的任一条,晶体管32a的另一端经由与对应于块BLK0及BLK1的晶体管32a不同的信号线CGI而连接在行驱动器13。对应于块BLK5的晶体管32a的一端连接在块BLK5的字线WL中的任一条,晶体管32a的另一端经由与对应于块BLK0、BLK1、及BLK4的晶体管32a不同的信号线CGI而连接在行驱动器13。
晶体管33a及34a分别对应于块BLK0、BLK1、BLK4、及BLK5的各选择栅极线SGD(SGD0~SGD3)而设置。对应于各块BLK的晶体管33a的栅极共用地连接在信号线BLKSEL1n。对应于块BLK0的晶体管33a的一端连接在块BLK0的选择栅极线SGD中的任一条,晶体管33a的另一端接地。对应于块BLK1的晶体管33a的一端连接在块BLK1的选择栅极线SGD中的任一条,晶体管33a的另一端接地。对应于块BLK4的晶体管33a的一端连接在块BLK4的选择栅极线SGD中的任一条,晶体管33a的另一端接地。对应于块BLK5的晶体管33a的一端连接在块BLK5的选择栅极线SGD中的任一条,晶体管33a的另一端接地。
对应于各块BLK的晶体管34a的栅极共用地连接在信号线BLKSEL1。对应于块BLK0的晶体管34a的一端连接在块BLK0的选择栅极线SGD中的任一条,晶体管34a的另一端经由信号线CGI而连接在行驱动器13。对应于块BLK1的晶体管34a的一端连接在块BLK1的选择栅极线SGD中的任一条,晶体管34a的另一端经由与对应于块BLK0的晶体管34a不同的信号线CGI而连接在行驱动器13。对应于块BLK4的晶体管34a的一端连接在块BLK4的选择栅极线SGD中的任一条,晶体管34a的另一端经由与对应于块BLK0及BLK1的晶体管34a不同的信号线CGI而连接在行驱动器13。对应于块BLK5的晶体管34a的一端连接在块BLK5的选择栅极线SGD中的任一条,晶体管34a的另一端经由与对应于块BLK0、BLK1、及BLK4的晶体管34a不同的信号线CGI而连接在行驱动器13。
晶体管35a分别对应于块BLK0、BLK1、BLK4、及BLK5的选择栅极线SGS(SGS0~SGS3)而设置。对应于各块BLK的晶体管35a的栅极共用地连接在信号线BLKSEL1。对应于块BLK0的晶体管35a的一端连接在块BLK0的选择栅极线SGS中的任一条,晶体管35a的另一端经由信号线CGI而连接在行驱动器13。对应于块BLK1的晶体管35a的一端连接在块BLK1的选择栅极线SGS中的任一条,晶体管35a的另一端经由与对应于块BLK0的晶体管35a不同的信号线CGI而连接在行驱动器13。对应于块BLK4的晶体管35a的一端连接在块BLK4的选择栅极线SGS中的任一条,晶体管35a的另一端经由与对应于块BLK0及BLK1的晶体管35a不同的信号线CGI而连接在行驱动器13。对应于块BLK5的晶体管35a的一端连接在块BLK5的选择栅极线SGS中的任一条,晶体管35a的另一端经由与对应于块BLK0、BLK1、及BLK4的晶体管35a不同的信号线CGI而连接在行驱动器13。
晶体管32b与晶体管32a同样地,分别对应于块BLK2、BLK3、BLK6、及BLK7的各字线WL(WL0~WL7)而设置。对应于各块BLK的晶体管32b的栅极共用地连接在信号线BLKSEL2。晶体管32b的一端连接在对应的块BLK的字线WL中的任一条,晶体管32b的另一端分别经由不同的信号线CGI而连接在行驱动器13。此外,在图4的例子中,块BLK0的晶体管32a的另一端与块BLK2的晶体管32b的另一端连接在同一信号线CGI,但也可以分别连接在不同的信号线CGI。块BLK1的晶体管32a与块BLK3的晶体管32b、块BLK2的晶体管32a与块BLK6的晶体管32b、块BLK3的晶体管32a与块BLK7的晶体管32b的关系也同样。
晶体管33b及34b与晶体管33a及34b同样地,分别对应于块BLK2、BLK3、BLK6、及BLK7的选择栅极线SGD而设置。对应于各块BLK的晶体管33b的栅极共用地连接在信号线BLKSEL2n,对应于各块BLK的晶体管34b的栅极共用地连接在信号线BLKSEL2。晶体管33b的一端连接在对应的块BLK的选择栅极线SGD中的任一条,晶体管33b的另一端接地。晶体管34b的一端连接在对应的块BLK的选择栅极线SGD中的任一条,晶体管34b的另一端分别经由不同的信号线CGI而连接在行驱动器13。此外,在图4的例子中,块BLK0的晶体管34a的另一端与块BLK2的晶体管34b的另一端连接在同一信号线CGI,但也可以分别连接在不同的信号线CGI。块BLK1的晶体管34a与块BLK3的晶体管34b、块BLK2的晶体管34a与块BLK6的晶体管34b、块BLK3的晶体管34a与块BLK7的晶体管34b的关系也同样。
晶体管35b与晶体管35a同样地,分别对应于块BLK2、BLK3、BLK6、及BLK7的选择栅极线SGS而设置。对应于各块BLK的晶体管35b的栅极共用地连接在信号线BLKSEL2。晶体管35b的一端连接在对应的块BLK的选择栅极线SGS中的任一条,晶体管35b的另一端分别经由不同的信号线CGI而连接在行驱动器13。此外,在图4的例子中,块BLK0的晶体管35a的另一端与块BLK2的晶体管35b的另一端连接在同一信号线CGI,但也可以分别连接在不同的信号线CGI。块BLK1的晶体管35a与块BLK3的晶体管35b、块BLK2的晶体管35a与块BLK6的晶体管35b、块BLK3的晶体管35a与块BLK7的晶体管35b的关系也同样。
例如,在数据的写入、读出、或删除时,在行地址RA与块解码器12a所对应的块BLK0一致的情况下,块解码器12a对信号线BLKSEL1施加高(High)(“H”)电平的电压,对信号线BLKSEL1n施加低(Low)(“L”)电平的电压(例如接地电压VSS)。由此,对应于块BLK0、BLK1、BLK4、及BLK5的晶体管32a、34a、及35a被设为导通状态,晶体管33a被设为断开状态。另外,块解码器12b对信号线BLKSEL2施加L电平的电压,对信号线BLKSEL2n施加H电平的电压。由此,对应于块BLK2、BLK3、BLK6、及BLK7的晶体管32b、34b、及35b被设为断开状态,晶体管33b被设为导通状态。在该状态下,行驱动器13基于行地址RA,对块BLK0的字线WL、以及选择栅极线SGD及SGD施加所需要的电压。
1.2关于写入动作
接下来,对写入动作进行说明。写入动作包含编程动作及编程验证动作。通过反复进行编程动作与编程验证动作的组合(以下,称为“编程循环”),而存储单元晶体管MT的阈值电压上升到目标电平。进而,写入动作包含块选择晶体管的导通/断开动作、及伪读出动作。块选择晶体管的导通/断开动作及伪读出动作是在编程循环的反复动作结束之后被执行。
编程动作是通过将电子注入到电荷蓄积层而使阈值电压上升(或通过禁止注入而使阈值电压维持)的动作。以下,将使阈值电压上升的动作称为““0”编程动作”,对被设为“0”编程对象的位线BL从读出放大器20赋予与“0”数据对应的电压(例如电压VSS)。另一方面,将使阈值电压维持的动作称为““1”编程动作”或“写入禁止”,对被设为“1”编程对象的位线BL从读出放大器20赋予与“1”数据对应的电压(以下,记载为“电压VBL1”)。以下,将与“0”编程动作对应的位线记载为BL(“0”),将与“1”编程动作对应的位线记载为BL(“1”)。
编程验证动作是在编程动作之后,读出数据,并判定存储单元晶体管MT的阈值电压是否达到作为目标的目标电平的动作。
块选择晶体管的导通/断开动作是在编程循环的反复动作结束之后,为了将对应于写入对象的块BLK(以下,称为“选择块BLK”)的块选择晶体管(32、34、及35)设为断开状态,而使块选择晶体管的漏电降低而进行。通过进行块选择晶体管的导通/断开动作,块选择晶体管的栅极电压下降到电压VSS。
伪读出动作是对字线WL、以及选择栅极线SGD及SGS等施加读出动作时所施加的电压的动作。在伪读出动作中,与通常的读出动作不同,不对位线BL及源极线SL施加正电压,也不进行数据的读出。此外,在伪读出动作中,可以读出任意存储单元晶体管MT的数据。
1.2.1关于写入动作的整个流程
接下来,使用图5对写入动作的整个流程进行说明。
像图5所示那样,序列发生器16从未图示的外部控制器接收写入命令(指令、地址、写入数据)(步骤S1)。
序列发生器16基于写入命令,开始写入动作,执行编程动作(步骤S2)。
序列发生器16当编程动作结束时,执行编程验证动作(步骤S3)。
在未通过编程验证动作的情况下(步骤S4_否(No))、也就是在成为“0”编程动作的对象的存储单元晶体管MT的阈值电压未达到目标电平的情况下,序列发生器16确认编程循环的次数是否达到预先设定的上限次数。
在编程循环的次数未达到上限次数的情况下(步骤S5_否),返回到步骤S2,序列发生器16再次执行编程动作。另一方面,在编程循环的次数达到上限次数的情况下(步骤S5_是(Yes)),序列发生器16使编程循环结束。
另外,在编程验证动作已通过的情况下(步骤S4_是),序列发生器16使编程循环结束。
序列发生器16当使编程循环结束时,执行块选择晶体管的导通/断开动作(步骤S6)。更具体来说,序列发生器16在编程循环结束后,在对字线WL、以及选择栅极线SGD及SGS施加电压VSS的状态下,将对应于选择块BLK的晶体管32、34、及35设为断开状态。然后,序列发生器16在将晶体管32、34、及35暂时设为导通状态之后,再次将晶体管32、34、及35设为断开状态。
序列发生器16在块选择晶体管的导通/断开动作执行后执行伪读出(步骤S7)。由此,结束写入动作。
1.2.2关于写入动作时的各配线的电压
接下来,使用图6对写入动作时的各配线的电压进行说明。图6的例子表示在块BLK0为写入对象的情况下的第1次编程循环(编程动作及编程验证动作)、最后的编程循环中的编程验证动作、块选择晶体管的导通/断开动作、及伪读出动作。
像图6所示那样,时刻t1~t5的期间表示第1次编程动作(参考符号“PGM”),时刻t6~t9的期间表示第1次编程验证动作(参考符号“P-VFY”)。另外,时刻t10~t13的期间表示最后的编程验证动作(参考符号“P-VFY”),时刻t14~t16的期间表示块选择晶体管的导通/断开动作(参考符号“W-CLK”),时刻t17~t19的期间表示伪读出动作(参考符号“DM-RD”)。此外,编程验证动作中的各配线的电压与读出动作中的各配线的电压相同。
首先,在时刻t0,对应于块BLK0的块解码器12a对信号线BLKSEL1施加电压VBLKSEL而设为H电平,对未图示的信号线BLKSEL1n施加电压VSS而设为L电平。电压VBLKSEL是将晶体管32、34、及35设为导通状态的电压。由此,晶体管32a、34a、及35a被设为导通状态,晶体管33a被设为断开状态。
接下来,对第1次编程动作详细地进行说明。
在时刻t1,读出放大器14对与“0”编程动作对应的位线BL(“0”)施加电压VSS,对与“1”编程动作对应的位线BL(“1”)施加电压VBL1。
行驱动器13对选择块BLK的选择串单元SU的选择栅极线SGD(参考符号“选择SGD”)施加电压VSGD1。如果将选择晶体管ST1的阈值电压设为Vtsg,那么电压VSD1是“VBL1+Vtsg”以上的电压,且是将选择晶体管ST1设为导通状态的电压。另一方面,行驱动器13对选择块BLK的非选择串单元SU的选择栅极线SGD(参考符号“非选择SGD”)施加电压VSS,而将对应的选择晶体管ST1设为断开状态。另外,行驱动器13对选择串单元SU选择栅极线SGS(参考符号“选择SGS”)及非选择串单元SU的选择栅极线SGS(参考符号“非选择SGS”)施加电压VSS,而将选择晶体管ST2设为断开状态。
另外,对源极线SL经由例如源极线驱动器(未图示)而施加电压VCELSRC1(>VSS)。
在时刻t2,行驱动器13对选择串单元SU的选择栅极线SGD施加电压VSGD2。电压VSD2是低于电压VSGD1及电压VBL1的电压,且是使被施加电压VSS的选择晶体管ST1导通,但使被施加电压VBL1的选择晶体管ST1断开的电压。由此,对应于位线BL(“1”)的NAND串SR的信道变为浮动状态。
在时刻t3,行驱动器13对选择块BLK的非选择字线WL(参考符号“非选择WL”)施加电压VPASS。电压VPASS是不管存储单元晶体管MT的阈值电压而将存储单元晶体管MT设为导通状态的电压。另外,行驱动器13对选择块BLK的选择字线WL(参考符号“选择WL”)施加电压VPGM。电压VPGM是用来将电子注入到电荷蓄积层107的高电压。电压VPGM与电压VPASS处于VPGM>VPASS的关系。此外,行驱动器13也可以在对选择字线WL施加电压VPASS之后,对选择字线WL施加电压VPGM。
在对应于位线BL(“0”)的NAND串SR中,选择晶体管ST1变为导通状态,因此连接在选择字线WL的存储单元晶体管MT的信道电位变为VSS。因此,控制栅极与信道之间的电位差(VPGM-VSS)变大。结果为,电子被注入到电荷蓄积层107,对应于位线BL(“0”)的存储单元晶体管MT的阈值电压上升。
在对应于位线BL(“1”)的NAND串SR中,选择晶体管ST1变为断开状态,因此连接在选择字线WL的存储单元晶体管MT的信道变为电性地浮动。这样一来,因与字线WL等的电容耦合,而信道电位上升。因此,控制栅极与信道之间的电位差变得小于对应于位线BL(“0”)的存储单元晶体管MT。结果为,电子基本未注入到电荷蓄积层107,对应于位线BL(“1”)的存储单元晶体管MT的阈值电压被维持(阈值分布电平越转变为更高的分布,则阈值电压越不变动)。
在时刻t4~t5的期间内,执行恢复处理,编程动作结束。
接下来,对第1次编程验证动作详细地进行说明。在时刻t6,行驱动器13对选择串单元SU的选择栅极线SGD及SGS施加电压VSG,对选择字线WL施加读出电压VCGRV,对非选择字线WL施加电压VREAD。电压VSG是将选择晶体管ST1及ST2设为导通状态的电压。电压VCGRV是与读出对象数据的阈值电平相应的电压。电压VREAD是在读出动作时对非选择字线WL施加的电压,控制栅极被施加了电压VREAD的存储单元晶体管MT与要保持的数据无关地变为导通状态。电压VCGRV与电压VREAD处于VCGRV<VREAD的关系。
在时刻t7,读出放大器14对位线BL施加电压VBL2。电压VBL2是在读出动作时对位线BL施加的电压。另外,对源极线SL,经由源极线驱动器而施加电压VCELSRC2。电压VBL2与电压VCELSRC2处于VBL2>VCELSRC2(>VSS)的关系。
在时刻t7~t8的期间内,读出放大器14例如读出(sense)在位线BL中流动的电流。更具体来说,在成为读出对象的存储单元晶体管MT的阈值电压为电压VCGRV以上的情况下,存储单元晶体管MT被设为断开状态(以下,称为“断开单元”),基本不从对应的位线BL向源极线SL流动电流。另一方面,在成为读出对象的存储单元晶体管MT的阈值电压未达电压VCGRV的情况下,存储单元晶体管MT变为导通状态(以下,称为“导通单元”),从对应的位线BL向源极线SL流动电流。序列发生器16在导通单元的个数未达预先设定的个数的情况下,判定为已通过编程验证动作,在导通单元的个数为预先设定的个数以上的情况下,判定为未通过编程验证动作。
在时刻t8~t9内,进行恢复处理,编程验证动作结束。此外,在存储单元晶体管MT能够保持2比特以上的数据,且执行多个阈值电平的编程验证动作的情况下,每个阈值电平地反复进行时刻t6~t9。在该情况下,分别设定与阈值电平相应的电压VCGRV。
在时刻t9~t10的期间内,执行多次编程循环及最后的编程循环中的编程动作。
接下来,对最后的编程循环中的编程验证动作进行说明。时刻t10~t13中的动作与时刻t6~t9中的动作相同。在最后的编程验证动作中,例如,导通单元的个数变为未达预先设定的个数,通过编程验证动作。
在时刻t13~t14的期间内,如果编程循环结束,那么块解码器12a对信号线BLKSEL1施加电压VSS而设为L电平,对信号线BLKSEL1n施加电压VBLKSEL而设为H电平。由此,晶体管32a、34a、及35a被设为断开状态,晶体管33a被设为导通状态。
接下来,对块选择晶体管的导通/断开动作详细地进行说明。
在时刻t14~t15的期间内,块解码器12a对信号线BLKSEL1施加电压VBLKSEL,对信号线BLKSEL1n施加电压VSS。由此,晶体管32a、34a、及35a被设为导通状态,晶体管33a被设为断开状态。
在时刻t15~t16的期间内,块解码器12a对信号线BLKSEL1施加电压VSS而设为L电平,对信号线BLKSEL1n施加电压VBLKSEL而设为H电平。由此,晶体管32a、34a、及35a被设为断开状态,晶体管33a被设为导通状态。
在时刻t16,块解码器12a为了伪读出动作而对信号线BLKSEL1施加电压VBLKSEL,对信号线BLKSEL1n施加电压VSS。
接下来,对伪读出动作详细地进行说明。
在时刻t17,行驱动器13对选择块BLK的选择串单元SU的选择栅极线SGD及SGS、以及非选择串单元SU的选择栅极线SGS施加电压VSG。另外,行驱动器13对选择块BLK的选择字线WL及非选择字线施加电压VREAD。此外,也可以代替对非选择串单元SU的选择栅极线SGS施加电压VSG而对非选择串单元SU的选择栅极线SGD施加电压VSG。
在时刻t18~t19内,另外,进行恢复处理,伪读出动作结束。
在时刻t19,块解码器12a对信号线BLKSEL1施加电压VSS而设为L电平,对信号线BLKSEL1n施加电压VBLKSEL而设为H电平。由此,晶体管32a、34a、及35a被设为断开状态,晶体管33a被设为导通状态。
1.3关于本实施方式的效果
如果是本实施方式的构成,那么能够提高可靠性。对本效果进行详述。
在三维地积层着存储单元的NAND型闪速存储器1中,构成NAND串SR的存储单元晶体管MT的信道例如像图3所示那样成为共有半导体层105的构造。在这种构造的NAND型闪速存储器1中,例如存在产生像图7所示那样的现象的情况。图7表示读出动作时中的字线WL、及NAND串SR的信道的电压的一例。
像图7所示那样,当执行读出动作时,行驱动器13对所选择的块BLK的非选择的字线WL施加电压VREAD。这时,信道的电压上升到VCELSRC2+VBL2。但是,电压(VCELSRC2+VBL2)小于电压VREAD,例如有数V左右的电压差。当读出数据确定时,行驱动器13使非选择的字线WL的电压下降到接地电压VSS。这时,NAND串SR的信道的电压因与字线WL的耦合而从接地电压VSS下降到负电压。在读出动作后,将块BLK设为非选择,结果,字线WL变为浮动状态。在该状态下,如果负电压的信道的电压伴随时间经过而恢复到接地电压VSS,那么字线WL的电压会因与NAND串SR的信道的耦合,而从接地电压VSS上升。将该现象称为逐渐增长(creepup)。
在因逐渐增长而字线WL的电压上升的状态的块BLK中,在该块BLK中的存储单元晶体管MT的控制栅极-信道间产生电位差,存在因读出动作后的时间经过而阈值电压偏移的情况。
而且,因逐渐增长而上升的字线WL的电压像图7所示那样伴随时间经过恢复到接地电压VSS。当在因逐渐增长而产生的字线WL的电压的变动恢复之后进一步经过时间时,上升后的存储单元晶体管MT的阈值电压恢复到原来的状态。像这样,存储单元晶体管MT能够采取阈值电压为初始状态的第1状态、及阈值电压受到逐渐增长的影响而偏移的第2状态这两个状态。对此,读出电压例如被最优化地设定为第2状态,因此在可能产生逐渐增长的NAND型闪速存储器1中,优选为将存储单元晶体管MT维持为第2状态。
在写入动作中,以编程验证动作结束编程循环,但在编程循环结束后,进行块选择晶体管的导通/断开动作。与因该导通/断开动作的影响而发生了读出动作的情况相比,存储单元晶体管MT从第2状态到转变为第1状态为止的时间变短。因此,在写入动作后的读出动作中,因存储单元晶体管MT的状态转变的影响而存在失效位计数(FBC:fail bit count)增加,进行再读出的重试读出率(RRR:retry read rate)增加的倾向。
因此,在本实施方式的构成中,在写入动作中在编程循环及块选择晶体管的导通/断开动作之后,执行伪读出动作。由此,在写入动作后,能够抑制存储单元晶体管MT从第2状态转变为第1状态的时间缩短。因此,在写入动作后的读出动作中,能够抑制FBC及RRR的增加。因此,能够提高半导体存储装置的可靠性。
进而,如果是本实施方式的构成,那么能够通过进行伪读出动作,而抑制在写入动作后的相对较短的期间内产生的阈值变动、也就是短期数据保持(STDR;short term dataretention)。
进而,如果是本实施方式的构成,那么寄存器17内具有关于伪读出动作的设定的寄存器地址,能够设定伪读出动作的有无。因此,能够根据半导体存储装置1的用途,切换伪读出动作的有无。
2.第2实施方式
接下来,对第2实施方式进行说明。在第2实施方式中,对与第1实施方式不同的写入动作的流程进行说明。以下,仅对与第1实施方式不同的点进行说明。
2.1关于写入动作的整个流程
首先,使用图8对写入动作的整个流程进行说明。
像图8所示那样,到步骤S1~S5为止的动作与第1实施方式的图5相同。
序列发生器16当在步骤S4及S5中结束编程循环之后,再次执行编程动作(步骤S10)。也就是说,序列发生器16在最后的编程动作结束之后,不进行编程验证动作。例如,存储单元晶体管MT能够保持2比特的数据,且从阈值分布低的起具有“Er”电平、“A”电平、“B”电平、“C”电平这4个分布。在该情况下,序列发生器16也可以利用编程循环的反复进行到“B”电平为止的编程动作,在通过编程验证动作之后,不进行编程验证动作地进行“C”电平的编程动作。此外,编程动作也可以不进行编程验证动作地反复进行多次。
序列发生器16当步骤S10的编程动作结束时,与第1实施方式的图5同样地,执行块选择晶体管的导通/断开动作(步骤S6)。
序列发生器16在块选择晶体管的导通/断开动作执行后执行伪读出(步骤S7)。由此,结束写入动作。
2.2关于写入动作时的各配线的电压
接下来,使用图9对写入动作时的各配线的电压进行说明。图9的例子表示块BLK0为写入对象的情况下的最后的编程循环的编程验证动作、编程循环后的最后的编程动作、块选择晶体管的导通/断开动作、及伪读出动作。
像图9所示那样,时刻t1~t4的期间表示最后的编程循环的编程验证动作,时刻t5~t10的期间表示编程循环后的最后的编程动作。另外,时刻t11~t13的期间表示块选择晶体管的导通/断开动作,时刻t14~t16的期间表示伪读出动作。
时刻t1~t4中的编程验证动作与第1实施方式的图5中所说明的时刻t6~t9的期间内的动作相同。
时刻t5~t9中的编程动作与第1实施方式的图5中所说明的时刻t1~t5的期间内的动作相同。此外,关于电压VPGM,每当重复编程循环时电压被升压(step up)。例如,行驱动器13对选择字线WL施加电压(VPGM+DVPGM)。电压DVPGM表示电压VPGM的升压电压。
时刻t10~t12中的块选择晶体管的导通/断开动作与第1实施方式的图5中所说明的时刻t14~t16的期间内的动作相同。
接下来,对伪读出动作进行说明。此外,伪读出动作也可以与第1实施方式的图5中所说明的时刻t17~t19的期间内的动作相同。
在时刻t13,行驱动器13对选择块BLK的选择串单元SU的选择栅极线SGD及SGS、以及非选择串单元SU的选择栅极线SGD施加电压VSG。另外,行驱动器13对选择块BLK的选择字线WL及非选择字线施加电压VREAD。
在时刻t14~t15内,另外,进行恢复处理,伪读出动作结束。
在时刻t15,块解码器12a对信号线BLKSEL1施加电压VSS而设为L电平,对信号线BLKSEL1n施加电压VBLKSEL而设为H电平。由此,晶体管32a及34a被设为断开状态,晶体管33a被设为导通状态。
2.3关于本实施方式的效果
根据本实施方式的构成,能够获得与第1实施方式相同的效果。
3.变化例等
所述实施方式的半导体存储装置包含:第1存储器串(SR),包含分别串联连接的第1选择晶体管(ST1)、第1存储单元(MT0)、第2存储单元(MT1)、及第2选择晶体管(ST2);第1字线(WL0),连接在第1存储单元的栅极;第2字线(WL1),连接在第2存储单元的栅极;第1选择栅极线(SGD),连接在第1选择晶体管的栅极;第2选择栅极线(SGS),连接在第2选择晶体管的栅极;及控制电路(16),控制写入动作。控制电路在对第1存储单元的写入动作中,反复进行包含编程动作及编程验证动作的编程循环,在编程循环的反复结束之后,执行对第1及第2字线施加将第1及第2存储单元设为导通状态的第1电压(VREAD),且对第1及第2选择栅极线施加将第1及第2选择晶体管设为导通状态的第2电压(VSG)的第1动作(伪读出)。
通过应用所述实施方式,能够提供一种能提高可靠性的半导体存储装置。
此外,实施方式并不限定于所述说明的方式,能够进行各种变化。
例如,在所述实施方式的伪读出动作中,表示不对位线BL施加电压,而不读出数据的情况,但例如也可以读出任意存储单元晶体管MT的数据。
进而,在所述实施方式的伪读出动作中,施加在字线WL的电压也可以是与电压VREAD不同的电压。
进而,所述实施方式中的“连接”也包含中间例如介置晶体管或电阻等其它某物而间接地连接的状态。
已对本发明的若干实施方式进行了说明,但这些实施方式是作为示例而提出的,并不意图限定发明的范围。这些新颖的实施方式能以其它各种方式实施,能在不脱离发明主旨的范围内,进行各种省略、替换及变更。这些实施方式或其变化包含在发明的范围或主旨内,并且包含在权利要求书所记载的发明及其均等范围内。
[符号的说明]
1 半导体存储装置
10 存储单元阵列
11、11a、11b 行解码器
12a、12b 块解码器
13 行驱动器
14 读出放大器
15 电压产生电路
16 序列发生器
17 寄存器
20 读出放大器
32、32a、32b、33、33a、33b、34、34a、34b 晶体管
100 半导体衬底
101 n型阱
102 p型阱
103 n+型扩散层
104、110 配线层
105 半导体层
106 隧道绝缘膜
107 电荷蓄积层
108 阻挡绝缘膜
109 接触插塞