具体实施方式
以下,参照附图对实施方式进行说明。另外,在以下的说明中,对具有同一功能及构成的构成要件标注共通之参照符号。此外,在区分具有共通的参照符号的多个构成要件时,对该共通的参照符号标注下标加以区分。另外,在不必对多个构成要件特别区分时,对这些多个构成要件,只标注共通的参照符号,不标注下标。
1.第1实施方式
对第1实施方式的半导体存储装置进行说明。
1.1关于构成
首先,对第1实施方式的半导体存储装置的构成进行说明。
1.1.1关于存储器系统的整体构成
使用图1对第1实施方式的存储器系统的构成例进行说明。图1是表示第1实施方式的存储器系统的构成的一例的框图。存储器系统1例如与外部的未图示的主机设备通信。存储器系统1保持来自主机设备(未图示)的数据,此外,将数据读取到主机设备。
如图1所示,存储器系统1具备控制器10及半导体存储装置(NAND型闪存存储器)20。控制器10从主机设备接收命令,并基于所接收到的命令控制半导体存储装置20。具体来说,控制器10将从主机设备指示写入的数据写入到半导体存储装置20,且将从主机设备指示读取的数据从半导体存储装置20读取并发送到主机设备。控制器10利用NAND总线连接在半导体存储装置20。半导体存储装置20具备多个存储单元,而非易失性地存储数据。
NAND总线进行遵照NAND接口的信号/CE、CLE、ALE、/WE、/RE、/WP、/RB、及I/O的收发。信号/CE是用于将半导体存储装置20设为启动的信号。信号CLE及ALE对半导体存储装置20通知与信号CLE及ALE并行地流通于半导体存储装置20的信号I/O分别为指令CMD及地址ADD。此外,信号CLE及ALE例如在均为“L(Low:低)”电平的情况下,对半导体存储装置20通知与信号CLE及ALE并行地流通于半导体存储装置20的信号I/O为数据DAT。信号/WE指示将与信号/WE并行地流通于半导体存储装置20的信号I/O取入到半导体存储装置20。信号/RE指示对半导体存储装置20输出信号I/O。信号/WP对半导体存储装置20指示禁止数据写入及抹除。信号/RB表示半导体存储装置20是处于就绪状态(受理来自外部的命令的状态),还是处于忙碌状态(不受理来自外部的命令的状态)。信号I/O例如为8比特的信号。信号I/O是在半导体存储装置20与控制器10之间收发的数据的实体,包含指令CMD、地址ADD、数据DAT、以及状态STS。数据DAT包含写入数据及读取数据。
1.1.2关于控制器的构成
接着使用图1,对第1实施方式的存储器系统的控制器进行说明。控制器10具备处理器(CPU:Central Processing Unit,中央处理器)11、内置存储器(RAM:Random AccessMemory,随机访问存储器)12、NAND接口电路13、缓冲存储器14、及主机接口电路15。
处理器11对控制器10整体的动作进行控制。处理器11例如回应从主机设备接收的数据的写入命令,对半导体存储装置20发行基于NAND接口的写入命令。该动作对于读取及抹除的情况下也相同。
内置存储器12例如为DRAM(动态RAM)等半导体存储器,用作处理器11的作业区域。内置存储器12保持用于管理半导体存储装置20的固件、及各种管理表格等。
NAND接口电路13经由NAND总线与半导体存储装置20连接,掌管与半导体存储装置20的通信。NAND接口电路13根据处理器11的指示,对半导体存储装置20发送指令CMD、地址ADD、及写入数据。此外,NAND接口电路13从半导体存储装置20接收状态STS、及读取数据。
缓冲存储器14暂时保持控制器10从半导体存储装置20及主机设备接收到的数据等。缓冲存储器14例如也用作使一度传送到半导体存储装置20的写入数据从半导体存储装置20备份的存储区域。
主机接口电路15与主机设备连接,掌管与主机设备的通信。主机接口电路15例如将从主机设备接收到的命令及数据分别传送到处理器11及缓冲存储器14。
1.1.3关于半导体存储装置的构成
其次,使用图2对第1实施方式的半导体存储装置的构成例进行说明。图2是表示第1实施方式的半导体存储装置的构成的一例的框图。
半导体存储装置20具备存储单元阵列21、输入输出电路22、逻辑控制电路23、寄存器24、序列发生器25、电压产生电路26、行译码器27、及读出放大器模块28。此外,半导体存储装置20包含平面。平面包含存储单元阵列21、行译码器27、及读出放大器模块28。在图2的例中,虽然示出半导体存储装置20包含1个平面的单平面形式,但并不限于此,也可为包含2个平面的多平面形式,或包含3个以上平面。在包含2个以上平面的情况下,半导体存储装置20包含与该平面的数量相应数量的存储单元阵列21、行译码器27、及读出放大器模块28的组。
存储单元阵列21具备多个块BLK(BLK0、BLK1、……。块BLK包含与字线及位线相关联的多个非易失性存储单元晶体管(未图示)。块BLK例如成为数据的抹除单位,而统一抹除同一块BLK内的数据。各块BLK具备多个串单元SU(SU0、SU1、SU2、……。各串单元SU是NAND串NS的集合。NSND串NS包含多个存储单元晶体管。另外,存储单元阵列21内的块数、1块BLK内的串单元数、及1串单元SU内的NAND串数能够设定为任意数量。
输入输出电路22与控制器10收发信号I/O(I/O1~I/O8)。输入输出电路22将信号I/O内的指令CMD及地址ADD传送到寄存器24。输入输出电路22与读出放大器模块28收发写入数据及读取数据。输入输出电路22从寄存器24接收状态STS。
逻辑控制电路23从控制器10接收信号/CE、CLE、ALE、/WE、/RE、及/WP。此外,逻辑控制电路23将信号/RB传送到控制器10而对外部通知半导体存储装置20的状态。
寄存器24保持指令CMD及地址ADD。寄存器24将地址ADD传送到行译码器27及读出放大器模块28,且将指令CMD传送到序列发生器25。此外,寄存器24在对存储单元阵列21的写入动作时,也可保持关于通过检验的电平的信息。
序列发生器25接收指令CMD,并遵照基于接收到的指令CMD的序列控制半导体存储装置20的整体。
电压产生电路26基于来自序列发生器25的指示,产生数据的写入、读取、及抹除等动作所需的电压。电压产生电路26将所产生的电压供给到行译码器27及读出放大器模块28。
行译码器27从寄存器24接收地址ADD中的行地址,并基于该行地址选择块BLK。然后,经由行译码器27将来自电压产生电路26的电压传送到所选择的块BLK。
读出放大器模块28在读取数据时,读出从存储单元晶体管读取到位线的读取数据,并将所读出的读取数据传送到输入输出电路22。读出放大器模块28在写入数据时,将经由位线写入的写入数据传送到存储单元晶体管。此外,读出放大器模块28从寄存器24接收地址ADD中的列地址,并输出基于该列位址的列的数据。关于读出放大器模块28的细节见后述。
1.1.4关于存储单元阵列的构成
其次,使用图3对第1实施方式的半导体存储装置的存储单元阵列的构成进行说明。图3是用于说明第1实施方式的半导体存储装置的存储单元阵列的构成的电路图的一例。
如图3所示,NAND串NS的各个具备例如8个存储单元晶体管MT(MT0~MT7)、选择晶体管ST1、及选择晶体管ST2。另外,存储单元晶体管MT的个数不限于8个,也可为16个或32个、64个、128个等,其数量并不限定。存储单元晶体管MT具备包含控制栅极与电荷存储层的积层栅极。各存储单元晶体管MT串联连接在选择晶体管ST1及ST2之间。另外,在以下的说明中,“连接”也包含在之间介隔有其他能够导电的要件的情况。
在某一块BLK内,串单元SU0~SU3的选择晶体管ST1的栅极分别连接在选择栅极线SGD0~SGD3。此外,块BLK内的所有串单元SU的选择晶体管ST2的栅极共通连接在选择栅极线SGS。同一块BLK内的存储单元晶体管MT0~MT7的控制栅极分别连接在字线WL0~WL7。也就是说,相同地址的字线WL共通连接在同一块BLK内的所有串单元SU,选择栅极线SGS共通连接在同一块BLK内的所有串单元SU。另一方面,选择栅极线SGD只连接在同一块BLK内的串单元SU的1个。
此外,在存储单元阵列21内配置成矩阵状的NAND串NS中,位于同一行的NAND串NS的选择晶体管ST1的另一端连接在m条位线BL(BL0~BL(m-1)(m为自然数))中的任一条。此外,位线BL遍及多个块BLK,与同一列的NAND串NS共通连接。
此外,选择晶体管ST2的另一端连接在源极线CELSRC。源极线CELSRC遍及多个块BLK,与多个NAND串NS共通连接。
如前所述,数据的抹除是例如对位于同一块BLK内的存储单元晶体管MT统一进行。相对于此,数据的读取及写入能够针对任一块BLK的任一串单元SU中的与任一字线WL共通连接的多个存储单元晶体管MT统一进行。将如此统一写入的单位称为“页面”。1页面的数据大小例如为16KB(KByte(千字节))。另外,数据的读取及写入也能够按1/2页面(8KB)或1/4页面(4KB)执行。对此种小于1页面的数据区域写入的动作或读取的动作分别也称为PPP(Partial Page Program:部分页编程)及PPR(Partial Page Read:部分页读取)。
其次,使用图4对存储单元阵列21的剖面结构进行说明。图4表示第1实施方式的半导体存储装置的存储单元阵列的一部分的剖面结构的一例。尤其是,图4表示1个块BLK内的2个串单元SU相关的部分。具体来说,图4表示2个串单元SU的各自的2个NAND串NS、与其周边的部分。并且,图4所示的构成沿X方向排列着多个,例如沿X方向排列的多个NAND串NS的集合相当于1个串单元SU。
半导体存储装置20设置在半导体衬底30上。在以下的说明中,将与半导体衬底30的表面平行的面设为XY平面,将与XY平面垂直的方向设为Z方向。此外,X方向与Y方向设为相互正交。
在半导体衬底30的上部,设置p型阱区域30p。在p型阱区域30p上,设置多个NAND串NS。也就是说,在p型阱区域30p上,例如依序积层作为选择栅极线SGS发挥功能的配线层31、作为字线WL0~WL7发挥功能的8层配线层32(WL0~WL7)、及作为选择栅极线SGD发挥功能的配线层33。配线层31及33也可积层多层。在所积层的配线层31~33间,设置未图示的绝缘膜。
配线层31例如共通连接在1个块BLK内的多个NAND串NS的各个的选择晶体管ST2的栅极。配线层32针对各层每一层,共通连接在1个块BLK内的多个NAND串NS的各个的存储单元晶体管MT的控制栅极。配线层33共通连接在1个串单元SU内的多个NAND串NS的各个的选择晶体管ST1的栅极。
存储孔MH是以通过配线层33、32、31到达p型阱区域30p的方式设置。在存储孔MH的侧面上,依序设置块绝缘膜34、电荷存储层(绝缘膜)35、及隧穿氧化膜36。在存储孔MH内,埋入半导体支柱(导电膜)37。半导体支柱37例如为非掺杂的多晶硅,作为NAND串NS的电流路径发挥功能。在半导体支柱37的上端上,设置作为位线BL发挥功能的配线层38。
如以上,在p型阱区域30p的上方,依序积层着选择晶体管ST2、多个存储单元晶体管MT、及选择晶体管ST1,而1个存储孔MH对应于1个NAND串NS。
在p型阱区域30p的上部,设置n+型杂质扩散区域39及p+型杂质扩散区域40。在n+型杂质扩散区域39的上表面上,设置接触插塞41。在接触插塞41的上表面上,设置作为源极线CELSRC发挥功能的配线层42。在p+型杂质扩散区域40的上表面上,设置接触插塞43。在接触插塞43的上表面上,设置作为阱线CPWELL发挥功能的配线层44。
另外,关于存储单元阵列21的构成,也可为其他构成。关于存储单元阵列21的构成,例如记载于2009年3月19日申请的美国专利申请12/407,403号“三维积层非易失性半导体存储器”。此外,记载于2009年3月18日申请的美国专利申请12/406,524号“三维积层非易失性半导体存储器”、2010年3月25日申请的美国专利申请12/679,991号“非易失性半导体存储装置及其制造方法”、及2009年3月23日申请的美国专利申请12/532,030号“半导体存储器及其制造方法”。这些专利申请的全部内容通过参照引用于本案说明书中。
1.1.5关于存储单元晶体管的阈值分布
其次,使用图5对存储单元晶体管MT能够采取的阈值电压的分布进行说明。图5是表示第1实施方式的半导体存储装置的存储单元晶体管的阈值电压的分布的一例的简图。
如图5所示,存储单元晶体管MT的阈值电压能够保持由上部(Upper)比特(上部数据)、中部(Middle)比特(中部数据)、及下部(Lower)比特(下部数据)组成的3比特数据,也就是“111”、“110”、“100”、“000”、“010”、“011”、“001”、及“101”数据。另外,在图5中,虽然对保持在存储单元晶体管MT的数据为3比特数据的情况进行说明,但并不限于此,存储单元晶体管MT能够保持2比特数据、或4比特以上的数据等、任意数量的比特数据。
“111”数据的阈值电压为“Er”电平,例如相当于数据的抹除状态。并且,“Er”电平所包含的阈值电压小于电压AR,具有正或负的值。
“110”、“100”、“000”、“010”、“011”、“001”、及“101”数据的阈值电压分别为“A”、“B”、“C”、“D”、“E”、“F”、及“G”电平。“A”电平~“G”电平相当于对电荷存储层45注入电荷而在存储单元晶体管MT写入了数据的状态,各分布所包含的阈值电压例如具有正的值。“A”电平所包含的阈值电压大于比读取电压AR大的检验电压VA,且小于读取电压BR。“B”电平所包含的阈值电压大于比读取电压BR大的检验电压VB,且小于读取电压CR。“C”电平所包含的阈值电压大于比读取电压CR大的检验电压VC,且小于读取电压DR。“D”电平所包含的阈值电压大于比读取电压DR大的检验电压VD,且小于读取电压ER。“E”电平所包含的阈值电压大于比读取电压ER大的检验电压VE,且小于读取电压FR。“F”电平所包含的阈值电压大于比读取电压FR大的检验电压VF,且小于读取电压GR。而且,“G”电平所包含的阈值电压大于比读取电压GR大的检验电压VG,且小于电压VREAD。电压VREAD是对某个块BLK内读取数据时,对非读取对象的字线WL施加的电压。
如以上,各存储单元晶体管MT通过具有8个阈值电压的分布的任一个,而能够采取8种状态。另外,各数据与阈值电平的关系并不限定于所述,能够适当变更。
此外,如上所述,数据的写入及读取是按页面大小进行。此时,将数据针对每一上部比特、每一中部比特、或每一下部比特写入、读取。因此,在存储单元晶体管MT保持3比特数据的情况下,对1页面,分配与上部比特、中部比特、及下部比特的各个对应的数据。在以下的说明中,对上部比特、中部比特、及下部比特统一写入或读取的页面分别称为上部页面、中部页面、及下部页面。
1.1.6关于读出放大器模块的构成
其次,对第1实施方式的半导体存储装置的读出放大器模块的构成进行说明。图6是用于说明第1实施方式的半导体存储装置的读出放大器模块的构成的一例的俯视图。如图6所示,读出放大器模块28包含多个读出放大器单元群SAU<15:0>、与多个锁存电路群XDL<15:0>。
多个读出放大器单元群SAU<15:0>沿X方向排列。在图6的例中,各读出放大器单元群SAU<15:0>包含沿Y方向排列的16个读出放大器单元SAU(SAU<0>、SAU<1>、…、SAU<15>)。
读出放大器单元SAU例如针对每一位线BL而设置。读出放大器单元SAU读出读取到对应的位线BL的数据,并将写入数据传送到对应的位线BL。此外,读出放大器单元SAU连接在总线LBUS。读出放大器单元群SAU<15:0>内的相互相邻的2个读出放大器单元SAU(SAU<0>及SAU<1>、SAU<2>及SAU<3>、…)、经由各自所连接的总线LBUS相互连接。此外,读出放大器单元群SAU<15:0>内的各读出放大器单元SAU经由各自所连接的总线LBUS,共通地连接在1条总线DBUS。
锁存电路群XDL<15:0>沿X方向排列。锁存电路群XDL<15:0>包含16个锁存电路XDL(XDL<0>、XDL<1>、…、XDL<15>)。锁存电路群XDL<15:0>是针对每一读出放大器单元群SAU<15:0>而设置。而且,与16个读出放大器单元SAU<0>~SAU<15>分别对应的16个锁存电路XDL<0>~XDL<15>共通地连接在1条总线DBUS。各锁存电路XDL暂时保持与连接在对应的读出放大器单元SAU的位线BL关联的数据。此外,各锁存电路XDL连接在传送信号I/O的配线IO。锁存电路XDL用于经由该配线IO及总线DBUS以及LBUS收发读出放大器单元SAU与外部之间的数据。具体来说,将从控制器10接收到的数据经由配线IO保持于锁存电路XDL之后,经由总线DBUS及LBUS传送到读出放大器单元SAU。此外,将从读出放大器单元SAU传送到的数据经由总线LBUS及DBUS保持于锁存电路XDL之后,经由配线IO读取到控制器10。
另外,在遍及1页面(16KB)的读取动作的情况下,多个读出放大器单元群SAU<15:0>及多个锁存电路群XDL<15:0>全部成为驱动的对象。此外,在遍及1/2页面(8KB)及1/4(4KB)的读取动作的情况下,多个读出放大器单元群SAU<15:0>及多个锁存电路群XDL<15:0>各自其中一半及1/4成为驱动的对象。
具体来说,例如,在1/2页面的读取动作的情况下,沿Y方向排列在第偶数个的读出放大器单元SAU<e>(SAU<0>、SAU<2>、…、SAU<14>)、或排列在第奇数个的读出放大器单元SAU<o>(SAU<1>、SAU<3>、…、SAU<15>)的任意一个成为驱动的对象。关于锁存电路XDL也相同。
此外,例如,在1/4页面的读取动作的情况下,读出放大器单元SAU<e>中的一半(读出放大器单元SAU<e1>或SAU<e2>)、或读出放大器单元SAU<o>中的一半(读出放大器单元SAU<o1>或SAU<o2>)的4种中的任意一种成为驱动的对象。读出放大器单元SAU<e1>例如包含SAU<0>、SAU<4>、SAU<8>、及SAU<12>。读出放大器单元SAU<e2>例如包含SAU<2>、SAU<6>、SAU<10>、及SAU<14>。读出放大器单元SAU<o1>例如包含SAU<1>、SAU<5>、SAU<9>、及SAU<13>。读出放大器单元SAU<o2>例如包含SAU<3>、SAU<7>、SAU<11>、及SAU<15>。关于锁存电路XDL也相同。此外,在特别区分时,对读出放大器单元SAU<e>及SAU<o>、或SAU<e1>、SAU<o1>、SAU<e2>、及SAU<o2>内的构成要件也分别标注<e>及<o>、或<e1>、<o1>、<e2>、及<o2>加以区分。
另外,所述的驱动对象的分配方法为一例,能够应用其他任意分配方法。在以下的说明中,小于1页面的读取时的读出放大器单元SAU及锁存电路XDL作为基于所述的分配方法驱动者来进行说明。
接着,使用图7对第1实施方式的半导体存储装置的锁存电路群及读出放大器单元群之间的连接进行说明。图7是用于说明第1实施方式的半导体存储装置的锁存电路群及读出放大器单元群之间的连接的一例的电路图。在图7中,示出其中4个锁存电路XDL<e1>、XDL<o1>、XDL<e2>、以及XDL<o2>、及4个读出放大器单元SAU<e1>、SAU<o1>、SAU<e2>、以及SAU<o2>之间的连接关系。其他4个锁存电路XDL及其他4个读出放大器单元SAU也具有与图7相同的连接关系。
如图7所示,总线开关群SWA设置在锁存电路群XDL<15:0>(XDL<e1>、XDL<o1>、XDL<e2>、XDL<o2>、…)及总线DBUS之间,例如包含晶体管50~53。晶体管50~53分别在栅极被输入信号XSWe1、XSWo1、XSWe2、及XSWo2。锁存电路XDL<e1>、XDL<o1>、XDL<e2>、及XDL<o2>分别经由晶体管50~53共通连接在总线DBUS。
总线开关群SWB设置在总线DBUS及读出放大器单元群SAU<15:0>(SAU<e1>、SAU<o1>、SAU<e2>、SAU<o2>、…)之间,例如包含总线开关群SWBa及SWBb。
总线开关群SWBa例如包含晶体管54~56。晶体管54在栅极被输入信号DSWe1,一端连接在总线DBUS,另一端经由总线LBUS<e1>连接在读出放大器单元SAU<e1>。晶体管55在栅极被输入信号DSWo1,一端连接在总线DBUS,另一端经由总线LBUS<o1>连接在读出放大器单元SAU<o1>。晶体管56在栅极被输入信号LSWa,且连接总线LBUS<e1>及LBUS<o1>之间。
总线开关群SWBb例如包含晶体管57~59。晶体管57在栅极被输入信号DSWe2,一端连接在总线DBUS,另一端经由总线LBUS<e2>连接在读出放大器单元SAU<e2>。晶体管58在栅极被输入信号DSWo2,一端连接在总线DBUS,另一端经由总线LBUS<o2>连接在读出放大器单元SAU<o2>。晶体管59在栅极被输入信号LSWb,且连接总线LBUS<e2>及LBUS<o2>之间。
通过像这样地连接,锁存电路XDL<e1>、XDL<o1>、XDL<e2>、及XDL<o2>的各个能够经由总线DBUS,在与读出放大器单元SAU<e1>、SAU<o1>、SAU<e2>、及SAU<o2>的任一个之间传送数据。此外,读出放大器单元SAU<e1>及SAU<o1>能够不经由总线DBUS(经由总线LBUS<e1>及LBUS<o1>)相互传送数据。此外,读出放大器单元SAU<e1>或SAU<o1>也能够经由总线DBUS与读出放大器单元SAU<e2>或<o2>相互传送数据。
1.1.7关于读出放大器单元的构成
其次,对第1实施方式的半导体存储装置的读出放大器单元的构成进行说明。图8是表示第1实施方式的半导体存储装置的读出放大器单元的构成的一例的电路图。
如图8所示,读出放大器单元SAU包含读出放大器部SA、5个锁存电路SDL、ADL、BDL、CDL、及DDL、以及LBUS预充电器LP。读出放大器单元SAU连接在总线LBUS及位线BL。
读出放大器部SA具备高耐压n通道MOS晶体管60、低耐压n通道MOS晶体管61~68、低耐压p通道MOS晶体管69、及电容元件70。在以下的说明中,高耐压n通道MOS晶体管、低耐压n通道MOS晶体管、及低耐压p通道MOS晶体管在不特别区分时,简称为晶体管。
晶体管60在栅极被输入信号BLS,一端连接在对应的位线BL,另一端连接在晶体管61的一端。
晶体管61在栅极被输入信号BLC,另一端连接在节点SCOM。晶体管61将对应的位线BL钳位成与信号BLC相应的电势。
晶体管62在栅极被输入信号BLX,一端连接在节点SCOM,另一端连接在晶体管69的一端。
晶体管63在栅极被输入信号XXL,一端连接在节点SCOM,另一端连接在节点SEN。
晶体管64在栅极被输入信号BLQ,一端连接在节点SEN,另一端连接在总线LBUS。
晶体管65的栅极连接在节点SEN,在一端被输入时钟脉冲CLK,在另一端连接晶体管66的一端。晶体管66在栅极被输入信号STB,另一端连接在总线LBUS。
晶体管67的栅极连接在总线LBUS,一端被接地,在另一端连接晶体管68的一端。晶体管68在栅极被输入信号LSL,另一端连接在节点SEN。
晶体管69的栅极连接在节点INV_S,在另一端被施加电压VHSA。
电容元件70的一电极连接在节点SEN,在另一电极被输入时钟脉冲CLK。
读出放大器部SA对应于锁存电路SDL的保持数据,控制位线BL。锁存电路SDL、ADL、BDL、CDL、及DDL暂时保持写入数据及读取数据。在数据的读取动作中,锁存电路SDL、ADL、BDL、CDL、及DDL不限于读取到控制器10的读取数据,也能暂时保持数据读取时产生的数据。此外,在数据的写入动作中,其他锁存电路ADL、BDL、CDL、及DDL例如用在各个存储单元晶体管MT保持2比特以上的数据的多值动作用途。
锁存电路SDL包含低耐压n通道MOS晶体管80~83及低耐压p通道MOS晶体管84~87。
晶体管80在栅极被输入信号STL,一端连接在总线LBUS,另一端连接在节点LAT_S。
晶体管81在栅极被输入信号STI,一端连接在总线LBUS,另一端连接在节点INV_S。
晶体管82的栅极连接在节点INV_S,一端被接地,另一端连接在节点LAT_S。
晶体管83的栅极连接在节点LAT_S,一端被接地,另一端连接在节点INV_S。
晶体管84的栅极连接在节点INV_S,一端连接在节点LAT_S,另一端连接在晶体管86的一端。
晶体管85的栅极连接在节点LAT_S,一端连接在节点INV_S,另一端连接在晶体管87的一端。
晶体管86在栅极被输入信号SLL,在另一端被施加电压VDDSA。
晶体管87在栅极被输入信号SLI,在另一端被施加电压VDDSA。
在锁存电路SDL中,以晶体管82及84构成第1逆变器,以晶体管83及85构成第2逆变器。并且,将第1逆变器的输出及第2逆变器的输入(节点LAT_S)经由数据传送用的晶体管80连接在总线LBUS。此外,将第1逆变器的输入及第2逆变器的输出(节点INV_S)经由数据传送用的晶体管81连接在总线LBUS。锁存电路SDL以节点LAT_S保持数据,并以节点INV_S保持其反转数据。
锁存电路ADL、BDL、CDL、及DDL例如因为具有与锁存电路SDL相同的构成,所以省略其说明。在各读出放大器单元SAU中,读出放大器部SA、以及5个锁存电路SDL、ADL、BDL、CDL、及DDL是以相互能够收发数据的方式利用总线LBUS连接。
关于读出放大器单元SAU内的锁存电路间的数据收发的细节,例如记载于2013年3月25日申请的日本专利申请2013-06215号“非易失性半导体存储装置、存储控制器、及存储器系统”。该专利申请的全部内容通过参照引用于本案说明书中。
LBUS预充电器LP例如包含低耐压n通道MOS晶体管71。晶体管71在栅极被输入信号LPC,一端连接在总线LBUS,在另一端被施加电压VHLB。LBUS预充电器LP通过将电压VHLB传送到总线LBUS,而对总线LBUS进行预充电。
另外,所述构成的读出放大器单元SAU中的各种信号是例如由序列发生器25赋予。
1.2关于动作
其次,对第1实施方式的半导体存储装置的动作进行说明。
1.2.1关于伴随读取动作的嵌入的写入动作的概要
对第1实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的概要进行说明。图9是表示第1实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的概要的指令序列。如图9所示,该指令序列包含从数据备份动作开始至数据恢复动作结束的写入动作中断期间。并且,在该写入动作中断期间内,嵌入执行读取动作。
控制器10发行写入指令“80h”,发送到半导体存储装置20。指令“80h”是命令对半导体存储装置20写入数据的指令。
控制器10例如跨越5周期发行地址ADD1,发送到半导体存储装置20。该地址ADD1例如指定写入对象的块BLK内的某一区域的地址。接着,控制器10对半导体存储装置20发送写入数据Din。控制器10例如发行指令“15h”,发送到半导体存储装置20。指令“15h”是用于基于之前发送的地址ADD1及写入数据Din使半导体存储装置20执行数据的写入的指令。此外,指令“15h”是在存在未用于写入动作的锁存电路的情况下,用于将下一页面的写入数据的一部分写入该未使用的锁存电路的指令。此种写入方法也称为高速缓存编程,先行写入于锁存电路的下一页面的写入数据也称为高速缓存数据。
当将指令“15h”存储到寄存器24时,序列发生器25控制电压产生电路26、行译码器27、及读出放大器模块28等,开始写入动作。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。半导体存储装置20处于忙碌状态的期间tPROGa表示在中断写入动作前进行写入动作的期间。
控制器10在期间tPROGa期间,发行中断指令“XXh”,发送到半导体存储装置20。指令“XXh”是命令中断在半导体存储装置20中正在执行的数据写入动作的指令。当将指令“XXh”存储到寄存器24时,序列发生器25使数据写入动作中断。在写入动作中断之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
接着,控制器10使半导体存储装置20执行数据备份动作。具体来说,序列发生器25对应于来自控制器10的指示,使在之后的读取动作中被读取数据的读出放大器模块28内的锁存电路SDL、ADL、BDL、CDL、DDL、及XDL中保持的数据的一部分备份。由此,锁存电路SDL、ADL、BDL、CDL、DDL、及XDL中的多个锁存电路变成能够覆写的状态。然后,能够使用这些能够覆写状态的锁存电路执行数据读取。另外,关于数据备份动作的细节见后述。
在数据备份动作完成之后,控制器10发行前缀指令“BBh”及读取指令“00h”,发送到半导体存储装置20。指令“00h”是对半导体存储装置20命令读取通常的读取数据的指令。半导体存储装置20当接收连续的指令“BBh”及指令“00h”时,辨识被指示了特殊的读取动作。指令“BBh”还指定特殊的读取动作的种类。
另外,特殊的读取动作包含在读取动作时必须在作为作业区域的多个锁存电路保持数据的读取动作。作为此种特殊的读取动作的例子,例如举出如下读取动作(第1读取动作):事先读取与应读取数据的存储单元晶体管MT相邻的存储单元晶体管MT的数据,并修正从基于该事先读取到的数据的对象的存储单元晶体管MT读取的数据。此外,例如举出如下读取动作(第2读取动作):对某一页面内的存储单元晶体管MT使用多种读取电压读取数据,而探索能够读取更多正确数据的最适合的读取电压。
关于第1读取动作及第2读取动作的细节,例如记载于2016年3月17日申请的美国专利申请14/645,740号“半导体存储装置”。该专利申请的全部内容通过参照引用于本案说明书中。
控制器10例如跨越5周期发行地址ADD2,发送到半导体存储装置20。该地址ADD2例如指定写入对象的某一区域的地址,例如与写入动作时所指定的地址ADD1不同。控制器10例如发行指令“30h”,发送到半导体存储装置20。指令“30h”是用于基于之前发送的地址ADD2使半导体存储装置20执行数据的读取的指令。
当将指令“30h”存储到寄存器24时,序列发生器25控制电压产生电路26、行译码器27、及读出放大器模块28等,开始读取动作。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。半导体存储装置20处于忙碌状态的期间tR表示进行读取动作的期间。在期间tR,将从半导体存储装置20读取的数据及在读取数据时产生的中间数据(也称为读取选项数据)保持于读出放大器模块28内的多个锁存电路SDL、ADL、BDL、CDL、DDL、及XDL的任一个。
在读取动作完成之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。接着,输入输出电路22将读取到读出放大器模块28内的读取数据Dout经由锁存电路XDL输出到控制器10。
接着,控制器10使半导体存储装置20执行将所备份的数据返回原先的部位的数据恢复动作。具体来说,序列发生器25对应于来自控制器10的指示,使从读出放大器模块28内的锁存电路备份的数据的一部分重新保持在数据备份动作以前曾保持的锁存电路内。由此,能够恢复执行数据读取动作前的状态,而能够重新开始中断的写入动作。另外,关于数据恢复动作的细节见后述。
控制器10发行重新开始指令“YYh”,发送到半导体存储装置20。指令“YYh”是命令重新开始中断的写入动作的指令。当将指令“YYh”存储到寄存器24时,序列发生器25使写入动作重新开始。
此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。半导体存储装置20处于忙碌状态的期间tPROGb表示进行重新开始的写入动作的期间。
在写入动作结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
以上,伴随读取动作的嵌入的写入动作结束。
图10是用于说明第1实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的动作的时序图。图10示出在写入动作中断期间的前后的写入动作中对选择字线WL施加的电压的大小。
如图10所示,对选择字线WL,在编程动作时施加写入电压VPGM,在检验动作时施加检验电压VA~VG。编程动作是用于使存储单元晶体管MT的阈值电压上升的动作,检验动作是用于判定利用编程动作上升的阈值电压是否从“Er”电平达到“G”电平中设为目标的阈值电压的动作。编程动作及检验动作的组重复多次执行。该编程动作及检验动作的重复单位也称为循环。如果编程为某一电平(例如“A”电平)的所有存储单元晶体管MT之中,具有小于“A”电平的阈值电压的存储单元晶体管MT的比特数、或包含此种存储单元晶体管MT的字节数低于某一基准值,那么判断为该电平(“A”电平)的检验通过。
写入电压VPGM是用于将电荷注入于存储单元晶体管MT的电荷存储层45的电压,大于检验电压VA~VG。此外,写入电压VPGM的值每当循环数增加时阶段状地上升。写入电压VPGM的值即使经过写入动作中断期间,也继续阶段状地上升。由此,存储单元晶体管MT的阈值电压无论有无写入动作中断期间均逐渐上升,最终达到作为目标的电平的阈值电压。
此外,检验电压VA~VG随着低电平的检验通过,而施加更高电平的检验电压。在图10的例中,在第1次及第2次循环的检验动作中,只施加检验电压VA。然后,在写入动作中断期间近前的循环之前,“A”电平的检验通过。在写入动作中断期间近前的循环的检验动作中,伴随“A”电平的检验通过,而施加检验电压VB~VD。
并且,如图10(A)所示,于在写入动作中断期间近前的循环的检验动作中“B”电平的检验尚未通过的情况下,在写入动作中断期间之后的循环的检验动作也施加检验电压VB~VD。
此外,如图10(B)所示,于在写入动作中断期间近前的循环的检验动作中“B”电平的检验通过的情况下,在写入动作中断期间之后的循环的检验动作中,也可施加检验电压VC~VE作为更高的检验电压。也就是说,无论有无写入动作中断期间,皆基于近前的循环的检验结果执行检验动作。
此外,如图10(C)所示,也可在编程动作与检验动作之间插入写入动作中断期间。在图10(C)所示的例的情况下,写入动作中断期间之后的检验动作是对写入动作中断期间近前的编程动作执行。
1.2.2关于数据备份动作
其次,对第1实施方式的半导体存储装置的数据备份动作进行说明。图11是用于说明第1实施方式的半导体存储装置的数据备份动作的指令序列。
如图11所示,控制器10例如发行指令“05h”,发送到半导体存储装置20。指令“05h”是用于将保持在锁存电路XDL的数据输出到控制器10的指令。控制器10例如跨越5周期发行地址ADD2,发送到半导体存储装置20。地址ADD2指定列,在此处,例如为了输出存储在锁存电路XDL的数据的整体而指定全列。控制器10例如发行指令“E0h”,并发送到半导体存储装置20。指令“E0h”是用于基于之前发送的地址ADD2执行存储在锁存电路XDL的数据的输出的指令。当将指令“E0h”存储到寄存器24时,序列发生器25控制输入输出电路22等,将存储在读出放大器模块28内的锁存电路XDL的数据Dout输出到控制器10。控制器10例如使输出的数据Dout备份至缓冲存储器14、并保持。
控制器10例如发行指令“ZZh”,发送到半导体存储装置20。指令“ZZh”是用于指示在锁存电路ADL、BDL、CDL、DDL、SDL、及XDL之间的数据传送的指令。控制器10例如跨越k周期(k为任意正整数)发行地址ADD3,发送到半导体存储装置20。地址ADD3例如包含表示传送的数据的传送源与传送处的锁存电路的信息。
当将指令“ZZh”存储到寄存器24时,序列发生器25执行锁存电路间的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。半导体存储装置20处于忙碌状态的期间表示进行在锁存电路间的数据传送的期间。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如与数据备份动作开始后的动作同样地,依序发行指令“05h”、地址ADD2、及指令“E0h”,发送到半导体存储装置20。序列发生器25再次控制输入输出电路22等,将存储在读出放大器模块28内的锁存电路XDL的数据Dout输出到控制器10。
另外,在接着进行对控制器10的数据备份的情形时,通过进而发行指令“ZZh”而进行对锁存电路XDL的数据传送。然后,重复将存储到该锁存电路XDL的数据输出到控制器10的动作即可。
以上,数据备份动作结束。
图12是表示设定第1实施方式的半导体存储装置的锁存电路间的数据传送的信息的一例的表格。该设定信息例如包含在指令“ZZh”之后发行的地址ADD3中。
如图12所示,设定锁存电路间的数据传送的信息包含传送源及传送处的锁存电路识别信息。具体来说,例如在传动源及传送处的锁存电路识别信息中,对锁存电路ADL、BDL、CDL、DDL、SDL、及XDL,分别关联“000”、“001”、“010”、“011”、“100”、“101”,而各个能够唯一地识别。另外,对各锁存电路设定的传送源及传送处的锁存电路识别信息并不限于此,只要各个能够唯一地识别,就能设定为任意的值。
图13是表示第1实施方式的半导体存储装置的数据备份动作的前后的锁存电路内的数据的变化的一例的表格。在图13中,在行方向上按时间序列显示从数据备份动作开始前到数据读取后的锁存电路内的数据的变化。
如上所述,数据备份动作是将6个锁存电路XDL、ADL、BDL、CDL、DDL、及SDL中的2个以上锁存电路设为能够覆写的状态。在第1实施方式的以下的说明中,对将锁存电路XDL、ADL、及SDL这3个锁存电路设为能够覆写的状态的情况的数据备份动作进行说明。
如图13所示,在开始数据备份动作前(写入动作刚中断后),在各锁存电路XDL、ADL、BDL、CDL、DDL、及SDL中,例如,像以下所示那样,存储在写入动作时使用的数据。
在锁存电路XDL中,存储高速缓存数据(在图13中,简记为“C”)。
在锁存电路ADL、BDL、及CDL中分别存储写入到对应的存储单元晶体管MT的3比特数据中的下部数据、中部数据、及上部数据(在图13中分别简记为“L”、“M”、及“U”)。另外,下部数据、中部数据、及上部数据并不限于“从控制器10传送的写入数据”,也可包含检验结果。也就是说,存储在锁存电路ADL、BDL、及CDL的数据不仅能够判定写入到对应的存储单元晶体管MT的阈值电压的电平,也能够判定该存储单元晶体管MT通过检验的电平。因此,将下部数据、中部数据、及上部数据在写入动作的每一循环基于检验结果更新。具体来说,例如,在对存储单元晶体管MT的写入完成时,也可将存储在对应的读出放大器单元SAU内的锁存电路ADL、BDL、及CDL的数据更新成数据“111”,作为表示不必继续进行写入动作的信息。
在锁存电路DDL,存储着用于使存储单元晶体管MT的阈值电压分布急剧的数据写入方式(第1写入方式)时所使用的数据Q(在图13中,简记为“Q”)。在第1写入方式中,例如以低于作为目标的阈值电压的电压进行检验动作。然后,对通过该检验动作的存储单元晶体管MT,执行阈值电压的上升量比通常小的编程动作。由此,能够精细地控制阈值电压上升至目标的阈值电压附近的存储单元晶体管MT的阈值电压上升量,而能够缩窄阈值电压的分布范围。
在锁存电路SDL,例如存储着在写入动作时用于判定是否选择位线BL的写入指示数据(在图13中,简记为“W”)。写入指示数据是例如在每一循环,由基于下部数据、中部数据、及上部数据的运算处理算出。另外,写入指示数据因为如上所述,能够从下部数据、中部数据、及上部数据算出,所以是读取动作时能够覆写的数据。另外,在图13中,对能够覆写的数据,通过标注“(WE)”而与不能覆写的数据加以区分。
如图13所示,在基于图11所示的指令序列的数据备份动作中,首先,将存储在锁存电路XDL中的高速缓存数据传送到控制器10。高速缓存数据例如暂时保持在缓冲存储器14中。由此,锁存电路XDL变成能够覆写的状态。
接着,将存储在锁存电路ADL的下部数据传送到锁存电路XDL。具体来说,在地址ADD3中,指定“000”作为传送源的锁存电路识别信息,指定“101”作为传送处的锁存电路识别信息。由此,锁存电路ADL取代锁存电路XDL,变成能够覆写的状态。
接着,将存储在锁存电路XDL的下部数据传送到控制器10。下部数据例如与高速缓存数据同样地暂时存储在缓冲存储器14中。由此,锁存电路XDL变成能够覆写的状态。利用以上的数据备份动作,3个锁存电路XDL、ADL、SDL变成能够覆写的状态。
在数据备份动作后的读取动作中,在锁存电路XDL、ADL、及SDL中存储读取所需的数据。具体来说,在锁存电路XDL及ADL中,存储读取选项数据(在图13中,简记为“ROP”)。此外,在锁存电路SDL中,存储输出到控制器10的读取数据(在图13中,简记为“R”)。该读取数据例如由基于存储在锁存电路XDL及ADL的读取选项数据的运算处理算出。然后,将读取到锁存电路SDL的读取数据经由锁存电路XDL输出到控制器10。
1.2.3关于数据恢复动作
其次,对第1实施方式的半导体存储装置的数据恢复动作进行说明。图14是用于说明第1实施方式的半导体存储装置的数据恢复动作的指令序列。
如图14所示,控制器10例如发行指令“80h”,发送到半导体存储装置20。控制器10例如跨越5周期发行地址ADD2,发送到半导体存储装置20。接着,控制器10对半导体存储装置20发送写入数据Din。写入数据Din例如为在数据备份动作中存储在缓冲存储器14的下部数据。也就是说,该下部数据包含写入动作中断近前的检验结果的信息。
控制器10例如发行指令“11h”,发送到半导体存储装置20。指令“11h”是用于基于之前发送的地址ADD2对锁存电路XDL执行数据的写入的指令。当将指令“11h”存储到寄存器24时,序列发生器25完成数据的写入。
此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在对锁存电路XDL的下部数据的写入完成之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如发行指令“ZZh”,发送到半导体存储装置20。控制器10例如跨越k周期发行地址ADD3,发送到半导体存储装置20。当将指令“ZZh”存储到寄存器24时,序列发生器25执行锁存电路间的数据传送。具体来说,例如,对地址ADD3的传送源的锁存电路识别信息指定“101”,对传送处的锁存电路识别信息指定“000”。由此,序列发生器25将存储在锁存电路XDL的下部数据传送到锁存电路ADL。
此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如与数据恢复动作开始后的动作同样地,依序发行指令“80h”、地址ADD2、写入数据Din、及指令“11h”,发送到半导体存储装置20。此处的写入数据Din例如为在数据备份动作中存储在缓冲存储器14的高速缓存数据。序列发生器25执行对锁存电路XDL的高速缓存数据的写入。
另外,在进而进行数据恢复的情形时,通过进而发行指令“ZZh”而进行从锁存电路XDL向其他锁存电路ADL、BDL、CDL、DDL、及SDL的任一个的数据传送。然后,重复从控制器10向锁存电路XDL写入数据的动作即可。
以上,数据恢复动作结束。
图15是表示第1实施方式的半导体存储装置的数据恢复动作前后的锁存电路内的数据的变化的一例的表格。在图15中,在行方向上按时间序列显示从数据恢复动作开始前到数据恢复后的锁存电路内的数据的变化。另外,在图15中,利用与图13相同的简记表示各数据。
如图15所示,在数据恢复动作之前,数据读取结束。因此,存储在锁存电路SDL的读取数据及存储在锁存电路XDL以及ADL的读取选项数据是能够覆写的数据。
在数据恢复动作中,首先,将存储在缓冲存储器14的下部数据传送到锁存电路XDL。由此,将保持在锁存电路XDL的数据覆写成下部数据。
接着,将写入到锁存电路XDL的下部数据传送到锁存电路ADL。由此,在锁存电路ADL存储下部数据,而恢复成数据备份动作前的状态。接着,将存储在缓冲存储器14的高速缓存数据传送到锁存电路XDL。由此,将锁存电路XDL内的数据恢复成数据备份动作前的状态。
随后,在重新开始写入动作之前,利用基于下部数据、中部数据、及上部数据的运算处理产生写入指示数据,并存储到锁存电路SDL。利用以上的数据恢复动作,将锁存电路XDL、ADL、BDL、CDL、DDL、及SDL内的数据全部恢复。
1.3本实施方式的效果
依据第1实施方式,能够在使用曾保持写入动作重新开始所需的数据的锁存电路执行读取动作之后,重新开始写入动作。以下就本效果进行说明。
在读取保持在存储单元晶体管内的数据时,将所读取到的数据在传送到外部的控制器之前,暂时保持在锁存电路。另一方面,在写入动作中断的情况下,在锁存电路内,已保持有为使写入动作重新开始所需的数据。因此,在中断写入动作时执行读取动作的情况下,在传送到外部的控制器之前暂时保持所读取的数据的锁存电路有可能不足。
关于现有的技术,已知有例如以下方法:对读出放大器单元内的多个锁存电路中的保持有对重新开始写入动作不必要的数据的锁存电路进行读取而覆写数据。
然而,现有的技术在除读取数据以外,必须还保持用于产生该读取数据的读取选项数据的情况下,锁存电路有可能不足。也就是说,在执行像第1读取动作及第2读取动作这样特殊的读取动作的情况下,除读取数据以外还必须使用多个锁存电路保持多个读取选项数据。在此种情况下,关于不能不丢失重新开始写入动作所需的数据,而执行读取动作之点有研究的余地。也就是说,现有的技术关于在使用曾保持写入动作重新开始所需的数据的锁存电路执行读取动作之后,不能重新开始写入动作这一点有研究的余地。
第1实施方式之半导体存储装置中,序列发生器25在中断写入动作后且接收读取指令前,使保持在读出放大器单元SAU内的锁存电路ADL及XDL的数据保持在控制器10内的缓冲存储器14。由此,在执行读取指令的阶段中,将重新开始写入动作所需的数据的一部分备份至读出放大器单元SAU的外部。因此,备份数据后的锁存电路ADL及XDL变得能保持读取选项数据。
此外,序列发生器25在读取动作期间,使从存储单元晶体管MT读取到的选项数据保持在使数据备份后的锁存电路ADL及XDL内。虽然该锁存电路ADL及XDL内的数据被读取选项数据覆写,但该被覆写的数据因为已经备份至控制器10内的缓冲存储器14,所以能够利用随后的恢复动作恢复。因此,在写入动作中断中的读取动作中,能够使用曾保持写入动作重新开始所需的数据的锁存电路。
此外,序列发生器25在结束读取动作后且接收使写入动作重新开始的指令“YYh”前,使传送到控制器10的数据传送到原先的锁存电路ADL及XDL。由此,能够在重新开始写入动作前,使重新开始写入动作所需的数据恢复至曾保持该数据的锁存电路。因此,能够在执行使用曾保持写入动作重新开始所需的数据的锁存电路的读取动作之后,使写入动作重新开始。
此外,读出放大器模块28包含锁存电路XDL。锁存电路XDL是其他锁存电路ADL、BDL、CDL、DDL、及SDL与控制器10之间传送数据时,该数据必定经由的锁存电路。也就是说,在使保持在锁存电路ADL、BDL、CDL、DDL、及SDL的数据备份至控制器10的情况下,必需将数据传送到锁存电路XDL的动作。序列发生器25通过接收指令“ZZh”,而执行该锁存电路间的传送动作。由此,能够容易地执行锁存电路间的数据传送。
此外,序列发生器25在接收指令“ZZh”后,接收地址ADD3。然后,序列发生器25基于该地址ADD3确定锁存电路间的传送动作的传送源及传送处。由此,能够容易地执行在读出放大器模块28内的锁存电路ADL、BDL、CDL、DDL、SDL、及XDL间的任意锁存电路间的数据传送。
1.4第1实施方式的变化例
另外,第1实施方式的半导体存储装置并不限于所述的例子,能够应用各种变化。
例如,在第1实施方式的半导体存储装置中,在数据备份动作及数据恢复动作的锁存电路间的数据传送中,发行指令“ZZh”及地址ADD3,但并不限于此。具体来说,也可不发行地址ADD3,只通过发行指令,而执行已指定传送源及传送处的锁存电路的数据传送。
图16是用于说明第1实施方式的变化例的半导体存储装置的数据备份动作的指令序列。如图16所示,控制器10例如发行指令“05h”,发送到半导体存储装置20。控制器10例如跨越5周期发行地址ADD2,发送到半导体存储装置20。控制器10例如发行指令“E0h”,发送到半导体存储装置20。
控制器10例如发行指令“Z1sh”,发送到半导体存储装置20。指令“Z1sh”例如为用于指示从锁存电路ADL向锁存电路XDL的数据传送的指令。
当将指令“Z1sh”存储到寄存器24时,序列发生器25执行从锁存电路ADL到锁存电路XDL的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如与数据备份动作开始后的动作同样地,依序发行指令“05h”、地址ADD2、及指令“E0h”,发送到半导体存储装置20。序列发生器25控制输入输出电路22等,将存储在读出放大器模块28内的锁存电路XDL的数据Dout输出到控制器10。
另外,在还进行对控制器10的数据备份的情况下,例如,通过发行执行从其他锁存电路BDL、CDL、DDL、及SDL到锁存电路XDL的数据传送的固有的指令(例如“Z2sh”、“Z3sh”、“Z4sh”、及“Z5sh”(均未图示)),而进行对锁存电路XDL的数据传送。然后,重复将存储到该锁存电路XDL的数据输出到控制器10的动作即可。
以上,数据备份动作结束。
图17是用于说明第1实施方式的变化例的半导体存储装置的数据恢复动作的指令序列。如图17所示,控制器10例如发行指令“80h”,发送到半导体存储装置20。控制器10例如跨越5周期发行地址ADD2,发送到半导体存储装置20。接着,控制器10将存储在缓冲存储器14的下部数据作为写入数据Din发送到半导体存储装置20。
控制器10例如发行指令“11h”,发送到半导体存储装置20。逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在对锁存电路XDL的下部数据的写入完成之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如发行指令“Z1rh”,发送到半导体存储装置20。指令“Z1rh”例如为用于指示从锁存电路XDL向锁存电路ADL的数据传送的指令。当将指令“Z1rh”存储到寄存器24时,序列发生器25执行从锁存电路XDL到锁存电路ADL的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如与数据恢复动作开始后的动作同样地,依序发行指令“80h”、地址ADD2、作为存储在缓冲存储器14的高速缓存数据的写入数据Din、及指令“11h”,发送到半导体存储装置20。序列发生器25执行对锁存电路XDL的高速缓存数据的写入。
另外,在还进行数据恢复的情况下,例如,通过发行从锁存电路XDL对锁存电路BDL、CDL、DDL、及SDL执行数据传送的固有的指令(例如“Z2rh”、“Z3rh”、“Z4rh”、及“Z5rh”(均未图示)),而进行从锁存电路XDL对其他锁存电路BDL、CDL、DDL、及SDL的任一个的数据传送。然后,重复从控制器10向锁存电路XDL写入数据的动作即可。
以上,数据恢复动作结束。
根据第1实施方式的变化例,能够利用更简便的指令序列执行数据备份动作及数据恢复动作。以下就本效果进行说明。
在假定进行在任意锁存电路间的数据传送的情况下,如第1实施方式所说明那样,通过在发行指令“ZZh”后发行地址ADD3而确定传送源及传送处的锁存电路较有效。然而,在执行数据传送的锁存电路相互确定的情况下,在地址ADD3中始终包含相同的信息。理想为省略每次不变化的信息。
依据第1实施方式的变化例的半导体存储装置,锁存电路间的数据传送动作不必接收地址ADD3,通过接收指令“Z1sh”及“Z1rh”而执行。由此,能够省略地址ADD3的发行。因此,能够执行更简便且动作速度迅速的数据还原动作及恢复动作,且能期待用户的便利性的提高。
2.第2实施方式
其次,对第2实施方式的半导体存储装置进行说明。第1实施方式的半导体存储装置使数据备份至位于读出放大器模块28的外部的控制器10,相对于此,第2实施方式的半导体存储装置使数据备份至读出放大器模块28的内部的能够覆写的区域。此外,在第2实施方式中,嵌入在写入动作中的读取动作是对1/2页面执行。在以下,对与第1实施方式相同的构成要件标注同一符号并省略其说明,只对与第1实施方式不同的部分进行说明。
2.1关于伴随读取动作的嵌入的写入动作的概要
对第2实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的概要进行说明。图18是表示第2实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的概要的指令序列。
如图18所示,因为中断写入动作之前的序列与第1实施方式相同,所以省略说明。并且,在中断写入动作之后,执行数据备份动作。另外,关于数据备份动作的细节见后述。
在数据备份动作结束之后,控制器10发行指令“AAh”,发送到半导体存储装置20。指令“AAh”是与后续的读取指令“00h”协作,命令PPR的指令,也就是命令1页面内的部分的读取动作的指令。在第2实施方式中,指令“AAh”作为命令1/2页面(8KB)的数据的读取的指令发挥功能。控制器10例如发行1周期的地址ADD4,发送到半导体存储装置20。该地址ADD4例如指定读取1页面内的2个1/2页面的区域中的哪一个区域。读取的区域能有各种定义的方式。1/2页面例如能够指定为与连接在读出放大器单元SAU<e>连接的存储单元晶体管MT对应的数据区域、或与连接在读出放大器单元SAU<o>的存储单元晶体管MT对应的数据区域。
接着,控制器10在继续发行指令“BBh”及“00h”之后,发行地址ADD2及指令“30h”。在如此执行与第1实施方式相同的读取动作之后,序列发生器25执行数据恢复动作。另外,关于数据恢复动作的细节见后述。
以后的执行写入重新开始动作的序列因为与第1实施方式相同,所以省略说明。以上,伴随读取动作的嵌入的写入动作结束。
图19是表示第2实施方式的半导体存储装置的读取动作时的读取区域的设定例的表格。图19所示的设定读取区域的信息例如包含在地址ADD4中。如图19所示,设定读取区域的信息包含识别读取对象为1页面内的哪一区域的信息(页面内区域识别信息)。具体来说,例如,页面内区域识别信息在读取1页面中的与读出放大器单元SAU<e>相关联的部分的数据的情况下,设定为“0”,在读取与读出放大器单元SAU<o>相关联的部分的数据的情况下,设定为“1”。
2.2关于数据备份动作及数据恢复动作
其次,对第2实施方式的半导体存储装置的数据备份及数据恢复动作进行说明。另外,在第2实施方式的以下的说明中,对将锁存电路ADL及SDL这2个锁存电路设为能够覆写的状态的情况的数据备份动作、及恢复成该数据备份动作前的状态的数据恢复动作进行说明。此外,在1/2页面的读取动作中,说明从与读出放大器单元SAU<e>对应的存储单元晶体管MT读取数据。
图20是用于说明第2实施方式的半导体存储装置的数据备份动作或数据恢复动作的指令序列。第2实施方式的数据备份动作及数据恢复动作是以例如同一指令序列表示。
如图20所示,控制器10例如发行指令“ZZh”,发送到半导体存储装置20。控制器10例如跨越k周期发行地址ADD3,发送到半导体存储装置20。地址ADD3与第1实施方式的不同点在于,指定1/2页面量的锁存电路且包含能传送数据的信息。
当将指令“ZZh”存储到寄存器24时,序列发生器25执行锁存电路间的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
以上,数据备份动作或数据恢复动作结束。
图21是表示设定第2实施方式的半导体存储装置的锁存电路间的数据传送的信息的一例的表格。图21所示的设定锁存电路间的数据传送的信息例如包含在地址ADD3中。
如图21所示,表示传送源及传送处的锁存电路的信息除锁存电路识别信息以外,还包含识别传送对象的锁存电路为1页面内的哪一区域的信息(页面内区域识别信息)。
此处,在图21中所示的地址ADD3内所指定的传送源的页面内区域识别信息的值与在图19中所示的地址ADD4内所指定的页面内区域识别信息的值一致。如此一来,读取的对象成为与锁存电路SDL的不接收备份数据的部分连接的存储单元晶体管MT,乃至变成在锁存电路SDL的不接收备份数据的部分保持读取数据。如此,控制器10对与传送源的页面内区域识别信息的值一致的页面内区域识别信息的值加以在地址ADD4中也可指定的限制。
图22是表示第2实施方式的半导体存储装置的数据备份动作及数据恢复动作的前后的锁存电路内的数据的变化的一例的表格。在图22中,在行方向上按时间序列显示从数据备份前到数据恢复后的锁存电路内的数据的变化。另外,在图22中,利用与第1实施方式的图13及图15相同的简记表示各数据。
如图22所示,在开始数据备份动作前(写入动作刚中断后),在各锁存电路XDL、ADL、BDL、CDL、DDL、及SDL中,分别存储有高速缓存数据、下部数据、中部数据、上部数据、数据Q、及能够覆写的写入指示数据。
在数据备份动作中,将存储在锁存电路ADL<e>的下部数据传送到锁存电路SDL<o>。具体来说,在地址ADD3中,指定“000”作为传送源的锁存电路识别信息,且指定“0”作为页面内区域识别信息。此外,指定“100”作为传送处的锁存电路识别信息,且指定“1”作为页面内区域识别信息。由此,锁存电路ADL<e>变成能够覆写的状态。利用以上的数据备份动作,1/2页面的区域内的2个锁存电路ADL<e>及SDL<e>变成能够覆写的状态。
在数据备份动作后的读取动作中,在锁存电路ADL<e>及SDL<e>中,存储读取所需的数据。具体来说,在锁存电路ADL<e>中,存储读取选项数据,在锁存电路SDL<e>中,存储应读取到控制器10的读取数据。
在数据恢复动作中,将存储在锁存电路SDL<o>的下部数据传送到锁存电路ADL<e>。具体来说,在地址ADD3中,指定“100”作为传送源的锁存电路识别信息,且指定“1”作为页面内区域识别信息。此外,指定“000”作为传送处的锁存电路识别信息,且指定“0”作为页面内区域识别信息。由此,将锁存电路ADL内的下部数据恢复成数据备份动作前的状态。
随后,在重新开始写入动作之前,利用基于下部数据、中部数据、及上部数据的运算处理产生写入指示数据,并存储到锁存电路SDL。利用所述的数据恢复动作,将锁存电路XDL、ADL、BDL、CDL、DDL、及SDL内的数据全部恢复。
2.3本实施方式的效果
根据第2实施方式,序列发生器25在中断写入动作后且接收读取指令前,使保持在读出放大器单元SAU<e>内的锁存电路的数据保持在读出放大器单元SAU<o>内的锁存电路。由此,在执行读取指令的阶段中,将重新开始写入动作所需的数据的一部分备份至读出放大器单元SAU<e>的外部。因此,备份数据后的锁存电路ADL变得能保持读取选项数据。
此外,序列发生器25在读取动作期间,使从存储单元晶体管MT读取到的选项数据保持在使数据备份后的读出放大器单元SAU<e>内的锁存电路ADL内。虽然该锁存电路ADL内的数据被读取选项数据覆写,但该被覆写的数据因为已经备份至读出放大器单元<o>,所以能够利用随后的恢复动作恢复。因此,在写入动作中断后的读取动作中,能够使用曾保持写入动作重新开始所需的数据的锁存电路。
此外,序列发生器25在结束读取动作后且接收使写入动作重新开始的指令“YYh”前,使传送到读出放大器单元SAU<o>内的锁存电路SDL的数据传送到读出放大器单元SAU<e>内的锁存电路ADL。由此,能够在重新开始写入动作前,使重新开始写入动作所需的数据恢复至曾保持该数据的锁存电路。因此,能够在执行使用曾保持写入动作重新开始所需的数据的锁存电路的读取动作之后,使写入动作重新开始。
此外,如上所述,将保持在读出放大器单元SAU<e>内的锁存电路ADL的重新开始写入动作所需的数据备份至读出放大器单元SAU<o>内的锁存电路SDL中。因此,在读取动作时以读出放大器单元SAU<o>读取数据的情况下,该备份的数据由读取数据覆写,而有可能丢失。在第2实施方式中,控制器10在读取动作中,使地址ADD4内的页面内区域识别信息的值与地址ADD3内的传送源的页面内区域识别信息的值一致。如此一来,变成在锁存电路SDL的不接收备份数据的部分保持读取数据。如此,限制对读出放大器单元SAU<o>的数据的读取。因此,能够防止读取数据导致备份数据消失。由此,能够在读取动作后使写入动作重新开始。
此外,读取动作设为读取1/2页面大小的数据。具体来说,读出放大器模块28内的读出放大器单元SAU包含相同数量的读出放大器单元SAU<e>及SAU<o>。由此,在以读出放大器单元SAU<e>执行读取动作期间限制对读出放大器单元SAU<o>的数据读取的情况下,能够读取以所有读出放大器单元SAU执行读取动作的情况的数据大小(16KB)的一半(8KB)的数据。
另外,读出放大器单元SAU<e>及SAU<o>经由总线LBUS连接。因此,读出放大器单元SAU<e>及SAU<o>间的数据备份能够不经由总线DBUS,只经由总线LBUS执行。由此,与经由总线DBUS进行的数据备份相比,能缩短数据备份所需的时间,乃至能够提高动作速度。
此外,序列发生器25在接收指令“ZZh”后,接收地址ADD3。然后,序列发生器25基于该地址ADD3确定锁存电路间的传送动作的传送源及传送处。由此,能够容易地执行在读出放大器模块28内的锁存电路ADL、BDL、CDL、DDL、SDL、及XDL间的任意锁存电路间的数据传送。
2.4第2实施方式的变化例
另外,第2实施方式的半导体存储装置并不限于所述的例子,能够应用各种变化。
例如,在第2实施方式的半导体存储装置中,在数据备份动作及数据恢复动作的锁存电路间的数据传送中,发行指令“ZZh”及地址ADD3,但并不限于此。具体来说,也可与第1实施方式的变化例同样,不发行地址ADD3,只通过发行指令,而执行已指定传送源及传送处的锁存电路的数据传送。
图23是用于说明第2实施方式的变化例的半导体存储装置的数据备份动作的指令序列。如图24所示,控制器10例如发行指令“Z1esh”,发送到半导体存储装置20。指令“Z1esh”例如为用于指示从锁存电路ADL<e>向锁存电路SDL<o>的数据传送的指令。
当将指令“Z1esh”存储到寄存器24时,序列发生器25执行从锁存电路ADL<e>到锁存电路SDL<o>的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
另外,在进行从锁存电路ADL<o>到锁存电路SDL<e>的数据备份的情形时,也可例如通过发行固有的指令“Z1osh”(未图示),而进行从锁存电路ADL<o>到锁存电路SDL<e>的数据传送。
此外,在进行从其他锁存电路BDL<e>、CDL<e>、及DDL<e>到锁存电路SDL<o>的数据备份的情形时,也可通过发行固有的指令(例如“Z2esh”、“Z3esh”、及“Z4esh”(均未图示)),而分别进行从锁存电路BDL<e>、CDL<e>、及DDL<e>到锁存电路SDL<o>的数据传送。
以上,数据备份动作结束。
图24是用于说明第2实施方式的变化例的半导体存储装置的数据恢复动作的指令序列。
如图24所示,控制器10例如发行指令“Z1erh”,发送到半导体存储装置20。指令“Z1erh”例如为用于指示从锁存电路SDL<o>向锁存电路ADL<e>的数据传送的指令。当将指令“Z1erh”存储到寄存器24时,序列发生器25执行从锁存电路SDL<o>到锁存电路ADL<e>的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
另外,在进行从锁存电路SDL<e>到锁存电路ADL<o>的数据备份的情形时,也可例如通过发行固有的指令“Z1orh”(未图示),而进行从锁存电路SDL<e>到锁存电路ADL<o>的数据传送。
此外,在进行从锁存电路SDL<o>到其他锁存电路BDL<e>、CDL<e>、及DDL<e>的数据恢复的情形时,也可通过发行固有的指令(例如“Z2erh”、“Z3erh”、及“Z4erh”(均未图示)),而分别进行从锁存电路SDL<o>到锁存电路BDL<e>、CDL<e>、及DDL<e>的数据传送。
以上,数据恢复动作结束。
根据第2实施方式的变化例,能够利用更简便的指令序列执行数据备份动作及恢复动作。以下就本效果进行说明。
在假定进行在任意锁存电路间的数据传送的情况下,如第2实施方式所说明那样,通过在发行指令“ZZh”后发行地址ADD3而确定传送源及传送处的锁存电路较有效。然而,在执行数据传送的锁存电路相互确定的情况下,在地址ADD3中始终包含相同的信息。理想为省略每次不变化的信息。
依据第2实施方式的变化例的半导体存储装置,锁存电路间的数据传送动作不必接收地址ADD3,通过接收指令“Z1esh”及“Z1erh”而执行。由此,能够省去地址ADD3的发行。因此,能够执行更简便且动作速度迅速的数据还原动作及恢复动作,且能期待用户的便利性的提高。
3.第3实施方式
其次,对第3实施方式的半导体存储装置进行说明。第2实施方式的半导体存储装置使8KB的数据备份至读出放大器模块28的内部,相对于此,第3实施方式的半导体存储装置使4KB的数据备份至读出放大器模块28的内部。在以下,对与第2实施方式相同的构成要件标注同一符号并省略其说明,只对与第2实施方式不同的部分进行说明。
3.1关于伴随读取动作的嵌入的写入动作的概要
对第3实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的概要进行说明。在第3实施方式的伴随读取动作的嵌入的写入动作的指令序列中,指令“AAh”作为命令1/4页面(4KB)的数据的读取的指令发挥功能。此外,地址ADD4与第2实施方式的不同点在于,包含指定1/4页面量的读出放大器单元SAU的信息。关于指令序列的其他部分,与第2实施方式中所示的图18相同。另外,关于数据备份动作及数据恢复动作的细节见后述。
图25是表示第3实施方式的半导体存储装置的读取动作时的读取区域的设定例的表格。图25所示的设定读取区域的信息例如包含在地址ADD4中。如图25所示,设定读取区域的信息包含页面内区域识别信息。具体来说,例如,页面内区域识别信息在读取1页面中的与读出放大器单元SAU<e1>、SAU<e2>、<o1>、及<o2>相关联的部分的数据的情况下,分别设定为“00”、“01”、“10”、及“11”。
3.2关于数据备份动作及数据恢复动作
其次,对第3实施方式的半导体存储装置的数据备份及数据恢复动作进行说明。另外,在第3实施方式的以下的说明中,对将锁存电路XDL、ADL、BDL、及SDL这4个锁存电路设为能够覆写的状态的情况的数据备份动作、及数据恢复动作进行说明。此外,在1/4页面的读取动作中,说明作从与读出放大器单元SAU<e1>对应的存储单元晶体管MT读取数据。
图26是用于说明第3实施方式的半导体存储装置的数据备份动作或数据恢复动作的指令序列。第3实施方式的数据备份动作及数据恢复动作是以同一指令序列表示。
如图26所示,控制器10例如发行指令“ZZh”,发送到半导体存储装置20。控制器10例如跨越k周期发行地址ADD3,发送到半导体存储装置20。地址ADD3与第1实施方式的不同点在于,指定1/4页面量的锁存电路且包含能传送数据的信息。
当将指令“ZZh”存储到寄存器24时,序列发生器25执行锁存电路间的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
将以上的动作对应于所期望的数据备份动作或数据恢复动作的方式重复特定次数。图26表示通过例如重复共计3次指令“ZZh”及地址ADD3的组的发送,而结束数据备份动作或数据恢复动作的例子。
图27是表示设定第3实施方式的半导体存储装置的锁存电路间的数据传送的信息的一例的表格。图27所示的设定锁存电路间的数据传送的信息例如包含在地址ADD3中。
如图27所示,表示传送源及传送处的锁存电路的信息包含锁存电路识别信息及页面内区域识别信息。
此处,在图27中所示的地址ADD3内所指定的传送源的页面内区域识别信息的值与在图25中所示的地址ADD4内所指定的页面内区域识别信息的值一致。如此一来,读取的对象成为与锁存电路SDL的不接收备份数据的部分连接的存储单元晶体管MT,乃至变成在锁存电路SDL的不接收备份数据的部分保持读取数据。如此,控制器10对与传送源的页面内区域识别信息的值一致的页面内区域识别信息的值加以在地址ADD4中也可指定的限制。
图28是表示第3实施方式的半导体存储装置的数据备份动作及数据恢复动作的前后的锁存电路内的数据的动向的一例的表格。在图28中,在行方向上按时间序列显示从数据备份前到数据恢复后的锁存电路内的数据的变化。另外,在图28中,利用与第2实施方式的图22相同的简记表示各数据。
如图28所示,在开始数据备份动作前(写入动作刚中断后),在各锁存电路XDL、ADL、BDL、CDL、DDL、及SDL中,分别存储有高速缓存数据、下部数据、中部数据、上部数据、数据Q、及能够覆写的写入指示数据。
在数据备份动作中,首先,将存储在锁存电路XDL<e1>的高速缓存数据传送到锁存电路SDL<o2>。具体来说,在地址ADD3中,指定“101”作为传送源的锁存电路识别信息,且指定“00”作为页面内区域识别信息。此外,指定“100”作为传送处的锁存电路识别信息,且指定“11”作为页面内区域识别信息。由此,锁存电路XDL<e1>变成能够覆写的状态。
接着,将存储在锁存电路ADL<e1>的下部数据传送到锁存电路SDL<o1>。具体来说,在地址ADD3中,指定“000”作为传送源的锁存电路识别信息,且指定“00”作为页面内区域识别信息。此外,指定“100”作为传送处的锁存电路识别信息,且指定“10”作为页面内区域识别信息。由此,锁存电路ADL<e1>变成能够覆写的状态。
接着,将存储在锁存电路BDL<e1>的中部数据传送到锁存电路SDL<e2>。具体来说,在地址ADD3中,指定“001”作为传送源的锁存电路识别信息,且指定“00”作为页面内区域识别信息。此外,指定“100”作为传送处的锁存电路识别信息,且指定“01”作为页面内区域识别信息。由此,锁存电路BDL<e1>变成能够覆写的状态。
利用以上的数据备份动作,1/4页面的区域内的4个锁存电路XDL<e1>、ADL<e1>、BDL<e1>、及SDL<e1>变成能够覆写的状态。
在数据备份动作后的读取动作中,在锁存电路XDL<e1>、ADL<e1>、BDL<e1>、及SDL<e1>中,存储读取所需的数据。具体来说,在锁存电路XDL<e1>、ADL<e1>、及BDL<e1>中,存储读取选项数据,在锁存电路SDL<e1>中,存储应读取到控制器10的读取数据。
在数据恢复动作中,首先,将存储在锁存电路SDL<e2>的中部数据传送到锁存电路BDL<e1>。具体来说,在地址ADD3中,指定“100”作为传送源的锁存电路识别信息,且指定“01”作为页面内区域识别信息。此外,指定“001”作为传送处的锁存电路识别信息,且指定“00”作为页面内区域识别信息。由此,将锁存电路BDL内的中部数据恢复成数据备份动作前的状态。
接着,将存储在锁存电路SDL<o1>的下部数据传送到锁存电路ADL<e1>。具体来说,在地址ADD3中,指定“100”作为传送源的锁存电路识别信息,且指定“10”作为页面内区域识别信息。此外,指定“000”作为传送处的锁存电路识别信息,且指定“00”作为页面内区域识别信息。由此,将锁存电路ADL内的下部数据恢复成数据备份动作前的状态。
接着,将存储在锁存电路SDL<o2>的高速缓存数据传送到锁存电路XDL<e1>。具体来说,在地址ADD3中,指定“100”作为传送源的锁存电路识别信息,且指定“11”作为页面内区域识别信息。此外,指定“101”作为传送处的锁存电路识别信息,且指定“00”作为页面内区域识别信息。由此,将锁存电路XDL内的高速缓存数据恢复成数据备份动作前的状态。
随后,在重新开始写入动作之前,利用基于下部数据、中部数据、及上部数据的运算处理产生写入指示数据,并存储到锁存电路SDL。利用所述的数据恢复动作,将锁存电路XDL、ADL、BDL、CDL、DDL、及SDL内的数据全部恢复。
3.3本实施方式的效果
根据第3实施方式,序列发生器25在中断写入动作后且接收读取指令前,使保持在读出放大器单元SAU<e1>内的锁存电路ADL<e1>及BDL<e1>、以及锁存电路XDL<e1>的数据保持在读出放大器单元SAU<e2>内的锁存电路SDL<e2>、SAU<o1>内的锁存电路SDL<o1>、及SAU<o2>内的锁存电路SDL<o2>。由此,在执行读取指令的阶段中,将重新开始写入动作所需的数据的一部分备份至读出放大器单元SAU<e1>的外部。因此,备份数据后的锁存电路XDL、ADL、及BDL变得能保持读取选项数据。
此外,序列发生器25在读取动作期间,使从存储单元晶体管MT读取到的读取选项数据保持在使数据备份后的读出放大器单元SAU<e1>内的锁存电路XDL、ADL、及BDL内。虽然该锁存电路XDL、ADL、及BDL内的数据由读取选项数据覆写,但该被覆写的数据因已经备份至读出放大器单元SAU<o2>、SAU<o1>、及SAU<e2>,所以能够利用随后的恢复动作恢复。因此,在写入动作中断后的读取动作中,能够使用曾保持写入动作重新开始所需的数据的锁存电路。
此外,序列发生器25在结束读取动作后且接收使写入动作重新开始的指令“YYh”前,使传送到读出放大器单元SAU<e2>内的锁存电路SDL<e2>、SAU<o1>内的锁存电路SDL<o1>、及SAU<o2>内的锁存电路SDL<o2>的数据分别传送到读出放大器单元SAU<e1>内的锁存电路BDL<e1>、ADL<e1>、及XDL<e1>。由此,能够在重新开始写入动作前,使重新开始写入动作所需的数据恢复至曾保持该数据的锁存电路。因此,能够在执行使用曾保持写入动作重新开始所需的数据的锁存电路的读取动作之后,使写入动作重新开始。
此外,如上所述,分别将保持在读出放大器单元SAU<e1>内的锁存电路BDL<e1>、锁存电路ADL<e1>、及锁存电路XDL<e1>的重新开始写入动作所需的数据备份至读出放大器单元SAU<e2>内的锁存电路SDL<e2>、SAU<o1>内的锁存电路SDL<o1>、及SAU<o2>内的锁存电路SDL<o2>中。因此,在读取动作时以读出放大器单元SAU<e2>、SAU<o1>、SAU<o2>读取数据的情况下,该备份的数据由读取数据覆写,而有可能丢失。在第3实施方式中,控制器10在读取动作中,使地址ADD4内的页面内区域识别信息的值与地址ADD3内的传送源的页面内区域识别信息的值一致。如此一来,变成在锁存电路SDL的不接收备份数据的部分保持读取数据。如此,限制对读出放大器单元SAU<e2>、SAU<o1>、SAU<o2>的数据的读取。因此,能够防止读取数据导致备份数据消失。由此,能够在读取动作后使写入动作重新开始。
此外,读取动作设为读取1/4页面大小的数据。具体来说,读出放大器模块28内的读出放大器单元SAU包含相同数量的读出放大器单元SAU<e1>、SAU<e2>、SAU<o1>、及SAU<o2>。由此,在以读出放大器单元SAU<e1>执行读取动作期间限制读出放大器单元SAU<e2>、SAU<o1>、及SAU<o2>的读取动作的情况下,能够读取以所有读出放大器单元SAU执行读取动作的情况的数据大小(16KB)的1/4(4KB)的数据。
此外,序列发生器25在接收指令“ZZh”后,接收地址ADD3。然后,序列发生器25基于该地址ADD确定锁存电路间的传送动作的传送源及传送处。由此,能够容易地执行在读出放大器模块28内的锁存电路ADL、BDL、CDL、DDL、SDL、及XDL间的任意锁存电路间的数据传送。
3.4第3实施方式的变化例
另外,第3实施方式的半导体存储装置并不限于所述的例子,能够应用各种变化。
例如,在第3实施方式的半导体存储装置中,在数据备份动作及数据恢复动作的锁存电路间的数据传送中,发行指令“ZZh”及地址ADD3,但并不限于此。具体来说,也可与第1实施方式及第2实施方式的变化例同样,不发行地址ADD3,只通过发行指令,而执行已指定传送源及传送处的锁存电路的数据传送。
图29是用于说明第3实施方式的变化例的半导体存储装置的数据备份动作的指令序列。如图29所示,控制器10例如发行指令“Z0qsh”,发送到半导体存储装置20。指令“Z0qsh”例如为用于指示从锁存电路XDL<e1>向锁存电路SDL<o2>的数据传送的指令。当将指令“Z0qsh”存储到寄存器24时,序列发生器25执行从锁存电路XDL<e1>到锁存电路SDL<o2>的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
接着,控制器10例如发行指令“Z1qsh”,发送到半导体存储装置20。指令“Z1qsh”例如为用于指示从锁存电路ADL<e1>向锁存电路SDL<o1>的数据传送的指令。
接着,控制器10例如发行指令“Z2qsh”,发送到半导体存储装置20。指令“Z2qsh”例如为用于指示从锁存电路BDL<e1>向锁存电路SDL<e2>的数据传送的指令。
以上,数据备份动作结束。
图30是用于说明第3实施方式的变化例的半导体存储装置的数据恢复动作的指令序列。
如图30所示,控制器10例如发行指令“Z2qrh”,发送到半导体存储装置20。指令“Z2qrh”例如为用于指示从锁存电路SDL<e2>向锁存电路BDL<e1>的数据传送的指令。当将指令“Z2qrh”存储到寄存器24时,序列发生器25执行从锁存电路SDL<e2>到锁存电路BDL<e1>的数据传送。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
接着,控制器10例如发行指令“Z1qrh”,发送到半导体存储装置20。指令“Z1qrh”例如为用于指示从锁存电路SDL<o1>向锁存电路ADL<e1>的数据传送的指令。
接着,控制器10例如发行指令“Z0qrh”,发送到半导体存储装置20。指令“Z0qrh”例如为用于指示从锁存电路SDL<o2>向锁存电路XDL<e1>的数据传送的指令。
以上,数据恢复动作结束。
根据第3实施方式的变化例,能够利用更简便的指令序列执行数据备份动作及恢复动作。以下就本效果进行说明。
在假定进行在任意锁存电路间的数据传送的情况下,如第3实施方式所说明那样,通过在发行指令“ZZh”后发行地址ADD3而确定传送源及传送处的锁存电路较有效。然而,在执行数据传送的锁存电路相互确定的情况下,在地址ADD3中始终包含相同的信息。优选省略每次不变化的信息。
依据第3实施方式的变化例的半导体存储装置,数据备份动作不必接收地址ADD3,通过接收指令“Z0qsh”、“Z1qsh”及“Z2qsh”而执行。同样地,数据恢复动作不必接收地址ADD3,通过接收指令“Z0qrh”、“Z1qrh”及“Z2qrh”而执行。由此,能够省去地址ADD3的发行。因此,能够执行更简便且动作速度迅速的数据还原动作及恢复动作,且能期待用户的便利性的提高。
4.第4实施方式
其次,对第4实施方式的半导体存储装置进行说明。第4实施方式的半导体存储装置不进行数据备份动作而执行读取动作,并利用数据恢复动作恢复丢失的写入信息。在以下,对与第1实施方式相同的构成要件标注同一符号并省略其说明,只对与第1实施方式不同的部分进行说明。
4.1关于伴随读取动作的嵌入的写入动作的概要
对第4实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的概要进行说明。图31是表示第4实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的概要的指令序列。
如图31所示,因为中断写入动作之前的序列与第1实施方式相同,所以省略说明。
在中断写入动作之后,不执行数据备份动作,而执行与第1实施方式相同的读取动作。在该读取动作中,保持在锁存电路XDL、ADL、BDL、CDL、DDL、及SDL中的用户的数据因为覆写而消失。在执行数据读取动作之后,执行数据恢复动作。另外,关于数据恢复动作的细节见后述。
以后的执行写入重新开始动作的序列因与第1实施方式相同,所以省略说明。以上,伴随读取动作的嵌入的写入动作结束。
4.2关于数据恢复动作
其次,对第4实施方式的半导体存储装置的数据恢复动作进行说明。另外,在第4实施方式的以下的说明中,设为执行使用锁存电路XDL、ADL、及SDL这3个锁存电路的读取动作,对恢复执行该读取动作前的状态的情况的数据恢复动作进行说明。
图32是用于说明第4实施方式的半导体存储装置的数据恢复动作的指令序列。图32所示的指令序列虽然与第1实施方式中所示的图14相同,但写入数据Din的内容不同。
如图32所示,控制器10例如发行指令“80h”,发送到半导体存储装置20。控制器10例如跨越5周期发行地址ADD2,发送到半导体存储装置20。接着,控制器10对半导体存储装置20发送写入数据Din。写入数据Din是例如在最初指示执行写入动作时,从控制器10传送到半导体存储装置20的下部数据。也就是说,该下部数据不包含写入动作中断之前所执行的检验的结果。控制器10例如发行指令“11h”,发送到半导体存储装置20。当将指令“11h”存储到寄存器24时,序列发生器25完成不包含该检验的结果的下部数据对锁存电路XDL的写入。此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在对锁存电路XDL的下部数据的写入完成之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如发行指令“ZZh”,发送到半导体存储装置20。控制器10例如跨越k周期发行地址ADD3,发送到半导体存储装置20。当将指令“ZZh”存储到寄存器24时,序列发生器25执行锁存电路间的数据传送。具体来说,例如,对地址ADD3的传送源的锁存电路识别信息指定“101”,对传送处的锁存电路识别信息指定“000”。由此,序列发生器25将存储在锁存电路XDL的下部数据传送到锁存电路ADL。
此时,逻辑控制电路23将信号/RB设为“L”电平,而通知控制器10半导体存储装置20处于忙碌状态。在数据传送结束之后,逻辑控制电路23将信号/RB设为“H”电平,而通知控制器10半导体存储装置20处于就绪状态。
控制器10例如与数据恢复动作开始后的动作同样地,依序发行指令“80h”、地址ADD2、写入数据Din、及指令“11h”,发送到半导体存储装置20。此处的写入数据Din例如为预先存储在缓冲存储器14的高速缓存数据。序列发生器25执行对锁存电路XDL的高速缓存数据的写入。
以上,数据恢复动作结束。
另外,在图32所示的例中,对将从锁存电路ADL消失的数据以与从控制器10输入的写入数据Din相同的数据分配保持的情况进行说明,但并不限于此。例如,在将从锁存电路ADL消失的数据以与从控制器10输入的写入数据Din不同的数据分配保持的情况下,控制器10在将高速缓存数据输入锁存电路XDL之前,对于中部数据及上部数据也分别执行重新输入到锁存电路BDL及CDL的数据恢复动作。中部数据及上部数据对锁存电路BDL及CDL的数据恢复动作与下部数据对锁存电路ADL的数据恢复动作除传送处的锁存电路识别信息以外相同。并且,在对于所有数据的数据恢复动作完成之后,通过执行数据分配转换动作(未图示),能够实现最终的数据的恢复。
图33是用于说明第4实施方式的半导体存储装置的伴随读取动作的嵌入的写入动作的时序图。图33(A)及图33(B)表示在写入动作中断期间的前后的写入动作中对选择字线WL施加的电压的大小。
如图33(A)及图33(B)所示,在写入动作中断期间结束之前,对选择字线WL,与第1实施方式所示的图1同样地施加电压。
在图33(A)及图33(B)的例中,在写入动作中断期间结束后、写入动作的循环重新开始前,执行预检验动作。预检验动作是用于掌握在写入动作中断前存储单元晶体管MT的阈值电压上升至哪一程度的动作。在第4实施方式中,包含写入动作中断前的检验结果的数据在写入动作中断期间丢失。因此,在使写入动作重新开始时,必须执行预检验动作。
如上所述,寄存器24保持关于在写入动作时检验通过至哪一电平的信息。在预检验动作中,基于保持在寄存器24的该信息,施加检验电压。在图33(A)之例中,在写入动作中断近前通过“A”电平的检验。因此,在预检验动作中,通过确认各存储单元晶体管MT的阈值电压是否达到“B”电平,能够恢复检验结果。因此,在图33(A)的例中的预检验动作中,施加检验电压VB。通过将该预检验动作的执行结果反映于数据恢复动作时从控制器10接收的数据中,而恢复包含写入动作中断前的检验结果的数据。
另外,在图33(A)的例中,虽然对只以“B”电平为对象的预检验动作进行说明,但并不限于此。例如,如图33(B)所示,预检验动作也可除“B”电平以外,还以“C”电平及“D”电平为对象执行。在此情况下,在预检验动作中,施加检验电压VB之后,继续施加检验电压VC及VD。由此,即使在更高电平的写入结束的情况下,也能够恢复包含写入动作中断前的检验结果的数据。
在预检验动作之后,与第1实施方式中所示的图10同样地,重新开始写入动作的循环。
图34是表示第4实施方式的半导体存储装置的数据备份动作及数据恢复动作的前后的锁存电路内的数据的变化的一例的表格。在图34中,在行方向上按时间序列显示从数据备份动作开始前到数据读取后的锁存电路内的数据的变化。
如图34所示,在开始数据备份动作前(写入动作刚中断后),在各锁存电路XDL、ADL、BDL、CDL、DDL、及SDL中,分别存储有高速缓存数据、下部数据、中部数据、上部数据、数据Q、及能够覆写的写入指示数据。
在数据读取动作中,在锁存电路SDL、及XDL以及ADL中,分别存储读取数据及读取选项数据。然后,将读取到锁存电路SDL的读取数据经由锁存电路XDL输出到控制器10。
在数据恢复动作中,将存储在缓冲存储器14的高速缓存数据及下部数据分别传送到锁存电路XDL及ADL。但是,传送到锁存电路ADL的下部数据不包含写入动作中断前的检验结果(在图34中,标注“(NUP)”与其他数据区分。)。
随后,在重新开始写入动作的循环之前,执行预检验动作。具体来说,产生包含写入动作中断前的检验结果的下部数据,并存储到锁存电路ADL。
然后,在重新开始写入动作之前,利用基于下部数据、中部数据、及上部数据的运算处理产生写入指示数据,并存储到锁存电路SDL。利用所述的数据恢复动作,将锁存电路XDL、ADL、BDL、CDL、DDL、及SDL内的数据全部恢复。
4.3本实施方式的效果
依据第4实施方式,序列发生器25在读取动作中,对保持在锁存电路内的重新开始写入动作所需的数据覆写读取数据及读取选项数据。由此,不执行数据备份动作,就能够执行读取动作。另一方面,因为没有执行数据备份动作,所以关于写入动作中断前的对存储单元晶体管MT的数据写入状况的信息丢失。也就是说,在读取动作结束之后,在锁存电路内,成为没有保持为使写入动作重新开始所需的数据的状态。因此,在第4实施方式中,序列发生器25在数据恢复动作中,将应写入存储单元晶体管MT的数据再次写入锁存电路内。由此,能够利用写入动作将最终应写入存储单元晶体管MT的数据恢复。
然而,在锁存电路内,仍然不存在关于存储单元晶体管MT在写入动作中断之前写入到哪一电平的信息。因此,在第4实施方式中,序列发生器25在重新开始写入动作后、进入最初的循环前执行预检验动作。因此,将关于存储单元晶体管MT写入到哪一电平的信息恢复到锁存电路内。由此,在执行写入动作的循环时,能够防止对已经完成写入的存储单元晶体管MT进而施加写入电压的误写入动作。
另外,为了进行此种数据的恢复,控制器10必须在写入动作的当初保持传送到半导体存储装置20的写入数据。由此,即使在写入动作中突然产生执行读取动作的必要的情况下,也能够使序列发生器25执行所述的数据恢复动作。
4.4第4实施方式的变化例
另外,第4实施方式的半导体存储装置并不限于所述的例子,能够应用各种变化。
例如,第4实施方式也可不进行数据备份动作而执行读取动作,且不进行数据恢复动作而重新开始写入动作。第4实施方式的变化例具体来说,例如应用于除读取数据以外,还必须产生锁存电路1个量的读取选项数据的情况。在第4实施方式的变化例的以下的说明中,说明作使用锁存电路ADL及SDL2个锁存电路执行读取动作。
图35是表示第4实施方式的变化例的半导体存储装置的伴随读取动作的嵌入的写入动作的概要的指令序列。
如图35所示,因为中断写入动作之前的序列与第1实施方式相同,所以省略说明。
在中断写入动作之后,不执行数据备份动作,而执行与第1实施方式相同的读取动作。在执行数据读取动作之后,不执行数据恢复动作,而执行与第1实施方式相同的写入重新开始动作。
图36是表示第4实施方式的变化例的半导体存储装置的数据备份动作及数据恢复动作的前后的锁存电路内的数据的变化的一例的表格。在图36中,在行方向上按时间序列显示从数据备份动作开始前到数据读取后的锁存电路内的数据的变化。
如图36所示,在开始数据备份动作前(写入动作刚中断后),在各锁存电路XDL、ADL、BDL、CDL、DDL、及SDL中,分别存储有高速缓存数据、下部数据、中部数据、上部数据、数据Q、及能够覆写的写入指示数据。
在数据读取动作中,在锁存电路SDL及ADL中,分别存储读取数据及读取选项数据。然后,将读取到锁存电路SDL的读取数据经由锁存电路XDL输出到控制器10。
在重新开始后的写入动作的第1次循环中,执行不考虑数据Q的编程动作。然后,基于该第1次循环的检验结果,产生数据Q。将所产生的数据Q存储到锁存电路DDL。利用所述的动作,将锁存电路XDL、ADL、BDL、CDL、DDL、及SDL内的数据全部恢复。然后,在第2次循环以后,执行第1写入动作。
依据第4实施方式的变化例的半导体存储装置,序列发生器25在读取动作中,对存储有数据Q的锁存电路DDL覆写读取选项数据。数据Q虽然能够缩窄写入动作的阈值电压的分布,但对于重新开始写入动作并非必须。因此,在重新开始后的第1次的循环中,虽然不能进行使用数据Q的第1写入动作,但序列发生器25不执行数据恢复动作及预检验动作,就能重新开始写入动作。另外,丢失的数据Q在写入动作重新开始后的最初的循环结束的时点,能够基于检验结果恢复。因此,在重新开始后的第2次循环以后的写入动作中,能够执行第1写入动作。
另外,在想要从重新开始后最初的循环执行第1写入动作的情况下,执行预检验动作即可。
5.其他变化例等