相关申请的交叉引用
本申请要求于2015年11月26日向韩国知识产权局提交的第10-2015-0166120号韩国专利申请的优先权,其全部内容通过引用并入本文。
本文中公开的本公开实施方式涉及半导体存储器,特别地,涉及非易失性存储器和包括非易失性存储器的存储装置。
背景技术:
存储装置是指在主机装置的控制下储存数据的装置,比如计算机、智能电话或智能平板电脑。存储装置包括在比如硬盘驱动器(hdd)的磁盘上储存数据的装置,或在半导体存储器,特别是非易失性存储器,比如固态驱动器(ssd)或存储卡,上储存数据的装置。
非易失性存储器包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存装置、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)或铁电ram(fram)。
与比如计算机、智能电话或智能平板电脑的存储装置通信的主机装置的运行速度随半导体制造技术发展而提高。此外,在主机装置和存储装置中使用的内容的大小与日俱增。为此,正不断地需要具有提高的运行速度的存储装置。
技术实现要素:
本公开的实施方式提供了具有提高的运行速度的非易失性存储器和包括该非易失性存储器的存储装置。
本公开实施方式的一个方面旨在提供一种存储装置。该存储装置包括非易失性存储器和控制器,控制器被配置为向非易失性存储器提供第一数据、地址和编程开始命令并在向非易失性存储器提供编程开始命令后向非易失性存储器提供第二数据。非易失性存储器被配置为响应于编程开始命令启动基于第一数据的编程操作,并在第二数据提供至非易失性存储器时基于第一数据和第二数据继续执行编程操作。编程操作包括多个编程循环,每个编程循环都包括使用不同验证电压重复的验证读取和应用验证读取的结果至每个存储单元的编程数据的转储。非易失性存储器被配置为基于第一数据执行第一编程循环的编程和验证读取,第一编程循环的验证读取使用一个验证电压执行。
本公开实施方式的另一方面旨在提供一种非易失性存储器。该非易失性存储器包括具有多个存储单元的存储单元阵列、通过位线与多个存储单元连接并被配置为储存从外部装置接收的第一数据的页缓冲器电路以及通过字线与多个存储单元连接并被配置为当在页缓冲器电路上加载第一数据时基于第一数据启动关于选自多个存储单元的存储单元连同页缓冲器电路的编程操作的页缓冲器电路。页缓冲器电路被配置为还在编程操作开始后储存从外部装置接收的第二数据。当在页缓冲器电路上加载第二数据时,页缓冲器电路和行解码器电路被配置为基于第一数据和第二数据继续执行编程操作。编程操作包括多个编程循环,其每个编程循环都包括使用不同验证电压重复的验证读取和应用验证读取的结果至每个存储单元的编程数据的转储。非易失性存储器被配置为基于第一数据执行第一编程循环的编程和验证读取,第一编程循环的验证读取使用一个验证电压执行。
本公开实施方式的另一方面旨在提供一种存储装置,其具有非易失性存储器和控制非易失性存储器的存储器访问操作的存储器控制器。存储器控制器向非易失性存储器提供地址、对应于地址的第一数据和编程开始命令。非易失性存储器响应于接收第一数据、地址和编程开始命令执行第一编程操作,其中对应于第一数据的编程电压施加至通过地址识别的非易失性存储器的存储单元。存储器控制器在执行第一编程操作时向非易失性存储器提供对应于地址的第二数据。
附图说明
通过参照下图的下文描述,上述及其他目标和特征将变得显而易见,其中相同的参考数字指的是贯穿多个附图的相同部分,除非另有说明,在附图中:
图1是示出根据本公开实施方式的存储装置的框图;
图2是示出通过非易失性存储器的编程控制单元和控制器的编程控制单元执行的编程操作的流程图;
图3是示出根据本公开实施方式的非易失性存储器的框图;
图4是示出根据本公开实施方式的页缓冲器电路的框图;
图5和图6是示出当从输入/输出线和就绪/忙碌信号的角度来看时根据本公开实施方式的编程操作的时序图;
图7示出了根据在存储单元处编程的数据分布存储单元的阈值电压的示例;
图8是示出根据本公开实施方式用于执行编程方法的流程的流程图;
图9是示出经过验证执行验证读取的方法的流程图;
图10示出了擦除状态的存储单元的阈值电压分布;
图11示出了在图10的存储单元处执行第一编程循环的过程;
图12示出了改自图10的存储单元的阈值电压的示例;
图13示出了遵循图11执行第二编程循环的过程;
图14示出了改自图12的存储单元的阈值电压的示例;
图15示出了当传输第二数据并随后执行第一编程循环的编程时的存储单元的阈值电压;
图16是示出执行图26的编程操作的编程循环的示例的示意图;
图17示出了当物理页包括三个逻辑页时执行根据本公开实施方式的编程操作的过程;
图18是示出当在每个存储单元处编程三个位时存储单元的阈值电压的示意图;
图19示出了当在每个存储单元处编程三个位时执行第一编程循环的过程;
图20是示出根据本公开实施方式的非易失性存储器的操作方法的流程图;
图21示出了执行图20中所示的编程操作的第一编程循环的过程;
图22示出了在第一编程循环中使用第一验证电压至第三验证电压执行验证读取的示例;
图23是示出执行图20的编程操作的编程循环的过程的时序图;
图24示出了当用于数据输入序列的时间增加时延迟第一转储的示例;
图25示出了由于数据加载时间的增加而产生持续间隔的示例;
图26是示出根据本公开实施方式的非易失性存储器的操作方法的应用的流程图;
图27是示出执行图26的编程操作的编程循环的示例的示意图;
图28是示出执行图26的编程操作的编程循环的过程的时序图;
图29是示出根据本公开实施方式的页缓冲器电路的应用的框图;
图30和图31示出了根据图26的编程操作改变页缓冲器电路的数据的示例;
图32示出了非易失性存储器通过读取在强制锁存器中储存第一数据的信息的示例;
图33和图34示出了使用强制读取结果还原第一数据锁存器的位的示例;
图35是示出根据本公开实施方式的非易失性存储器的操作方法的另一应用的流程图;
图36示出了当在每个存储单元处编程三个位时将位分配至擦除状态和第一编程状态至第七编程状态的示例;
图37是示出加载数据和执行编程循环的示例的示意图;
图38至图44示出了在重复编程循环时改变存储单元的阈值电压和锁存器中储存的位的示例;
图45示出了通过两个或多个编程操作编程存储单元的示例;
图46示出了通过两个或多个编程操作编程存储单元的另一示例;
图47是示出当在每个存储单元处编程四个位时的存储单元的阈值电压的示意图;
图48是示出由非易失性存储器的程序控制单元和控制器的程序控制单元执行的编程操作示例的流程图;
图49和图50是示出当从输入线/输出线和就绪/忙碌信号看时根据本公开实施方式的编程操作的时序图;
图51示出用于电压和用于过程的数据的时间线,其中基于图48的方法在存储单元执行第一编程循环;
图52和图53是示出当执行图51的编程操作的编程循环时存储单元的阈值电压改变的示例的示意图;
图54是用于电压和用于另一过程的数据的时间线,其中基于图48的方法在存储单元执行编程循环;
图55是示出当执行图54的编程操作的编程循环时存储单元的阈值电压改变的示例的示意图;
图56是用于电压和用于另一过程的数据的时间线,其中基于图48的方法在存储单元执行编程循环;
图57是用于电压和用于另一过程的数据的时间线,其中基于图48的方法在存储单元执行编程循环;
图58是示出根据本公开实施方式的存储块的电路图;
图59是示出根据本公开实施方式的控制器的框图;以及
图60是示出根据本公开实施方式的计算装置的框图。
具体实施方式
下面将根据附图详细描述本公开的实施方式,由此,本公开所属领域的普通技术人员将容易地实现本公开的范围和精神。
图1是示出根据本公开实施方式的存储装置100的框图。参照图1,存储装置100可包括非易失性存储器110、控制器120和随机访问存储器(ram)130。
非易失性存储器110可包括多个非易失性存储单元并可被配置为在控制器120的控制下执行关于非易失性存储单元的编程操作、读取操作和擦除操作。非易失性存储器110可通过输入/输出信道从控制器120接收命令和地址并可与控制器120交换数据。非易失性存储器110可向控制器120提供指示非易失性存储器110是否能够处理控制器120的请求的就绪/忙碌信号rnb。例如,当处于非易失性存储器100能够处理控制器120的请求的就绪状态时,非易失性存储器110可将就绪/忙碌信号rnb设置成高电平。例如,当处于非易失性存储器100正在执行内部操作的忙碌状态时,非易失性存储器110可将就绪/忙碌信号rnb设置成低电平。
非易失性存储器110可包括被配置为响应于控制器120的请求控制编程操作的编程控制单元pcu1。编程控制单元pcu1可响应于控制器120的请求执行编程操作。由编程控制单元pcu1控制的编程操作将参照图2进行描述。
控制器120可响应于外部主机装置(未示出)的控制来控制非易失性存储器110。例如,控制器120可控制非易失性存储器110的编程操作、读取操作和擦除操作。控制器120可通过输入/输出线dq向非易失性存储器110提供命令和地址,并可通过输入/输出线dq与非易失性存储器110交换数据。控制器120可基于由非易失性存储器110提供的就绪/忙碌信号控制非易失性存储器110。
控制器120可包括编程控制单元pcu2。编程控制单元pcu2可从非易失性存储器110请求编程操作并可控制编程操作。由编程控制单元pcu2控制的编程操作将参照图2进行描述。
控制器120可将ram130用作工作存储器、缓冲存储器或高速缓存。例如,控制器120可在ram130中储存从外部主机装置接收的数据,可向非易失性存储器110提供储存在ram130中的数据,并可从非易失性存储器110请求编程操作。控制器120可从非易失性存储器110请求读取操作,可在ram130中储存从非易失性存储器110接收的数据,并可输出储存在ram130中的数据至外部主机装置。
图2是示出由非易失性存储器110的编程控制单元pcu1和控制器120的编程控制单元pcu2执行的编程操作的流程图。参照图1和图2,在步骤s110中,控制器120可向非易失性存储器110提供第一数据。例如,第一数据可为待通过编程操作在存储单元处编程的数据的一部分。例如,第一数据可包括与在属于一个物理页的逻辑页当中的至少一个逻辑页相对应的数据。
在控制器120向非易失性存储器110提供第一数据后,在步骤120中,控制器120的编程控制单元pcu2可确认编程执行。在传输待通过编程操作编程的所有数据前,编程控制单元pcu2可请求非易失性存储器110启动编程操作。
当确认编程执行时,在步骤130中,非易失性存储器110的编程控制单元pcu1可基于第一数据启动编程操作。在编程操作开始后,非易失性存储器110的编程控制单元pcu1可将就绪/忙碌信号的状态从忙碌状态转换至就绪状态以通知控制器120可接收另外的数据。
在步骤140中,在非易失性存储器110上执行编程操作时,控制器120的编程控制单元pcu2可向非易失性存储器110提供第二数据。例如,第二数据可为待通过编程操作在存储单元处编程的其余数据。例如,第二数据可包括与在属于一个物理页的逻辑页当中的至少一个逻辑页相对应的数据。
在接收第二数据时,在步骤s150中,非易失性存储器110可基于第一数据和第二数据继续执行编程操作。例如,非易失性存储器110可基于第一数据和第二数据继续执行在步骤s130中启动的编程操作。
根据本公开的实施方式,编程操作可在待通过编程操作编程的数据的一部分,即第一数据,被发送至非易失性存储器110之后开始。待编程的其余数据,即第二数据,可在编程操作被执行时被提供至非易失性存储器110。因此,当第二数据被提供至非易失性存储器110时的时间可被遮蔽(shadow),从而减少执行存储装置100的编程操作所用的时间。
在一个实施方式中,步骤s110和步骤s150可连续执行。恰好在编程操作开始时(s120和s130),控制器120可提供第一数据(步骤s110)并可提供第二数据(s140)。即使非易失性存储器110在向其提供第一数据以及编程操作开始后将就绪/忙碌信号rnb设置至就绪状态,控制器120可不允许除提供第二数据外的其他访问操作。例如,可以存在非易失性存储器110对于控制器120请求的禁止访问操作,比如在提供第一数据(步骤s110)和提供第二数据(步骤s140)之间的另一编程操作、读取操作或擦除操作。例如,可以存在允许的控制操作,比如控制器120重置非易失性存储器110的操作,控制器120请求非易失性存储器110停止操作的操作,以及控制器120请求用于验证非易失性存储器110的状态的状态读取的操作。
图3是示出根据本公开实施方式的非易失性存储器110的框图。参照图1,非易失性存储器110可包括存储单元阵列111、行解码器电路113、页缓冲器电路115、通过-失败校验电路pfc、数据输入/输出电路117以及控制逻辑电路119。
存储单元阵列111可包括多个存储块blk1至blkz。存储块blk1至blkz的每一个都可包括多个存储单元。存储块blk1至blkz的每一个都可通过至少一个串选择线ssl、多个字线wl和至少一个地选择线gsl连接至行解码器电路113。存储块blk1至blkz的每一个都可通过多个位线bl连接至页缓冲器电路115。存储块blk1至blkz可共同连接至多个位线bl。存储块blk1至blkz中的存储单元可具有相同的结构。
在一个实施方式中,存储块blk1至blkz的每一个都可为擦除操作的单元。存储单元阵列111中的存储单元的擦除操作可通过存储块执行。属于存储块的存储单元可同时擦除。在另一实施方式中,每个存储块可分为多个子块。每个子块都可为擦除单元。
在一个实施方式中,存储块blk1至blkz的每一个都可包括由块地址划分的物理存储空间。字线wl的每一个都可对应于由行地址划分的物理存储空间。位线bl的每一个都可对应于由列地址划分的物理存储空间。
在一个实施方式中,每个存储块可包括多个物理页,其每一个都包括多个存储单元。物理页可指编程单元。物理页的存储单元可同时编程。物理页可包括两个或更多逻辑页。待在物理页的存储单元处编程的位可构成逻辑页。待在物理页的存储单元处编程的第一位可构成第一逻辑页。待在物理页的存储单元处编程的第k位(k为正整数)可构成第k逻辑页。
行解码器电路113可通过多个地选择线gsl、多个字线wl和多个串选择线ssl连接至存储单元阵列111。行解码器电路113可根据控制逻辑电路119的控制来操作。行解码器电路113可解码通过输入/输出信道从控制器120接收的地址并可基于解码的地址允许电压施加至串选择线ssl、字线wl和地选择线gsl。
例如,在编程操作期间,行解码器电路113可施加编程电压(例如vpgm)至通过地址选择的存储块中所选的字线并施加通过电压(例如vpass)至所选的存储块中未选的字线。在读取操作期间,行解码器电路113可施加选择读取电压(例如vrd)至所选的字线并施加非选择读取电压(例如vread)至所选的存储块中未选的字线。在擦除操作期间,行解码器电路113可施加擦除电压(例如地电压或其电平类似地电压电平的低电压)至由地址所选择的存储块中的字线。
页缓冲器电路115可通过位线bl连接至存储单元阵列111。页缓冲器电路115可通过多个数据线dl连接至数据输入输出电路117。页缓冲器电路115可在控制逻辑电路119的控制下运行。
在编程操作期间,页缓冲器电路115可在存储单元中储存待编程的数据。页缓冲器电路115可基于储存的数据施加电压至位线bl。例如,页缓冲器电路115可起写入驱动器的作用。在读取操作或验证读取期间,页缓冲器电路115可感测位线bl上的电压并可在其中储存感测的结果。例如,页缓冲器电路115可起感测放大器的作用。
在验证期间,通过-失败校验电路pfc可从页缓冲器电路115接收感测结果。通过-失败校验电路pfc可基于接收的感测结果确定通过或失败。例如,在编程验证期间,页缓冲器电路115可对已导通的导通单元的数量计数。当导通单元的数量大于或等于阈值时,pfc可确定验证失败。当导通单元的数量小于阈值时,pfc可确定验证通过。例如,在擦除验证期间,页缓冲器电路115可对截止单元的数量计数。当截止单元的数量大于或等于阈值时,pfc可确定验证失败。当截止单元的数量小于阈值时,pfc可确定验证通过。通过或失败确定结果可提供至控制逻辑电路119。
数据输入/输出电路117可通过数据线dl连接至页缓冲器电路115。数据输入/输出电路117可通过输入/输出信道输出由页缓冲器电路115读取的数据至控制器120并提供通过输入/输出信道从控制器120接收的数据至页缓冲器电路115。
控制逻辑电路119可通过输入/输出信道从控制器120接收命令并可通过控制信道从其接收控制信号。输入/输出信道可包括输入/输出线dq,而且控制信道可包括通过其传输就绪/忙碌信号rnb的线。控制逻辑电路119可响应控制信号接收通过输入/输出信道提供的命令,可路由通过输入/输出信道提供的地址至行解码器电路113,并可路由通过输入/输出信道提供的数据至数据输入/输出电路117。控制逻辑电路119可解码接收的命令并可基于解码的命令控制非易失性存储器110。
在控制逻辑电路119的控制下,编程操作、擦除操作和读取操作可关于每个存储块的存储单元执行。编程操作可包括多个编程循环。编程循环可重复直到编程操作被确定为通过。
每个编程循环可包括编程和验证。在编程中,页缓冲器电路115可基于待编程的数据施加电压至位线bl。例如,地电压或其电平类似地电压的电平的低电压可施加至对应其阈值电压要增高的存储单元的位线,供电电压可施加至其阈值电压不需要增高的存储单元(例如要禁止编程的存储单元)。行解码器电路113可施加编程电压至与所选存储单元连接的字线并可施加通过电压至其余的字线。在验证中可验证在编程中执行的编程操作的结果。验证可包括验证读取和通过-失败确定。在验证读取期间,页缓冲器电路115可施加供电电压或其电平类似供电电压的电平的正电压至位线bl或对应于待验证的存储单元的位线。行解码器电路113分别地可施加验证电压至与要验证的存储单元连接的字线并可施加读取通过电压至其余的字线。验证读取的结果可由页缓冲器电路115感测,感测结果可提供至pfc。在通过-失败确定期间,通过-失败校验电路pfc可基于验证读取的结果确定是否通过或失败。
在一个实施方式中,在非易失性存储器110的编程操作期间,非易失性存储器110可连续接收要在存储单元阵列111的所选物理页的存储单元处编程的所有位并可基于连续接收的位通过编程操作完成所选物理页的编程。完成编程可意味着将要在对应的物理页编程的所有位被编程为具有可读状态并且对应的物理页的额外编程被禁止。
读取操作可类似验证读取。在读取操作期间,页缓冲器电路115可施加供电电压或其电平类似供电电压的电平的正电压至位线bl或对应于待验证的存储单元的位线。行解码器电路113可施加读取电压至与要读取的存储单元连接的字线并可施加读取通过电压至其余的字线。读取操作的结果可由页缓冲器电路115感测并可通过数据输入/输出电路117输出。
擦除操作可包括多个擦除循环。擦除循环可重复直到擦除操作通过。每个擦除循环可包括擦除和验证。在擦除期间,行解码器电路113可施加地电压或其电平类似地电压的电平的低电压至与所选存储单元连接的字线。擦除电压可通过衬底施加至所选存储单元的信道。在验证期间可验证在擦除结果中执行的擦除操作的结果。验证可包括验证读取和通过-失败确定。在验证读取期间,页缓冲器电路115可施加供电电压或其电平类似供电电压的电平的正电压至位线bl或对应于待验证的存储单元的位线。行解码器电路113可施加擦除验证电压至与要验证的存储单元连接的字线。验证读取的结果可由页缓冲器电路115感测,感测结果可提供至pfc。在通过-失败确定期间,通过-失败校验电路pfc可基于验证读取的结果确定是否通过或失败。
编程控制单元pcu1可控制行解码器电路113、页缓冲器电路115和数据输入/输出电路117,以便根据参照图2描述的方法执行编程操作。
图4是示出根据本公开实施方式的页缓冲器电路115的框图。在一个实施方式中,图4中示出了对应位线bl的元件。参照图3和图4,页缓冲器电路115可包括控制电路cc、高速缓存锁存器cl、数据锁存器dl1和dl2以及感测锁存器sl。
控制电路cc可连接至数据线dl和位线bl。控制电路cc可在高速缓存锁存器cl上加载通过数据线dl传输的数据。控制电路cc可响应控制逻辑电路119的控制将高速缓存锁存器cl上加载的数据转储至数据锁存器dl1和dl2之一。控制电路cc可基于数据锁存器dl1和dl2上加载的数据或数据锁存器dl1和dl2及高速缓存锁存器cl上加载的数据设置感测锁存器sl。位线bl可根据设置至感测锁存器sl的值设置。
感测锁存器sl可根据位线bl的电压设置。控制电路cc可基于设置至感测锁存器sl的值设置数据锁存器dl1和dl2或锁存器dl1、dl2及高速缓存锁存器cl。控制电路cc可输出设置至数据锁存器dl1和dl2或设置至数据锁存器dl1和dl2及高速缓存锁存器cl的数据至数据线dl或通过-失败校验电路pfc。
在一个实施方式中,数据锁存器dl1和dl2的数量或锁存器dl1、dl2及高速缓存锁存器cl的数量可根据要在每个存储块的每个存储单元处编程的位的数量,即根据属于一个物理页的逻辑页的数量确定。
图5和图6是示出当从输入/输出线dq和就绪/忙碌信号rnb的角度看时根据本公开实施方式的编程操作的时序图。参照图1、3、4和5,在t1处,控制器120可通过输入/输出线dq传输第一序列s_p1in。例如,控制器120可传输数据输入命令c_din、地址addr_p、第一数据d_p1、转储命令c_dm和结束命令c_e1。数据输入命令c_din可为指示接收了待编程的数据的“80h”。地址addr_p可指示数据要在该处编程的存储单元,例如物理页的地址。第一数据d_p1可为属于对应地址addr_p的物理页的逻辑页中之一的数据。转储命令c_dm可为用于请求数据转储的命令并可为“c0h”。结束命令c_e1可为指示完全传输第一逻辑页的数据的“11h”。
在第一输入序列s_p1in进行时,非易失性存储器110可保持就绪/忙碌信号rnb处于高电平的就绪状态。内部就绪/忙碌信号irnb可指示编程是否在非易失性存储器中执行,独立于非易失性存储器110输出至控制器120的就绪/忙碌信号rnb。在第一输入序列s_p1in进行时,内部就绪/忙碌信号irnb可保持在高电平的就绪状态。
在第一输入序列s_p1in中,通过输入/输出线dq从控制器120提供至非易失性存储器110的第一数据d_p1可储存在高速缓存锁存器cl中。当通过输入/输出线dq接收转储命令c_dm和结束命令c_e1时,非易失性存储器110可转储高速缓存锁存器cl上加载的第一数据d_p1至第一数据锁存器dl1或第二数据锁存器dl2。在非易失性存储器110转储第一数据d_p1时,非易失性存储器110的内部就绪/忙碌信号irnb的状态可在t2处从高电平的就绪状态改变至低电平的忙碌状态。就绪/忙碌信号rnb的状态可从高电平的就绪状态改变至低电平的忙碌状态。当第一数据d_p1完全转储时,在t3处,内部就绪忙/碌信号irnb和就绪/忙碌信号rnb可从低电平的忙碌状态改变至高电平的就绪状态。
就绪忙碌信号rnb在t3处转变至高电平的就绪状态时,控制器120可执行确认序列s_cfm。例如,控制器120可通过输入/输出线dq顺序提供第一确认命令c_pc1、地址addr_p和第二确认命令c_pc2。第一确认命令c_pc1可指示确认序列s_cfm的开始并可为“88h”。地址addr_p可指示要在该处执行编程操作的存储单元,例如物理页的地址。第二确认命令c_pc2可指示确认序列s_cfm的结束并可为“15h”。
在通过输入输出线dq接收确认序列s_cfm时,在t4处,非易失性存储器110可启动第一编程循环的编程。非易失性存储器110的内部就绪/忙碌信号irnb可转变至低电平的忙碌状态。当第一编程循环的编程开始时,非易失性存储器110可使就绪/忙碌信号rnb转变至低电平的忙碌状态。当控制电路cc和高速缓存锁存器cl在第一编程循环的编程期间准备接收数据时,在t5处,非易失性存储器110可使就绪/忙碌信号rnb转变至高电平的就绪状态。
控制器120可在t5处就绪/忙碌信号rnb转变至高电平的就绪状态时执行第二数据输入序列s_p2in。例如,控制器120可顺序提供数据输入命令c_din、地址addr_p、第二数据d_p2和结束命令c_e2至非易失性存储器110。如在第一数据输入序列s_p1in中那样,控制器120可在第二数据输入序列s_p2in中提供第二数据d_p2至非易失性存储器110。第二数据d_p2可为要在对应地址addr_p的存储单元处编程的第二逻辑页的数据。此外,控制器120可提供结束命令c_e2至非易失性存储器110而不提供转储命令c_dm至非易失性存储器110。结束命令c_e2可为指示完全传输的第二逻辑页的数据的“12h”。
参照图1和3至6,当通过输入/输出线dq接收结束命令c_e2时,在t6处,要在对应地址addr_p的存储单元处编程的所有数据可加载在页缓冲器电路115上。因此,非易失性存储器110可通过使就绪/忙碌信号rnb转变至低电平的忙碌状态连续执行编程操作。例如,非易失性存储器110可执行第一编程循环的验证。例如,在接收待编程的所有数据后,非易失性存储器110可执行验证读取和通过-失败校验。
在连续执行编程操作时,在t7和t8之间,非易失性存储器110可基于第一数据d_p1和第二数据d_p2执行第二编程循环。在tk处,编程操作可在非易失性存储器110执行第n编程循环时结束。当编程操作结束时,非易失性存储器110的内部就绪/忙碌信号irnb和就绪/忙碌信号rnb的每一个都可转变至高电平的就绪状态。
在一个实施方式中,在第一编程循环的验证的执行中可能会需要第二数据d_p2。根据本公开实施方式,第一编程循环的编程操作可以与传输第二数据d_p2的操作并行地执行,而且第一编程循环的验证操作可以在向非易失性存储器110提供第二数据d_p2后执行。这将参照图8至9进行更充分的描述。
图7示出了根据在存储单元处被编程的数据来分布存储单元的阈值电压的示例。在图7中,横坐标代表阈值电压,纵坐标代表存储单元的数量。就是说,在图7中示出了编程的存储单元的阈值电压分布。
参照图7,当第一数据d_p1的位为“1”且第二数据d_p2的位为“1”时,即使执行了编程操作,存储单元也可保持擦除状态。当第一数据d_p1的位为“0”且第二数据d_p2的位为“1”时,在执行编程操作后,存储单元可具有第一编程状态p1。第一编程状态p1可使用第一验证电压vfy1验证。当第一数据d_p1的位为“0”且第二数据的位为“0”时,在执行编程操作后,存储单元可具有第二编程状态p2。第二编程状态p2可使用第二验证电压vfy2验证。当第一数据d_p1的位为“1”和第二数据d_p2的位为“0”时,在执行编程操作后,存储单元可具有第三编程状态p3。第三编程状态p3可使用第三验证电压vfy3验证。
根据本公开的实施方式,当遮蔽第二数据d_p2的传输时间时,第一编程循环的编程操作可并行于传输第二数据d_p2的操作执行,第一编程循环的验证操作可在第二数据d_p2提供至非易失性存储器110后执行。参照图8和9将更充分地描述在传输第二数据d_p2后执行第一编程循环的验证操作。
根据本公开的实施方式,为遮蔽第二数据d_p2的传输时间,控制器120可被配置为选取在对应最低阈值电压范围的状态(例如擦除状态e)和对应最低阈值电压范围之后的阈值电压范围的状态(例如第一编程状态p1)之间具有确定点dp1的数据作为要首次提供的第一数据d_p1。确定点dp1可指示最邻近的位的值彼此不同的点。例如,在第一数据d_p1中,擦除状态e可相当于“1”,第一编程状态p1可相当于“0”。因此,第一数据d_p1可选为要首次提供的数据。参照图10至16将更充分地描述确定点dp1。
图8是示出根据本公开实施方式用于执行编程方法的流程的流程图。参照图1、3和8,在步骤s210中,非易失性存储器110可接收第一数据d_p1和确认命令c_pc。
在步骤s220中,非易失性存储器110可通过施加编程电压至与所选的存储单元连接的字线执行编程。在步骤s230中,非易失性存储器110可停止编程操作并可等待直到接收第二数据d_p2。
如果接收了第二数据d_p2,在步骤s240中,非易失性存储器110可执行验证。如果如步骤s250中所确定的验证的结果为通过,编程操作可结束。如果如步骤250中所确定的验证的结果为失败,流程继续进行至编程电压增高的步骤s260。在步骤s270中,编程可通过施加编程电压至所选的字线执行。然后,流程继续进行至步骤s240以再次执行验证。
图9是示出经过验证执行验证读取的方法的流程图。参照图1、3、4和9,在步骤s310至s330中,验证读取可关于第一编程状态p1执行。在步骤s310中,非易失性存储器110可通过施加第一验证电压至与所选的存储单元连接的字线执行验证读取。验证读取结果可储存在感测锁存器sl中。在步骤s320中,选择转储可关于第一编程状态p1执行。例如,控制电路cc可初始化储存在连接至对应的位线的感测锁存器sl中的验证读取结果,其中储存在数据锁存器dl1和dl2的数据或储存在数据锁存器dl1和dl2及连接至对应的位线的高速缓存锁存器cl中的数据指示第二编程状态p2和第三编程状态p3。例如,控制电路cc可初始化感测锁存器sl以便储存在其中的验证读取结果指示失败。在步骤330中可执行禁止转储。例如,控制电路cc可将指示通过的信息储存至与感测锁存器sl当中的每个都储存对应通过的值的感测锁存器有关的数据锁存器dl1和dl2中、或与之有关的数据锁存器dl1和dl2及高速缓存锁存器cl。
在步骤s340至s360中,验证读取可关于第二编程状态p2执行。在步骤s340中,非易失性存储器110可通过施加第二验证电压vfy2至与所选的存储单元连接的字线执行验证读取。验证读取结果可储存在感测锁存器sl中。在步骤s350中可执行与第二编程状态p2有关的选择转储。例如,控制电路cc可初始化储存在连接至对应的位线的感测锁存器sl中的验证读取结果,其中储存在数据锁存器dl1和dl2的数据或储存在数据锁存器dl1和dl2及连接至对应的位线的高速缓存锁存器cl中的数据指示第三编程状态p3。例如,控制电路cc可初始化感测锁存器sl以便验证读取结果指示失败。在步骤360中可执行禁止转储。例如,控制电路cc可将指示通过的信息储存至与感测锁存器sl当中的每个都储存对应通过的值的感测锁存器有关的数据锁存器dl1和dl2中、或与之有关的数据锁存器dl1和dl2及高速缓存锁存器cl。
在步骤s370至s380中,验证读取可关于第三编程状态p3执行。在步骤370中,非易失性存储器110可通过施加第三验证电压vfy3至与所选的存储单元连接的字线执行验证读取。验证读取结果可储存在感测锁存器sl中。在步骤s380中可执行禁止转储。例如,控制电路cc可将指示通过的信息储存至与感测锁存器sl当中的每个都储存对应通过的值的感测锁存器有关的数据锁存器dl1和dl2中、或与之有关的数据锁存器dl1和dl2及高速缓存锁存器cl。
如上所述,指示第二编程状态p2和第三编程状态p3的信息是执行选择转储所需的,对应的信息可由于第一数据d_p1和第二数据d_p2两者存在而获得。因此,根据本公开实施方式的非易失性存储器110可执行第一编程循环的程序并可保留第一编程循环的验证直到接收了第二数据d_p2。
在图9举例说明的本公开的实施方式中,关于第一状态p1至第三状态p3顺序执行验证读取。然而,当第一编程状态p1至第三编程状态p3的至少一者通过时,与至少一个这样通过的编程状态有关的验证读取可跳过。
如图9中所示,第一编程状态p1的选择转储(步骤s320)可在执行使用第一验证电压vfy1的验证读取(步骤s310)后执行。因此,本公开的范围和精神可用于与第二数据d_p2的传输并行地执行使用第一编程循环的验证的第一验证电压vfy1的验证读取的情况,还有与第二数据d_p2的传输并行地执行第一编程循环的编程的情况。
图10示出了擦除状态的存储单元的阈值电压分布。在图10中,横坐标代表存储单元mc的阈值电压,纵坐标代表存储单元mc的数量。
参照图7和图10,参考符号“e_e”可指示在编程操作期间每个保持擦除状态e的存储单元。参考符号“e_p1”可指示从擦除状态e编程至第一编程状态p1的存储单元。参考符号“e_p2”可指示从擦除状态e编程至第二编程状态p2的存储单元。参考符号“e_p3”可指示从擦除状态e编程至第三编程状态p3的存储单元。
参考符号“w_e”可指示分别对应于擦除状态e的存储单元的阈值电压的范围。参考符号“w_p1”可指示分别对应于第一编程状态p1的存储单元的阈值电压的范围。参考符号“w_p2”可指示分别对应于第二编程状态p2的存储单元的阈值电压的范围。参考符号“w_p3”可指示分别对应于第三编程状态p3的存储单元的阈值电压的范围。
在执行编程操作前,存储单元e_e、e_p1、e_p2和e_p3可属于擦除状态e的阈值电压范围w_e。
图11示出了在图10的存储单元处执行第一编程循环的过程。在图11中,横坐标代表时间t,纵坐标代表通过输入/输出线dq传输的数据和施加至与所选的存储单元连接的字线的电压v。
参照图3、图7、图10和图11,在t1处,第一数据d_p1可通过输入/输出线dq提供至页缓冲器电路115。当完全接收第一数据d_p1时,页缓冲器电路115可基于第一数据d_p1设置位线bl。例如,对应于待编程(或保持)至擦除状态e的存储单元e_e和待编程(或保持)至第三编程状态p3的存储单元e_p3的位线可设置为禁止编程的。对应于待编程至第一编程状态p1的存储单元e_p1和待编程至第二编程状态p2的存储单元e_p2可设置为编程的。然后在t2处,行解码器电路113可施加编程电压vpgm至所选的字线。在编程电压vpgm施加至所选的字线的编程操作期间,第二数据d_p2可通过输入/输出线dq提供至页缓冲器电路115。
当完全接收第二数据d_p2时,在t3处,页缓冲器电路115可对位线bl预充电。例如,在使用第一验证电压vfy1的验证读取前,页缓冲器电路115可分别用供电电压或其电平类似于供电电压的电平的正电压将各自对应于待编程至第一编程状态p1的存储单元e_p1的位线充电。页缓冲器电路115可用地电压或其电平类似于地电压的电平的低电压将其余的位线充电或可使其余的位线浮动。然后,行解码器电路113可施加第一验证电压vfy1至所选的字线。
在页缓冲器电路115将对应于待编程至第二编程状态p2的存储单元e_p2充电后,行解码器电路113可施加第二验证电压vfy2至所选的字线。此外,在页缓冲器电路115将对应于待编程至第三编程状态p3的存储单元e_p3充电后,行解码器电路113可施加第三验证电压vfy3至所选的字线。
又例如,页缓冲器电路115可被配置为用供电电压或其电平类似于供电电压的电平的正电压将所有位线充电,而不考虑在验证电压vft1至vfy3之一施加至所选的字线前的编程状态p1至p3。
在图11中所示的第一编程循环进行时,图10中所示的存储单元的阈值电压可变为图12中所示的那样。参照图12,待编程至第一编程状态p1的存储单元e_p1和待编程至第二编程状态p2的存储单元e_p2的阈值电压可增高。根据第一d_p1,待编程至第三编程状态p3的存储单元e_p3可在第一编程循环中为禁止编程的,从而使得存储单元e_p3的阈值电压可增高。
图13示出了在图11之后执行第二编程循环的过程。参照图12和图13,待编程至第一编程状态p1的存储单元e_p1中的一部分mc_p的阈值电压可高于第一验证电压vfy1,其余的存储单元的阈值电压可低于或等于第一验证电压vfy1。因此,存储单元e_p1中的存储单元mc_p可设置成“编程禁止”,其他可设置成“编程”。待编程至第二编程状态p2的存储单元e_p2和待编程至第三编程状态p3的存储单元e_p3都可处于失败状态。因此,存储单元e_p2和e_p3可设置成“编程”。然后,增高的编程电压vpgm可在t4处施加至所选的字线。
在增高的编程电压vpgm施加至所选的字线时,图12中所示的存储单元的阈值电压可变为如图14中所示。参照图14,待编程至第二编程状态p2的存储单元e_p2和待编程至第三编程状态p3的存储单元e_p3的阈值电压可增高。因为待编程至第一编程状态p1的存储单元e_p1中的一部分mc_p的阈值电压不增高,即使存储单元e_p1的阈值电压增高,分布宽度也可减小。
图15示出了当传输第二数据d_p2并随后执行第一编程循环的编程时的存储单元的阈值电压。如图7中所示,在第二数据d_p2中,擦除状态e和第一编程状态p1中的每个都可对应于“1”,第二编程状态p2和第三编程状态p3中的每个都可对应于“0”。因此,当基于第二数据d_p2执行第一编程循环时,待编程至第二编程状态p2的存储单元e_p2和待编程至第三编程状态p3的存储单元e_p3可编程,待编程至第一编程状态p1的存储单元e_p1可禁止编程。因此,如图15所示,存储单元e_p3和e_p2的阈值电压可增高,而存储单元e_p1的阈值电压可不增高。
在图12的实施方式中,当在第一编程状态p1和第二编程状态p2不能区分开且存储单元mc_p不能禁止编程的情况下增高的编程电压在第二编程循环中施加至所选的字线时,图12中示出的存储单元mc_p可用增高的编程电压编程。在此情况下,存储单元mc_p可为过度编程的。为防止存储单元mc_p过度编程,如图16中所示,第二编程循环的编程电压vpgm可不增高。就是说,如果先于第一数据d_p1提供第二数据d_p2至非易失性存储器110并执行编程操作,编程循环可使用相同的编程电压vpgm执行两次。因此,编程时间可不减反增。
根据本公开的实施方式,控制器120可被配置为向非易失性存储器110提供逻辑页的数据,其中对应于最低阈值电压范围的状态的位值,例如擦除状态e的位值,和对应于遵循最低阈值电压范围的阈值电压范围的状态的位值,例如第一编程状态p1的位值,彼此不同。因此,待编程至最低编程状态p1的存储单元e_p1在第一编程循环中编程并验证,编程循环的执行时间可由第二数据d_p2的传输时间遮蔽。
再例如,为改进存储单元的可靠性,如图15中所示,可先于第一数据d_p1的编程加载第二数据d_p2,并且编程操作可开始。第二数据d_p2可加载在页缓冲器电路115上而编程操作的第一编程循环可基于第一数据d_p1执行。在此情况下,在待编程至第二编程状态p2的存储单元e_p2的阈值电压和待编程至第三编程状态p3的存储单元e_p3的阈值电压如图15中所示的增高后,编程循环可再次使用相同的编程电压vpgm执行。例如,编程操作可在用于增高如图15中所示的存储单元e_p2和e_p3的阈值电压的预定编程后执行。
在此情况下,当存储单元e_p2和e_p3的阈值电压如图15中所示增高时,存储单元e_p1经历的耦合或其他干扰可在存储单元e_p1编程至第一编程状态p1时取消。就是说,可加载第一数据d_p1,并在编程操作开始后,加载第二数据d_p2,从而减少在编程操作期间发生的耦合或其它干扰。这可意味着在存储单元处编程的数据的完整性得以改善。
图17示出了当物理页包括三个逻辑页时执行根据本公开实施方式的编程操作的过程。在图17中,横坐标可指示时间。参照图1、图3和图17,在t1处,控制器120可通过输入/输出线dq提供第一数据输入序列s_p1in至非易失性存储器110。第一数据输入序列s_p1in可包括第一逻辑页的数据。第一逻辑页可在擦除状态e和最低编程状态p1之间具有确定点dp1。
在t2处,非易失性存储器110可基于第一数据输入序列s_p1in执行转储。在非易失性存储器110的转储期间,内部就绪/忙碌信号irnb和就绪/忙碌信号rnb可转变至低电平的忙碌状态。当转储完成时,在t3处,非易失性存储器110可使就绪/忙碌信号rnb转变至高电平的就绪状态。内部就绪/忙碌信号irnb也可转变至高电平的就绪状态。
在就绪/忙碌信号rnb转变至高电平的就绪状态时,控制器120可通过输入/输出线dq提供确认序列s_cfm至非易失性存储器110。在t4处,非易失性存储器110可启动编程操作,内部就绪/忙碌信号irnb和就绪/忙碌信号rnb可转变至低电平的忙碌状态。内部就绪/忙碌信号irnb可保持在低电平直到完成编程操作,就绪/忙碌信号rnb可在非易失性存储器110准备接收数据时转变至高电平的就绪状态。
在就绪/忙碌信号rnb转变至高电平时,在t5处,控制器120可通过输入/输出线dq提供第二数据输入序列s_p2in至非易失性存储器110。第二数据输入序列s_p2in可包括第二逻辑页的数据。在第二数据输入序列s_p2in进行时,非易失性存储器110可执行第一编程循环的编程。
当第二数据输入序列s_p2in完成时,非易失性存储器110可转储第二数据d_p2。在非易失性存储器110转储第二数据d_p2时,就绪/忙碌信号rnb可在时间t6处转变至低电平。当转储完成时,非易失性存储器110可使就绪/忙碌信号rnb转变至高电平。
在就绪/忙碌信号rnb转变至高电平时,在t7处,控制器120可通过输入/输出线dq提供第三数据输入序列s_p3in至非易失性存储器110。第三数据输入序列s_p3in可包括第三逻辑页的数据。
在一个实施方式中,非易失性存储器110可具有保持编程操作的持续间隔,直到第一编程循环的编程执行并接收所有逻辑页的数据。
当第三数据输入序列s_p3in完成时,在t8处,非易失性存储器110可执行第一编程循环的的验证。然后,非易失性存储器110可在t9和t10之间执行第二编程循环。在tk处,非易失性存储器110可执行第n编程循环并可结束编程操作。
在一个实施方式中,持续间隔可发生在存储单元处编程两个位的情况下和即使在完成第一编程循环的编程后也没完成第二数据的加载的情况下。例如,直到在完成第一编程循环的编程后完成第二数据的加载,非易失性存储器110可具有不执行另一操作而等待第二数据的加载的持续间隔。
本公开的范围和精神可不限于一个物理页包括两个或三个逻辑页的情况。例如,本公开的范围和精神可扩展到包括一个物理页中包括m个逻辑页(m为正整数)的情况。例如,本公开的范围和精神可扩展到包括在一个物理页处编程m个位的情况。编程操作可在提供至少一个页的数据至非易失性存储器110后开始。例如,第一编程循环的编程可在非易失性存储器110处执行。可在提供其余的逻辑页的数据至非易失性存储器110后继续编程操作。例如,可执行第一编程循环的验证和在第一编程循环之后的其余编程循环。
在上述实施方式中,本公开的实施方式以在每个存储单元处编程两个位的示例进行说明。然而,本公开的范围和精神可不限于此。
图18是示出了当在每个存储单元处编程三个位时的存储单元mc的阈值电压的示意图。图19示出了当在每个存储单元处编程三个位时执行第一编程循环的过程。在图18中,横坐标代表阈值电压,纵坐标代表存储单元的数量。在图19中,横坐标代表时间t,纵坐标代表通过输入/输出线dq传输的数据和施加至与所选的存储单元连接的字线的电压。
参照图3、图18和图19,每个存储单元可具有擦除状态e和第一状态p1至第七状态p7的其中之一。为编程存储单元,对应于三个页的数据d_p1、d_p2和d_p3可加载在页缓冲器电路115上。三个数据锁存器dl(参照图4)可连接至一个位线bl。分别对应于三个页的三个位可分别加载在三个数据锁存器dl上。
在一个实施方式中,如根据图7、图12、图13和图14所述,页的数据(其中对应于擦除状态e的位和对应于第一编程状态p1的位彼此不同)可首先加载在页缓冲器电路115上作为第一数据d_p1。其余两个页的数据d_p2和d_p3可在执行编程操作的第一编程循环的编程时加载在页缓冲器电路115上。
在一个实施方式中,如根据图7、图15和图16所述,页的数据(其中对应于擦除状态e的位和对应于第一编程状态p1的位彼此相同)可在时间t1首先加载在页缓冲器电路115上作为第一数据d_p1。例如,其中第七编程状态p7(例如最高编程状态)或第六编程状态(例如正好毗邻最高编程状态的较低编程状态)的位不是指示编程禁止而是指示编程的页的数据可首先加载在页缓冲器电路115上作为第一数据d_p1。其余两个页的数据d_p2和d_p3可在执行编程操作的第一编程循环的编程时分别在时间t2和t3加载在页缓冲器电路115上。验证操作vfy1至vfy7可在时间t4执行,随后的编程操作在时间t5执行。
在一个实施方式中,存储单元的编程可通过来自擦除状态的一个编程操作完成。完成编程可意味着写入了要在存储单元处写入的所有位并禁止了与存储单元有关的其他编程。本公开的范围和精神可用于存储单元通过一个编程操作编程的情况或当编程操作重复两次或更多时编程完成的情况。
图20是示出根据本公开实施方式的非易失性存储器110的操作方法的流程图。参照图1、图3、图7和图20,在步骤410中,非易失性存储器110可从控制器120接收第一数据。例如,页的数据可通过数据输入/输出电路117加载在页缓冲器电路115上。第一数据可在擦除状态e和最低编程状态p1之间具有确定点dp1。
在步骤s420中,非易失性存储器110可执行编程操作的第一编程循环的编程。在步骤s430中,非易失性存储器110可执行第一编程循环的验证读取。
在步骤s440中,可确定是否接收了第二数据。例如,可确定第二页的数据或其余页的数据是否加载在页缓冲器电路115上。当到执行第一编程循环的编程和验证读取为止第二数据也没有被加载在页缓冲器电路115上时,非易失性存储器110可停止编程操作并可等待直到接收第二数据。在一个实施方式中,因为第一数据在擦除状态e和最低编程状态p1之间具有确定点,对应于最低编程状态p1的存储单元的阈值电压可增高。因此,使用对应于最低编程状态p1的第一验证电压vfy1执行的验证读取可为有效的。
在步骤s450中,非易失性存储器110可执行第一编程循环的选择转储和禁止转储。如根据图9所述,第二数据可为执行选择转储和禁止转储所需要的。因此,非易失性存储器110可在第二数据加载在页缓冲器电路115上后执行第一编程循环的选择转储和禁止转储。
在步骤s460中,非易失性存储器110可基于第一数据和第二数据继续执行编程操作。
相比于图8的编程操作,非易失性存储器110的编程操作还可包括基于第一数据执行的验证读取。当接收第二数据时,非易失性存储器110可使用第一数据和第二数据执行与验证读取结果有关的选择转储和禁止转储。因此,在页缓冲器电路115上加载第二数据所用的时间可由执行验证读取所用的时间遮蔽。
图21示出了执行图20中所示的编程操作的第一编程循环的过程。在图21中,横坐标代表时间t,纵坐标代表通过输入/输出线dq传输的数据和施加至与所选的存储单元连接字线的电压v。
参照图3和图21,在t1处,第一数据d_p1可通过输入/输出线dq提供至页缓冲器电路115。当完全接收第一数据d_p1时,页缓冲器电路115可基于第一数据d_p1设置位线bl。在t2处,行解码器电路113可施加编程电压vpgm至所选的字线。在t3处,页缓冲器电路115可对位线bl预充电,行解码器电路113可施加第一验证电压vfy1至所选的字线。在编程电压vpgm施加至所选的字线且第一验证电压vfy1施加至此时,第二数据d_p2可通过输入/输出线dq提供至页缓冲器电路115。
第一转储dmp1可在第二数据d_p2加载在页缓冲器电路115上且使用第一验证电压vfy1的验证读取完成时执行。第一转储dmp1可包括选择转储,选择转储用于选取对应于待编程至与第一验证电压vfy1有关的编程状态的存储单元的验证读取结果。第一转储dmp1还可包括执行禁止转储,禁止转储执行为应用由选择转储所选的验证读取结果至页缓冲器电路115的数据锁存器dl(参照图4)。
然后,在t4处,第二编程循环可基于第一数据d_p1和d_p2执行。在第二编程循环中,在时间t4施加编程电压vpgm的编程,施加第一验证电压vfy1至第三验证电压vfy3的验证读取可在时间t5执行。在施加第一验证电压vfy1后和施加第二验证电压vfy2前,可执行包括选取与第一验证电压vfy1有关的验证读取结果的选择转储和应用所选的验证读取结果的禁止转储的第一转储dmp1。在施加第二验证电压vfy2后和施加第三验证电压vfy3前,可执行包括选取与第二验证电压vfy2有关的验证读取结果的选择转储和应用所选的验证读取结果的禁止转储的第二转储dmp2。在施加第三验证电压vfy3后,可执行包括应用验证读取结果的禁止转储的第三转储dmp3。
在一个实施方式中,由于在第一编程循环中处于与第二验证电压vfy2有关的编程状态和与第三验证电压vfy3有关的编程状态发生禁止编程的可能性很低,可在第一编程循环中跳过使用第二验证电压vfy2和第三验证电压vfy3的验证读取。然而,本公开的范围和精神可不限于此。例如,如图22中所示,使用第一验证电压vfy1至第三验证电压vfy3的验证读取和第一转储dmp1至第三转储dmp3可在第一编程循环中执行。
图23是示出执行图20的编程操作的编程循环的过程的时序图。在图23中,横坐标可指示时间。参照图1、图3、图7、图20和图23,在t1处,控制器120可通过输入/输出线dq提供第一数据输入序列s_p1in至非易失性存储器110。第一数据输入序列s_p1in可包括第一逻辑页的数据。第一逻辑页可在擦除状态e和最低编程状态p1之间具有确定点dp1。
在t2处,非易失性存储器110可基于第一数据输入序列s_p1in执行转储。在非易失性存储器110的转储期间,内部就绪/忙碌信号irnb和就绪/忙碌信号rnb可转变至低电平的忙碌状态。当转储完成时,在t3处,非易失性存储器110可使就绪/忙碌信号rnb转变至高电平的就绪状态。内部就绪/忙碌信号irnb也可转变至高电平的就绪状态。
在就绪/忙碌信号rnb在时间t3转变至高电平的就绪状态时,控制器120可通过输入/输出线dq提供确认序列s_cfm至非易失性存储器110。在t4处,非易失性存储器110可启动编程操作,内部就绪/忙碌信号irnb和就绪/忙碌信号rnb可转变至低电平的忙碌状态。内部就绪/忙碌信号irnb可保持在低电平直到完成编程操作,就绪/忙碌信号rnb可在非易失性存储器110准备接收数据时转变至高电平的就绪状态。
在就绪/忙碌信号rnb转变至高电平时,控制器120通过输入/输出线dq提供第二数据输入序列s_p2in至非易失性存储器110。第二数据输入序列s_p2in可包括第二逻辑页的数据。在第二数据输入序列s_p2in进行时,在第一编程循环中,非易失性存储器110可分别在t4和t5处执行编程pgm_l1和使用第一验证电压vfy1的验证读取vr_l1。
在第二数据输入序列s_p2in在t6处结束时,就绪/忙碌信号rnb可从低状态转变至高状态。当第一编程循环的验证读取vr_l1在t7处结束时,可执行第一编程循环的其余验证v_l1。例如,如图21中所示,其余验证v_l1可包括第一转储dmp1和通过-验证校验。例如,如图22中所示,其余验证v_l1可包括第一转储dmp1、使用第二验证电压vfy2的验证读取、第二转储dmp2、使用第三验证电压vfy3的验证读取、第三转储dmp3和通过-失败校验。
然后,第二编程循环l2可在t8处执行,编程操作可继续。
图24示出了当用于数据输入序列的时间增加时延迟第一转储的示例。在图24中,横坐标代表时间t,纵坐标代表通过输入/输出线dq传输的数据和施加至与所选的存储单元连接的字线的电压v。
在图24中示出的当加载第一数据d_p1时的时间和加载第二数据d_p2时的时间长于图21中的那些时间。例如,即使在完成使用第一验证电压vfy1的验证读取后,第二数据d_p2仍可继续。第一转储dmp1可延迟至完全加载第二数据d_p2。例如,第一转储dmp1可延迟至完成使用第一验证电压vfy1的验证读取。
图25示出了由于数据加载时间的增加而产生持续间隔的示例。在图25中,横坐标可指示时间。在图25中示出的用于第一数据输入序列s_p1in的时间和用于第二数据输入序列s_p2in的时间长于图23中的那些时间。例如,即使关于第一编程循环在完成编程pgm_l1和使用第一验证电压vfy1的验证读取vr_l1之后,第二数据输入序列s_p2in仍可继续。例如,第二数据输入序列s_p2in可继续直到t7。在t6和t7之间,非易失性存储器110可具有除第二数据输入序列s_p2in外不执行任何其他操作的持续间隔hi。
当第二数据输入序列s_p2in完成时,可在t7处执行第一编程循环的其余验证v_l1,可在t8处执行第二编程循环l2。
在一个实施方式中,如根据图17所述,即使用于数据输入序列的时间不增加,当数据输入序列的数量增加时仍可产生持续间隔。
图26是示出根据本公开实施方式的非易失性存储器的操作方法应用的流程图。参照图1、图3、图7和图26,在步骤s510中,非易失性存储器110可从控制器120接收第一数据。例如,页的数据可通过数据输入/输出电路117加载在页缓冲器电路115上。第一数据可在擦除状态e和最低编程状态p1之间具有确定点dp1。
在步骤s520中,非易失性存储器110可基于第一数据执行编程循环并可备份第一数据。在一个实施方式中,编程循环可包括使用对应于确定点dp1的第一验证电压vfy1的验证读取、和基于第一数据将验证读取结果的一部分应用于数据锁存器dl(参见图4)的部分转储。部分转储可包括将验证读取结果应用于数据锁存器dl的禁止转储。在一个实施方式中,因为编程和验证读取基于第一数据执行,而第二数据未加载,部分转储可不包括选择转储。
在步骤s530中,非易失性存储器110可重复步骤s520的编程循环直至加载第二数据。
当第二数据完全加载时,在步骤s540中,非易失性存储器110可基于备份的第一数据还原第一数据。例如,非易失性存储器110可还原存储单元的数据锁存器dl的数据,这些存储单元并不是要从通过第一验证电压vfy1禁止编程的存储单元中使用第一验证电压vfy1验证的存储单元。
在步骤s550中,非易失性存储器110可基于第一数据和第二数据继续执行编程操作。
图27是示出执行图26的编程操作的编程循环的示例的示意图。在图27中,横坐标代表时间t,纵坐标代表通过输入/输出线dq传输的数据和施加于连接至所选存储单元的字线的电压v。
参照图3、图26和图27,在t1处,第一数据d_p1可通过输入/输出线dq提供至页缓冲器电路115。当完全接收第一数据d_p1时可执行第一编程循环。例如,页缓冲器电路115可基于第一数据d_p1设置位线bl。在t2处,行解码器电路113可施加编程电压vpgm至所选的字线。在t3处,页缓冲器电路115可对位线bl预充电,行解码器电路113可施加第一验证电压vfy1至所选的字线。然后可执行第一部分转储pdmp1。
第二数据d_p2可不完全加载直至完成第一编程循环。此时,非易失性存储器110可启动第二编程循环而不等待加载第二数据d_p2。例如,编程电压vpgm可在t6处施加至所选的字线。
在一个实施方式中,在执行第二编程循环的编程时可完全加载第二数据d_p2。非易失性存储器110可使用第一数据和第二数据的备份数据还原数据锁存器dl(参见图4)的数据。非易失性存储器110可在时间t7基于第一数据和第二数据使用第一验证电压vfy1至第三验证电压vfy3和第一转储dmp1至第三转储dmp3执行验证读取。
在一个实施方式中,在图27中,本公开的实施方式示例为,在编程循环的执行期间完全加载第二数据d_p2时,立即应用第二数据d_p2至编程操作而无延迟。然而,第二数据d_p2可应用至来自在执行编程循环完成后的下一编程循环的编程操作。例如,非易失性存储器110可使用第一验证电压vfy1和第一部分转储pdmp1执行验证读取并可结束第二编程循环。然后,非易失性存储器110可使用第一数据和第二数据执行来自第三编程循环的编程和验证。
图28是示出执行图26的编程操作的编程循环的过程的时序图。在图28中,横坐标可指示时间。参照图1、图3、图7、图26和图28,在t1处,控制器120可通过输入/输出线dq向非易失性存储器110提供第一数据输入序列s_p1in。第一数据输入序列s_p1in可包括第一逻辑页的数据。第一逻辑页可在擦除状态e和最低编程状态p1之间具有确定点dp1。
在t2处,非易失性存储器110可基于第一数据输入序列s_p1in执行转储。在非易失性存储器110转储期间,内部就绪/忙碌信号irnb和就绪/忙碌信号rnb可转变至低电平的忙碌状态。当转储完成时,在t3处,非易失性存储器110可使就绪/忙碌信号rnb转变至高电平的就绪状态。内部就绪/忙碌信号irnb也可转变至高电平的就绪状态。
当就绪/忙碌信号rnb转变至高电平的就绪状态时,控制器120可通过输入/输出线dq向非易失性存储器110提供确认序列s_cfm。在t4处,非易失性存储器110可启动编程操作,内部就绪/忙碌信号irnb和就绪/忙碌信号rnb可转变至低电平的忙碌状态。内部就绪/忙碌信号irnb可保持在低电平直到完成编程操作,而当非易失性存储器110在时间t5处准备接收数据时,就绪/忙碌信号rnb可转变至高电平的就绪状态。
当就绪/忙碌信号rnb转变至高电平时,在t5处,控制器120可通过输入/输出线dq向非易失性存储器110提供第二数据输入序列s_p2in。第二数据输入序列s_p2in可包括第二逻辑页的数据。在第二数据输入序列进行时,非易失性存储器110可分别地在t4处执行第一编程循环l1和在t6处执行第二编程循环l2。
当第二数据输入序列s_p2in在t7处结束时,就绪/忙碌信号rnb可从低态转变至高态。此外,非易失性存储器110可在时间t7处基于第一数据和第二数据执行第三编程循环l3。
图29是示出根据本公开的实施方式的页缓冲器电路115的应用115’的框图。相比于图4的页缓冲器电路115,图29的页缓冲器电路115’还可包括连接至位线的强制锁存器fl和不同于图4的控制电路cc的控制电路cc’,控制电路cc’另外控制强制锁存器fl。非易失性存储器110可被配置为在强制锁存器fl中备份第一数据。
图30和图31示出了根据图26的编程操作改变页缓冲器电路115’的数据的示例。在一个实施方式中,在图30和图31中示出了分别对应于第一位线bl1至第四位线bl4的电路115’_1至115’_4的锁存器的值。
参照图30的第一状态s1,可假设“1”和“1”分别加载在与第一位线bl1有关的第一锁存器dl1和第二锁存器dl2上。可假设“0”和“1”分别加载在与第二位线bl2有关的第一锁存器dl1和第二锁存器dl2上。可假设“0”和“0”分别加载在与第三位线bl3有关的第一锁存器dl1和第二锁存器dl2上。可假设“1”和“0”分别加载在与第四位线bl4有关的第一锁存器dl1和第二锁存器dl2上。
第一状态s1可为仅加载第一数据的状态。例如,“1001”的第一数据可加载在电路115’_1至115’_4的第一数据锁存器dl1上。第二数据可尚未加载在第二锁存器dl2上。因此,第二数据锁存器dl2的位被示出为用点填充并被示出以便参考。
电路115’_1至115’_4的强制锁存器fl可被配置为备份第一数据。因此,在第一状态s1中,强制锁存器fl的位可为“1001”,其与第一数据锁存器dl1中的位相同。
在第一状态s1中,编程循环可基于第一数据锁存器dl1的位重复。当重复编程循环时,分别对应于每个储存“0”的第一数据锁存器dl1的存储单元的阈值电压可增高。例如,分别对应于第二位线bl2和第三位线bl3的存储单元的阈值电压可增高。当存储单元的阈值电压高于第一验证电压vfy1时,存储单元可为禁止编程的。例如,相应的存储单元的验证读取结果可为“1”。对应于“1”的验证读取结果可通过部分转储应用至第一数据锁存器dl1。就是说,在分别对应于待被编程至第一编程状态p1和第二编程状态p2(即分别为两个或多个编程状态)的存储单元的第二位线bl2和第三位线bl3中,根据第一验证电压(即根据一个验证电压)的验证读取结果可通过部分转储来施加。
第二状态s2可示出分别对应于第二位线和第三位线的验证读取结果为禁止编程的示例。例如,当分别对应于第二位线bl2和第三位线bl3的存储单元的阈值电压高于第一验证电压vfy1时,验证读取结果可指示禁止编程。验证读取结果可通过部分转储应用至第一数据锁存器dl1。在一个实施方式中,可用指示禁止编程的“1”更新与第二位线bl2和第三位线bl3有关的第一数据锁存器dl1。
参照图31的第三状态s3,第二数据可加载在第二数据锁存器dl2上。在第三状态s3中,移除了第二数据锁存器dl2的值的点。
然后,在第四状态s4中,可基于在第二数据锁存器dl2上加载的位和在强制锁存器中备份的位还原第一数据锁存器dl1的数据。
在一个实施方式中,在基于第一数据的编程循环中,对应于第一编程状态p1和第二编程状态p2的存储单元的阈值电压可增高。可使用第一验证电压vfy1验证对应于第一编程状态p1和第二编程状态p2的存储单元。就是说,对应于第一编程状态p1和第二编程状态p2的存储单元可在基于第一数据的编程循环中验证并可为禁止编程的。例如,第一数据锁存器dl1的位可用“1”更新。
当通过第一验证电压vfy1更新待编程至第二编程状态p2的每个存储单元的第一数据锁存器dl1的位时,待编程至第二编程状态p2的存储单元通常可不编程。例如,当待编程至第二编程状态p2的存储单元具有编程至第一编程状态p1的状态时,待编程至第二编程状态p2的存储单元可为编程通过的。
根据本公开的实施方式,在第二数据锁存器dl2上加载位之后,第一数据锁存器dl1的位可根据第二数据锁存器dl2的位和强制锁存器fl的位还原或更新。例如,“1”位、“0”位和“0”位可分别储存在与待编程至第二编程状态p2的存储单元中通过第一验证电压vfy1禁止编程的存储单元有关的第一数据锁存器dl1、第二数据锁存器dl2和强制锁存器fl中。当“1”位、“0”位和“0”位分别储存在第一数据锁存器dl1、第二数据锁存器dl2和强制锁存器fl中时,页缓冲器电路115’可被配置为将第一数据锁存器dl1的位还原、更新或反转为“0”。
与基于第一数据编程的存储单元有关的第一数据锁存器dl1的位通过使用第一验证电压vfy1执行的验证禁止编程,并且不与第一验证电压vfy1对应,即,第三位线bl3的第一数据锁存器dl1的位可还原至原始位或可反转。当反转第一数据锁存器dl1的位时,在接下来的编程循环中,对应第三位线bl3的存储单元可通过第二验证电压vfy2验证,而不是通过第一验证电压vfy1。
如上所述,当基于第一数据重复编程循环时,用第一数据编程的存储单元的阈值电压可增高至第一编程状态p1。当加载第二数据时,可更新数据锁存器以便将在待编程至高于第一编程状态p1的编程状态的存储单元中在第一编程状态p1下禁止编程的存储单元进一步编程。此外,当加载第二数据时,在基于第一数据禁止编程的存储单元中待编程至编程状态的存储单元可设置以进行编程。因此,即使编程循环基于第一数据重复,当加载第二数据并执行编程循环时,存储单元通常可编程至其目标状态。此外,因为加载第二数据时的时间由一个或多个编程循环遮蔽,可提高存储装置100和非易失性存储器110的运行速度。
图32示出了非易失性存储器通过读取在强制锁存器fl中储存第一数据的信息的示例。在一个实施方式中,非易失性存储器110可通过在验证读取期间执行附加读取(以下称为“强制读取”)而不在强制锁存器fl中备份第一数据来在强制锁存器fl中储存第一数据的信息。
参照图3、图26、图29和图32,在步骤610中,非易失性存储器110可使用第一验证电压vfy1执行验证读取。在步骤s620中,非易失性存储器110可通过禁止转储应用验证读取结果至第一数据锁存器dl1。在一个实施方式中,可基于加载在第一数据锁存器dl1上的位执行编程,并且可不执行选择转储,因为在第二数据锁存器dl2上不加载位。
在步骤s630中,非易失性存储器110可使用强制电压vf执行强制读取。例如,强制电压vf可在电平方面类似于第一验证电压vfy1。例如,强制电压vf可在电平方面低于第一验证电压vfy1。
在步骤s640中,非易失性存储器110可通过强制转储将强制读取结果转储至强制锁存器fl。转储至强制锁存器fl的强制读取结果可如根据图30和图31所述用于还原第一数据锁存器dl1的位。
图33和图34示出了使用强制读取结果还原第一数据锁存器dl1的位的示例。在图33中,横坐标代表阈值电压,纵坐标代表存储单元的数量。
参照图3、图26、图29和图32,强制电压vf的电平可低于第一验证电压vfy1的电平。当基于第一数据执行编程循环时,分别对应于每个储存“0”的第一数据锁存器dl1的存储单元的阈值电压可增高。参照图12,待编程至第一编程状态p1的存储单元e_p1和待编程至第二编程状态p2的存储单元e_p2的阈值电压可增高。
分别与待编程至第一编程状态p1的存储单元e_p1和待编程至第二编程状态p2的存储单元e_p2当中的、其阈值电压低于强制电压vf的存储单元相对应的第一数据锁存器dl1的位可保持为“0”,并且“0”可分别转储至强制锁存器fl。
分别与待编程至第一编程状态p1的存储单元e_p1和待编程至第二编程状态p2的存储单元e_p2当中的、其阈值电压高于强制电压vf和低于第一验证电压vfy1的存储单元相对应的第一数据锁存器dl1的位可保持为“0”,并且“1”可分别转储至强制锁存器fl。
分别与待编程至第一编程状态p1的存储单元e_p1和待编程至第二编程状态p2的存储单元e_p2当中的、其阈值电压高于第一验证电压vfy1的存储单元相对应的第一数据锁存器dl1的位可更新为“1”,并且“1”可分别转储至强制锁存器fl。
就是说,转储至强制锁存器fl的信息可包括通过第一验证电压vfy1禁止编程的存储单元的信息。当分别对应于其中分别储存“1”的位的强制锁存器fl和分别对应于其上分别加载“0”的第二数据锁存器dl2的存储单元的第一数据锁存器dl1的位更新为“0”或还原至“0”时,待编程至第二编程状态p2的存储单元e_p2通过可还原的第一验证电压vfy1禁止编程。此外,当保持分别对应于其中分别储存“1”的位的强制锁存器fl和分别对应于其上分别加载“1”的第二数据锁存器dl2的存储单元的第一数据锁存器dl1的位时,在待编程至第一编程状态p1的存储单元e_p1中通过第一验证电压vfy1禁止编程的存储单元可保持编程禁止。因此,即使基于第一数据重复编程循环,通常可执行存储单元的编程操作。
图35是示出了根据本公开的实施方式的非易失性存储器的操作方法的另一应用的流程图。在一个实施方式中,图35中示出了图26的编程操作应用于非易失性存储器的示例,其中在每个存储单元处对三个或更多个位进行编程。
参照图1、图3、图7和图35,在步骤s710中,非易失性存储器110可从控制器120接收第一数据。例如,页的数据可通过数据输入/输出电路117加载在页缓冲器电路115上。第一数据可在擦除状态e和最低编程状态p1之间具有确定点dp1。
在步骤720中,非易失性存储器110可基于第一数据启动编程操作。例如,非易失性存储器110可基于第一数据重复编程循环,直到接收下一数据。
在步骤730中,可接收第k数据(k为2或更大的正整数),并且接收的数据可加载在页缓冲器电路115上。在步骤s740中,非易失性存储器110可基于第一至第k数据继续执行编程操作。例如,非易失性存储器110可基于第一至第k数据重复编程循环。
当接收所有数据时,在步骤750中,非易失性存储器110可基于接收的数据重复编程循环并可在步骤s780中完成编程操作。如果未接收所有数据,在步骤s770和s730中,非易失性存储器110可接收下一数据并可继续执行编程操作。
如上所述,当接收第一数据时,非易失性存储器110可启动编程操作。当接收附加数据时,非易失性存储器110可还原与禁止编程的存储单元有关的第一数据的一部分并可继续执行编程操作。因此,在非易失性存储器110上加载数据时的时间可由编程操作遮蔽,由此提高非易失性存储器110和存储装置100的运行速度。
图36示出了当在每个存储单元处对三个位进行编程时将位分配至擦除状态和第一编程状态p1至第七编程状态p7的示例。在图36中,横坐标代表阈值电压,纵坐标代表存储单元的数量。
参照图3和图36,首先加载在页缓冲器电路115上的第一数据d_p1可在擦除状态和作为最低编程状态的第一编程状态p1之间具有确定点dp1。因此,第一数据d_p1提供通过第一验证电压vfy1控制存储单元的编程的功能,例如验证和编程禁止。
其次加载在页缓冲器电路115上的第二数据d_p2可在第一编程状态p1和第二编程状态p2之间具有第二确定点dp2。因此,根据使用第一验证电压vfy1执行验证读取的结果,第二数据d_p2可支持在待通过第一验证电压vfy1验证与待禁止编程的存储单元与在待通过电平方面高于第一验证电压vfy1编程的存储单元之间的选择转储。此外,第二数据d_p2可提供通过第二验证电压vfy2控制存储单元的编程的功能,例如验证和编程禁止。
如上所述,加载在页缓冲器电路115上的第k数据(k为2或更大的正整数)可设置为在第(k-1)编程状态和第k编程状态之间具有确定点。因此,如根据图12至图14所述,编程电压可随重复编程循环而增高,从而可提高非易失性存储器110和存储装置100的运行速度。
在一个实施方式中,在第一数据d_p1至第三数据d_p3中,“111”可分配至擦除状态e。在第一数据d_p1至第三数据d_p3中,“011”可分配至第一编程状态p1。在第一数据d_p1至第三数据d_p3中,“001”可分配至第二编程状态p2。在第一数据d_p1至第三数据d_p3中,“000”可分配至第三编程状态p3。在第一数据d_p1至第三数据d_p3中,“010”可分配至第四编程状态p4。在第一数据d_p1至第三数据d_p3中,“110”可分配至第五编程状态p5。在第一数据d_p1至第三数据d_p3中,“100”可分配至第六编程状态p6。在第一数据d_p1至第三数据d_p3中,“101”可分配至第七编程状态p7。
图37是示出加载数据并执行编程循环的示例的示意图。在图37中,横坐标代表时间t,纵坐标代表施加于连接至所选存储单元的字线的电压v。
参照图3、图36和图37,编程操作可在加载第一数据d_p1后开始。第一编程循环l1和第二编程循环l2可基于第一数据d_p1执行。验证读取可在第一编程循环l1和第二编程循环l2的验证期间使用第一验证电压vfy1执行。在执行第一编程循环l1和第二编程循环l2时,第二数据d_p2可加载在页缓冲器电路115上。
第三编程循环l3和第四编程循环l4可基于第一数据d_p1和第二数据d_p2执行。验证读取可在第三编程循环l3和第四编程循环l4的验证期间使用第一验证电压vfy1和第二验证电压vfy2执行。在执行第三编程循环l3和第四编程循环l4时,第三数据d_p3可加载在页缓冲器电路115上。
第五编程循环l5和第六编程循环l6可基于第一数据d_p1、第二数据d_p2和第三数据d_p3执行。因为第一数据d_p1至第三数据d_p3全部被加载,验证读取可在第五编程循环l5和第六编程循环l6的验证期间使用第一验证电压vfy1至第七验证电压vfy7执行。
图38至图44示出了在重复编程循环时改变存储单元的阈值电压和储存在锁存器中的位的示例。在图38、图41和图43中,横坐标代表阈值电压,纵坐标代表存储单元的数量。
参照图3、图36和图38,在执行编程操作之前,将保持擦除状态的存储单元e_e和将编程至第一编程状态p1至第七编程状态p7的存储单元e_p1至e_p7可具有擦除状态。
参照图3、图36、图39和图40,第一数据d_p1可加载在页缓冲器电路115上。例如,分别对应于八个状态即擦除状态e和第一编程状态p1至第七编程状态p7的“10000111”可加载在页缓冲器电路115的第一数据锁存器dl1上。
分别与每个储存“0”的第一数据锁存器dl1相对应的存储单元可被编程,而分别与每个储存“1”的第一数据锁存器dl1相对应的存储单元可被禁止编程。因此,对应于擦除状态e和第五编程状态p5至第七编程状态p7的存储单元e_e和e_p5至e_p7可从一开始就禁止编程。对应于第一编程状态p1至第四编程状态p4的存储单元e_p1至e_p4可编程。被编程的存储单元可通过第一验证电压vfy1验证并可禁止编程。当待编程至第一编程状态p1至第四编程状态p4的阈值电压被验证为高于第一验证电压vfy1时,与每个被验证的存储单元相对应的数据锁存器的位可从“0”更新至“1”。
参照图3、图36和图41,第二数据d_p2可加载在页缓冲器电路115上。例如,分别对应于八个状态即擦除状态e和第一编程状态p1至第七编程状态p7的“11001100”可加载在页缓冲器电路115的第二数据锁存器dl2上。在第二数据d_p2加载在第二数据锁存器dl2上时可执行还原。例如,可使用强制锁存器fl(参照图29)检测通过使用第一验证电压vfy1执行的验证禁止编程的存储单元。在图41中,用点填充的格指示检测的存储单元。
可确定待编程至包括第二编程状态p2和高于第二编程状态p2的编程状态的状态的存储单元。在一个实施方式中,可确定分别对应于储存“0”的每个第二数据锁存器dl2的存储单元。确定的存储单元的第一数据锁存器dl1可更新为“0”或还原至“0”。
在一个实施方式中,当第一数据d_p1和第二数据d_p2加载在页缓冲器电路115上时,对应于第一编程状态p1的第一数据锁存器dl1和第二数据锁存器dl2的位以及对应于第四编程状态p4的第一数据锁存器dl1和第二数据锁存器dl2的位可用相同的值设置,例如“01”。因此,待编程至第四编程状态p4以及第一编程状态p1的存储单元的第一数据锁存器dl1可不还原。
参照图3、图36、图42和图43,编程循环可在还原第一数据锁存器dl1之后继续。对应于其中储存了“11”的第一数据锁存器dl1和第二数据锁存器dl2并待编程至第五编程状态p5和要保持在擦除状态e的存储单元e_e和存储单元e_p5可从一开始就禁止编程。对应于其中储存“01”的第一数据锁存器dl1和第二数据锁存器dl2并待编程至第一编程状态p1和第四编程状态p4的存储单元e_p1和e_p4可在第一编程状态p1禁止编程。对应于其中储存“00”的第一数据锁存器dl1和第二数据锁存器dl2并待编程至第二编程状态p2和第三编程状态p3的存储单元e_p2和e_p3可在第二编程状态p2禁止编程。对应于其中储存“10”的第一数据锁存器dl1和第二数据锁存器dl2并待编程至第六编程状态p6和第七编程状态p7的存储单元e_p6和e_p7可在加载第二数据d_p2时不验证并可不禁止编程。对应的存储单元可编程以具有在电平方面高于第二验证电压vfy2的阈值电压。
参照图3、图36和图44,第三数据d_p3可加载在页缓冲器电路上。例如,分别对应于八个状态即擦除状态e和第一编程状态p1至第七编程状态p7的“11100001”可加载在页缓冲器电路115的第三数据锁存器dl3上。在第三数据d_p3加载在第三数据锁存器dl3上时可执行还原。例如,可使用强制锁存器fl(参照图29)检测通过使用第一验证电压vfy1和第二验证电压vfy2执行的验证禁止编程的存储单元。在图41中,用点填充的格指示检测的存储单元。
可确定待编程至包括第二编程状态p2和高于第二编程状态p2的编程状态的状态的存储单元。在一个实施方式中,可确定分别对应于储存“0”的每个第三数据锁存器dl3的存储单元。在确定的存储单元中待编程至第三编程状态p3的存储单元的第一数据锁存器dl1和第二数据锁存器dl2可更新为“00”或还原至“00”。此外,待编程至第四编程状态p4的存储单元的第一数据锁存器dl1和第二数据锁存器dl2的值可还原至“01”。在一个实施方式中,待编程至第三编程状态p3和第四编程状态p4的存储单元可通过在强制锁存器fl中备份第二数据锁存器dl2的位或通过使用其电平低于第二验证电压vfy2的电平的强制电压执行强制读取来确定。
参照图43和图44,直到加载第三数据d_p3并进行还原时,待编程至第一编程状态p1的存储单元e_p1可使用第一验证电压vfy1验证,并且之后还可使用第一验证电压vfy1验证。因此,待编程至第一编程状态p1的存储单元e_p1通常可编程。
直到加载第二数据d_p2并进行还原时,待编程至第二编程状态p2的存储单元e_p2可使用第一验证电压vfy1验证。直到加载第三数据d_p3并进行还原时,待编程至第二编程状态p2的存储单元e_p2可使用第二验证电压vfy2验证,并且之后也可使用第二验证电压vfy2验证。因此,待编程至第二编程状态p2的存储单元e_p2通常可编程。
直到加载第二数据d_p2并进行还原时,待编程至第三编程状态p3的存储单元e_p3可使用第一验证电压vfy1验证。直到加载第三数据d_p3并进行还原时,待编程至第三编程状态p3的存储单元e_p3可使用第二验证电压vfy2验证,并且之后也可使用第三验证电压vfy3验证。因此,待编程至第三编程状态p3的存储单元e_p3通常可编程。
直到加载第三数据d_p3并进行还原时,待编程至第四编程状态p4的存储单元e_p4可使用第一验证电压vfy1验证,并且之后也可使用第四验证电压vfy4验证。因此,待编程至第四编程状态p4的存储单元e_p4通常可编程。
直到加载第三数据d_p3并进行还原时,待编程至第五编程状态p5的存储单元e_p5可保持在擦除状态e,并且之后也可使用第五验证电压vfy5验证。因此,待编程至第五编程状态p5的存储单元e_p5通常可编程。
直到加载第二数据d_p2并进行还原时,待编程至第六编程状态p6的存储单元e_p6可保持在擦除状态e。直到加载第三数据d_p3并进行还原时,待编程至第六编程状态p6的存储单元e_p6可不验证,并且之后也可使用第六验证电压vfy6验证。加载第三数据d_p3所用的时间可短于存储单元e_p6的阈值电压达到第六验证电压vfy6所用的时间。因此,待编程至第六编程状态p6的存储单元e_p6通常可编程。
直到加载第二数据d_p2并进行还原时,待编程至第七编程状态p7的存储单元e_p7可保持在擦除状态e。直到加载第三数据d_p3并进行还原时,待编程至第七编程状态p7的存储单元e_p7可不验证,并且之后也可使用第七验证电压vfy7验证。加载第三数据d_p3所用的时间可短于存储单元e_p7的阈值电压达到第七验证电压vfy7所用的时间。因此,待编程至第七编程状态p7的存储单元e_p7通常可编程。
图45示出了存储单元通过两个或更多编程操作编程的示例。在图45中,横坐标代表阈值电压,纵坐标代表存储单元的数量。
参照图3和图45,存储单元可通过三个编程操作po1至po3完全编程。在图45中,可假设在每个存储单元处编程三个位。
在第一编程操作po1期间,存储单元可从擦除状态e编程至擦除状态e和第一中间编程状态i1至第四中间编程状态i4。执行第一编程操作po1可需要至少两个页的数据。如根据图1至图19所述,编程操作可在页缓冲器电路115上加载了至少两个页的页之一的数据后开始。剩余页的数据可在执行编程操作的第一编程循环的编程时加载在页缓冲器电路115上。
在一个实施方式中,在编程操作开始后,第二页的数据可加载在页缓冲器电路115上。然后可执行第一编程循环的验证。在一个实施方式中,第三页的数据可在第一编程循环的验证后编程操作继续时加载在页缓冲器电路115上。因为不用于第一编程操作po1,第三页的数据可并行于编程操作加载在页缓冲器电路115上。
第一编程操作po1可粗略执行。例如,因为执行第一编程操作po1的存储单元不是要读取的存储单元,第一编程操作po1可粗略地执行而不用考虑读取错误。
加载在页缓冲器电路115上的至少两个页的数据可分别在备份区域编程。例如,位可在备份区域的每个存储单元处编程。
在第二编程操作po2期间,存储单元可编程至擦除状态e和第一编程状态p1至第七编程状态p7。在一个实施方式中,当第三页的数据不在第一编程操作po1期间加载时,第三页的数据可在第二编程操作po2开始时加载。第二编程操作po2可基于在备份区域编程的数据、或者在备份区域编程的数据以及从控制器120(参照图1)加载在页缓冲器电路115上的第三页的数据二者来执行。
第二编程操作po2可粗略地执行。例如,因为执行第二编程操作po2的存储单元不是要读取的存储单元,第二编程操作po2可粗略地执行而不用考虑读取错误。
在第三编程操作po3期间,存储单元的阈值电压分布可精细地编程。第三编程操作po3可基于在备份区域编程的数据执行。存储单元可在执行第三编程操作po3时完全编程。
图46示出了存储单元通过两个或更多编程操作编程的另一示例。在图46中,横坐标代表阈值电压,纵坐标代表存储单元的数量。
参照图3和图46,存储单元可通过执行两个编程操作po1和po2完全编程。在图46中,可假设三个位在每个存储单元处编程。
在第一编程操作po1期间,存储单元可从擦除状态e编程至擦除状态e和第一编程状态p1至第七编程状态p7。在一个实施方式中,第一编程操作po1可相当于图45的第二编程操作po2。
编程操作可在页缓冲器电路115上加载第一页的数据后开始。剩余页的数据可在执行第一编程循环的编程时加载在页缓冲器电路115上。
第二编程操作po2可在执行第一编程操作po1后执行。第二编程操作po2可相当于图45的第三编程操作po3。存储单元可在执行第二编程操作po2时完全编程。
图47是示出了当四个位在每个存储单元处编程时的存储单元的阈值电压的示意图。在图47中,横坐标代表阈值电压,纵坐标代表存储单元的数量。
参照图3和图47,每个存储单元可具有擦除状态e和第一编程状态p1至第十五编程状态p15的其中之一。为了编程存储单元,对应四个页的数据可加载在页缓冲器电路115上。四个数据锁存器dl(参照图4)可连接至一个位线bl。分别对应四个页的四个位可分别加载在四个数据锁存器dl上。
编程操作可在页缓冲器电路115上加载第一页的数据后执行。剩余页的数据或剩余页的一部分的数据可在执行第一编程循环的编程时加载在页缓冲器电路115上。
图48是示出由非易失性存储器110的程序控制单元pcu1和控制器120的程序控制单元pcu2执行的编程操作示例的流程图。参照图1和图48,在步骤s810中,控制器120的程序控制单元pcu2可提供第一数据至非易失性存储器110。例如,第一数据可包括与属于一个物理页的逻辑页中至少一个逻辑页相对应的数据。
在第一数据发送至非易失性存储器110之后,在步骤s820中,非易失性存储器110可基于第一数据开始编程操作。在编程操作开始后,非易失性存储器110的编程控制单元pcu1可将就绪/忙碌信号切换至就绪信号以通知控制器120其能够额外地接收数据。
在步骤s830中,当在非易失性存储器110上执行编程操作时,控制器120的程序控制单元pcu2可提供第二数据至非易失性存储器110。例如,第二数据可包括与属于一个物理页的逻辑页中至少一个逻辑页相对应的数据。
当接收第二数据时,在步骤s840中,非易失性存储器110可基于第一数据和第二数据继续执行编程操作。例如,非易失性存储器110可基于第一数据和第二数据继续执行在步骤s820中开始的编程操作。又例如,非易失性存储器110可基于第二数据继续执行在步骤s820中开始的编程操作。在编程操作开始后,非易失性存储器110的编程控制单元pcu1可将就绪/忙碌信号切换至就绪信号以通知控制器120其能够额外地接收数据。
在步骤s850中,当在非易失性存储器110上执行编程操作时,控制器120的程序控制单元pcu2可提供第三数据至非易失性存储器110。例如,第三数据可包括与属于一个物理页的逻辑页中至少一个逻辑页相对应的数据。
当接收第三数据时,在步骤s860中,非易失性存储器110可基于第一数据、第二数据和第三数据继续执行编程操作。例如,非易失性存储器110可基于第一数据、第二数据和第三数据继续执行在步骤s820中开始的编程操作。
根据本公开的实施方式,可在待通过编程操作编程的数据(例如第一数据)的一部分发送至非易失性存储器110之后开始编程操作。当执行编程操作时,待编程的其余数据(例如第二数据和第三数据)可提供至非易失性存储器110。当接收到第二数据或第三数据时,非易失性存储器110可基于第二数据或第三数据继续执行编程操作。因此,第二数据提供至非易失性存储器110的时间可由执行编程操作的时间屏蔽,从而降低执行存储装置100的编程操作所需要的时间。
在一个实施方式中,可继续执行步骤s810和步骤s860。例如,为了请求读取操作,当执行步骤s810至s840的编程操作时,可不允许来自非易失性存储器110的擦除操作或另一编程操作。
在一个实施方式中,步骤s810至步骤s860可以是全部编程操作或编程操作的一部分。例如,非易失性存储器110的存储单元可根据高速编程(hsp)方案编程。在hsp方案中,存储单元可通过执行编程操作一次而完成编程。可禁止相对于完成编程的存储单元额外执行的编程操作。又例如,可根据重编程方案编程非易失性存储器100的存储单元。在重编程方案中,存储单元可通过两个或多个编程操作完成编程。例如,在完成编程操作之前可禁止读取存储单元的操作。可禁止相对于通过两个或更多编程操作完成编程的存储单元额外执行的编程操作。
图49和图50是示出根据本公开实施方式的当从输入线/输出线dq和就绪/忙碌信号rnb看时编程操作的时序图。参照图1、图3、图49和图25,在t1处,控制器120可通过输入线/输出线dq输出第一序列s_p1。例如,控制器120可输出数据输入命令c_din、地址addr_p、第一数据d_p1、转储命令c_dm和结束命令c_e1。数据输入命令c_din可为“80h”,其指示提供了待编程的数据。地址addr_p可指示数据在其中编程的存储单元,例如物理页的地址。第一数据d_p1可以是属于与地址addr_p相对应的物理页的逻辑页之一的数据。转储命令c_dm可以是用于请求数据转储的命令,并且可为“c0h”。结束命令c_e1可为“11h”,其指示第一逻辑页的数据完全传输。
当第一输入序列s_p1in进行时,非易失性存储器110可将就绪/忙碌信号rnb维持在高电平的就绪状态。独立于非易失性存储器110输出至控制器120的就绪/忙碌信号rnb,内部就绪/忙碌信号irnb可指示操作是否在非易失性存储器中执行。当第一输入序列s_p1in进行时,内部就绪/忙碌信号irnb可维持在高电平的就绪状态。
在第一输入序列s_p1in中,通过输入线/输出线dq从控制器120提供至非易失性存储器110的第一数据d_p1可储存在高速缓存锁存器cl中。当通过输入线/输出线dq接收转储命令c_dm和结束命令c_e1时,非易失性存储器110可转储负载于高速缓存锁存器cl上的第一数据d_p1至第一数据锁存器dl1或第二数据锁存器dl2。当非易失性存储器110转储第一数据d_p1时,非易失性存储器110的内部就绪/忙碌信号irnb可在t2处从高电平的就绪状态切换至低电平的忙碌状态。就绪/忙碌信号rnb的状态可从高电平的就绪状态切换至低电平的忙碌状态。当第一数据d_p1完成转储时,在t3处,就绪/忙碌信号rnb的状态可改变为高电平的就绪状态。
在t3处,非易失性存储器110可开始第一编程循环pl1的编程。当在第一编程循环pl1的编程过程中控制电路cc和高速缓存锁存器cl准备好接收数据时,非易失性存储器110可使得就绪/忙碌信号rnb转变为高电平的就绪状态。在一个实施方式中,可在进行第二数据输入序列s_p2in之间执行编程或编程和验证读取。
当就绪/忙碌信号rnb转变为高电平的就绪状态时,控制器120可执行第二数据输入序列s_p2in。例如,控制器120可将数据输入命令c_din、地址addr_p、第二数据d_p2、转储命令c_dm和结束命令c_e2顺序提供至非易失性存储器110。如第一输入序列s_p1in,控制器120可在第二输入序列s_p2in中将第二数据d_p2提供至非易失性存储器110。第二数据d_p2可以是对应于地址addr_p的存储单元中待编程的第二逻辑页的数据。结束命令c_e2可指示第二逻辑页的数据完全传输。
当通过输入线/输出线dq接收转储命令c_dm和结束命令c_e2时,非易失性存储器110可转储负载于高速缓存锁存器cl上的第二数据d_p2至第一数据锁存器dl2或第二数据锁存器dl1。当非易失性存储器110转储第二数据d_p2时,非易失性存储器110的就绪/忙碌信号rnb可在t4处从高电平的就绪状态切换至低电平的忙碌状态。当第二数据d_p2完成转储时,在t5处,就绪/忙碌信号rnb的状态可改变为高电平的就绪状态。
在t5处,非易失性存储器110可执行第一编程循环pl1的剩余过程。例如,可执行第一编程循环pl1的选择转储、禁止转储以及通过-失败校验或第一编程循环pl1的选择转储、禁止转储、通过-失败校验和验证读取。
此外,当就绪/忙碌信号rnb转变为高电平的就绪状态时,控制器120可执行第三数据输入序列s_p3in。例如,控制器120可将数据输入命令c_din、地址addr_p、第三数据d_p3和结束命令c_e3顺序提供至非易失性存储器110。第三数据d_p3可以是对应于地址addr_p的存储单元中待编程的第三逻辑页的数据。结束命令c_e3可指示第三逻辑页的数据完全传输。
在第一编程循环pl1在t6处完成同时执行第三数据输入序列s_p3in的情况下,非易失性存储器110可执行第二编程循环pl2的编程。例如,非易失性存储器110可基于第一数据d_p1或第一数据d_p1和第二数据d_p2执行第二编程循环pl2。例如,非易失性存储器110可执行第二编程循环pl2的编程或第二编程循环pl2的编程和验证读取。
当在t7处完成第三数据输入序列s_p3in时,非易失性存储器110可基于第一数据d_p1、第二数据d_p2和第三数据d_p3继续执行编程操作。
在一个实施方式中,在完成编程操作之后或当其能够接收下一命令时,就绪/忙碌信号rnb可返回至高电平的就绪状态。
如参照图48至图50所述,将数据发送至非易失性存储器三次是有必要的,在非易失性存储器中每个存储单元储存3-位数据,以执行编程操作。然而,在进行编程循环同时在执行第一数据传输操作之后执行第二数据传输操作的情况下,数据传输时间可由完全或部分同时的编程时间遮蔽。此外,在额外进行一个编程循环同时执行第三数据传输操作的情况下,数据传输时间可由完全或部分同时的编程时间遮蔽。因此,可提高存储装置100的操作速度。
图51示出用于电压和用于过程的数据的时间线,其中基于图48的方法在存储单元执行第一编程循环。在图51中,横坐标表示时间t。纵坐标表示通过输入线/输出线dq传输的数据和施加至与选取的存储单元连接的字线的电压。
参照图3、图49和图51,在t1处,第一数据d_p1可通过输入线/输出线dq提供至页缓冲器电路115。当在t3处开始第一编程循环pl1的编程时,页缓冲器电路115可基于第一数据d_p1设置位线bl。例如,页缓冲器电路115可将位线分类为待禁止编程的位线和待编程的位线。行解码器电路113可施加编程电压vpgm至选取的字线。当编程电压vpgm施加至选取的字线时,第二数据d_p2可通过输入线/输出线dq提供至页缓冲器电路115。
在一个实施方式中,可关于与最低阈值电压(或最低阈值电压分布范围)对应的擦除状态e和编程状态p1执行第一编程循环pl1的验证读取。例如,可通过使用第一验证电压vfy1执行第一编程循环pl1的验证读取。可在接收第二数据d_p2时使用第一数据d_p1或在接收第二数据d_p2之后使用第一数据d_p1和第二数据d_p2执行第一编程循环pl1的验证读取。可在接收第二数据d_p2之后使用第一数据d_p1和第二数据d_p2执行第一编程循环pl1的选择转储、禁止转储和通过-失败校验。
当在t6处开始第二编程循环pl2的编程时,页缓冲器电路115可基于第一数据d_p1、第二数据d_p2或第一数据d_p1和第二数据d_p2设置位线bl。例如,页缓冲器电路115可将位线分类为待禁止编程的位线和待编程的位线。行解码器电路113可施加编程电压vpgm至选取的字线。当编程电压vpgm施加至选取的字线时,第三数据d_p3可通过输入线/输出线dq提供至页缓冲器电路115。
在一个实施方式中,可关于与最低阈值电压(或最低阈值电压分布范围)和第二低阈值电压(或第二低阈值电压分布范围)对应的编程状态p1以及关于与最低阈值电压对应的擦除状态e和编程状态p1执行第二编程循环pl2的验证读取。例如,可通过使用第一验证电压vfy1和第二验证电压vfy2执行第二编程循环pl2的验证读取。可在接收第三数据d_p3时使用第一数据d_p1和第二数据d_p2或在接收第三数据d_p3之后使用第一数据d_p1、第二数据d_p2和第三数据d_p3执行第二编程循环pl2的验证读取。可在接收第三数据d_p3之后使用第一数据d_p1、第二数据d_p2和第三数据d_p3执行第二编程循环pl2的选择转储、禁止转储和通过-失败校验。
在一个实施方式中,在第二编程循环pl2中,可在接收第三数据d_p3时执行使用第一验证电压vfy1的验证读取。在第二编程循环pl2中,可在接收第三数据d_p3之后通过使用第一数据d_p1、第二数据d_p2和第三数据d_p3执行使用第二验证电压vfy2的验证。
当完全接收第三数据d_p3时,非易失性存储器110可基于第一数据d_p1、第二数据d_p2和第三数据d_p3执行正常编程操作。例如,非易失性存储器110可基于第一数据d_p1、第二数据d_p2和第三数据d_p3将位线分类为待禁止编程的位线和待编程的位线。在编程电压vpgm施加至所选的字线之后,非易失性存储器110可通过使用对应于编程状态的第一验证电压vfy1至第七验证电压vfy7执行验证读取。关于使用各个验证电压的各个验证读取,非易失性存储器110可基于第一数据d_p1、第二数据d_p2和第三数据d_p3执行选择转储、禁止转储以及通过-失败校验。
图52和图53是示出当执行图51的编程操作的编程循环时存储单元的阈值电压改变的示例的示意图。在图52中,横坐标表示存储单元的阈值电压vth。纵坐标表示存储单元mc的数量。
参照图48至图52,参考标记“e_e”可指示在编程操作过程中维持各个擦除状态的存储单元。禁止存储单元e_e指示由于编程操作过程中禁止编程而维持擦除状态的存储单元。编程存储单元e_p1至e_p7指示待编程至第一编程状态p1至第七编程状态p7的存储单元。
在一个实施方式中,第一数据d_p1可指示存储单元是否属于第一编程存储单元e_p1至第四编程存储单元e_p4。第二数据d_p2可指示存储单元是否属于第二编程存储单元e_p2、第三编程存储单元e_p3、第六编程存储单元e_p6和第七编程存储单元e_p7。
可通过使用第一数据d_p1执行第一编程循环pl1的编程。由此,第一编程存储单元e_p1至第四编程存储单元e_p4的阈值电压可一同增加。在第一编程循环pl1的验证读取过程中,可确定第一编程存储单元e_p1至第四编程存储单元e_p4的阈值电压是否大于第一验证电压vfy1。确定为在验证读取过程中具有大于第一验证电压vfy1的阈值电压的存储单元可为禁止编程的。当接收第二数据d_p2时,可执行选择转储和禁止转储。编程为高于与第一验证电压vfy1相对应的第一编程状态p1的编程状态的存储单元可基于第一数据d_p1和第二数据d_p2从禁止编程状态释放。例如,第二编程存储单元e_p2、第三编程存储单元e_p3、第六编程存储单元e_p6和第七编程存储单元e_p7可从禁止编程状态释放。
参照图48至图53,可基于第一数据d_p1和第二数据d_p2执行第二编程循环pl2。由此,不是禁止编程的存储单元中第一编程存储单元e_p1、第四编程存储单元e_p4、第六编程存储单元e_p6和第七编程存储单元e_p7的阈值电压可增加。
图54是用于电压和用于另一过程的数据的时间线,其中基于图53的方法在存储单元执行编程循环。在图54中,横坐标表示时间t。纵坐标表示通过输入线/输出线dq传输的数据和施加至与选取的存储单元连接的字线的电压v。
与图51的第二编程循环pl2相比,在第二编程循环pl2中,可使用第二验证电压vfy2,而可不使用第一验证电压vfy1。例如,第二编程循环pl2的编程和验证读取可通过使用第二数据d_p2而执行。
图55是示出当执行图54的编程操作的编程循环时存储单元的阈值电压改变的示例的示意图。在图55中,横坐标表示存储单元的阈值电压vth。纵坐标表示存储单元的数量。在图55中,示出了这样的示例,其中图52所示的存储单元通过图54的第二编程循环pl2编程。
与图52的第二编程循环pl2相比,由第二数据d_p2区分的第二编程存储单元e_p2、第三编程存储单元e_p3、第六编程存储单元e_p6和第七编程存储单元e_p7可在第二编程循环pl2中编程。在第二编程循环pl2的验证读取过程中,可确定第二编程存储单元e_p2、第三编程存储单元e_p3、第六编程存储单元e_p6和第七编程存储单元e_p7的阈值电压是否高于第二验证电压vfy2。确定为在验证读取过程中具有大于第二验证电压vfy2的阈值电压的存储单元可为禁止编程的。
图56是用于电压和用于另一过程的数据的时间线,其中基于图48的方法在存储单元执行编程循环。在图56中,横坐标表示时间t。纵坐标表示通过输入线/输出线dq传输的数据和施加至与选取的存储单元连接的字线的电压v。
与图51的第一编程循环pl1和第二编程循环pl2相比,在第一编程循环pl1和第二编程循环pl2中可不使用验证电压。也就是说,可不执行验证。在一个实施方式中,可基于第一数据d_p1区分相对较高的编程状态例如第四编程状态p4、第五编程状态p5、第六编程状态p6或第七编程状态p7。在第一编程循环pl1和第二编程循环pl2中,对应于相对较高的编程状态的存储单元的阈值电压可预先增加。因此,由于存储单元的阈值电压波动在随后的编程循环中降低,施加至存储单元的应力可减少。这可意味着存储单元的可靠性得到了提高。由于对应于相对较高的编程状态的存储单元在第一编程循环pl1和第二编程循环pl2中为编程的,可防止存储单元过度编程。
图57是用于电压和用于另一过程的数据的时间线,其中基于图48的方法在存储单元执行编程循环。在图57中,横坐标表示时间t。纵坐标表示通过输入线/输出线dq传输的数据和施加至与选取的存储单元连接的字线的电压v。
与图51的第一编程循环pl1相比,在第一编程循环pl1可不执行验证。可基于第一数据d_p1区分相对较高的编程状态例如第四编程状态p4、第五编程状态p5、第六编程状态p6或第七编程状态p7。在第一编程循环pl1中,对应于相对较高的编程状态的存储单元可预先编程。可在第二编程循环pl2中使用第一验证电压vfy1。在一个实施方式中,可使用第二数据d_p2区分擦除状态e和最低第一编程状态p1。因此,第二数据d_p2可用于使用第一验证电压vfy1执行验证。
图58是示出了根据本公开实施方式的存储块blka的电路图。参照图58,存储块blka可包括多个单元串cs11至cs21和cs12至cs22。多个单元串cs11至cs21和cs12至cs22可沿行方向和列方向布置以构成行和列。
例如,沿行方向布置的单元串cs11和cs12可构成第一行,沿行方向布置的单元串cs21和cs22可构成第二行。沿列方向布置的单元串cs11和cs12可构成第一列,沿列方向布置的单元串cs12和cs22可构成第二列。
每个单元串可包含多个单元晶体管。单元晶体管可包括地选晶体管gst、存储单元mc1至mc6以及串选晶体管ssta和sstb。每个单元串中的地选晶体管gst、存储单元mc1至mc6以及串选晶体管ssta和sstb可在垂直于单元串cs11至cs21和cs12至cs22沿行和列布置其上的平面(例如存储块的衬底上的平面)的高度方向上堆叠。
多个单元晶体管可为电荷捕获型单元晶体管,其阈值电压根据在其绝缘层中捕获的电荷数量变化。
最底部的地选晶体管gst的源可共同连接至共源线csl。
第一行中的单元串cs11和cs12的地选晶体管gst的控制栅可共同连接至地选择线gsl1,第二行中的单元串cs21和cs22的地选晶体管gst的控制栅可共同连接至地选择线gsl2。就是说,不同行中的单元串可连接至不同的地选择线。
置于从衬底(或地选晶体管gst)起相同高度(或顺序)处的存储单元的控制栅共同连接至字线。置于不同高度(或顺序)处的存储单元的控制栅连接至不同字线wl1至wl6。例如,存储单元mc1可共同连接至字线wl1。存储单元mc2可共同连接至wl2。存储单元mc3可共同连接至wl3。存储单元mc4可共同连接至wl4。存储单元mc5可共同连接至wl5。存储单元mc6可共同连接至wl6。
不同行中的单元串可连接至不同的串选择线ssl1a和ssl2a或ssl1b和ssl2b。相同行中具有相同高度(或顺序)的串选晶体管ssta或sstb可连接至相同的串选择线。相同行中具有不同高度(或顺序)的串选晶体管ssta和sstb连接至不同的串选择线。
单元串cs11至cs21和cs12至cs22的列可连接至不同位线bl1和bl2。例如,第一列中的单元串cs11至cs21的串选晶体管sstb可共同连接至位线bl1。单元串cs12和cs22的串选晶体管sstb可共同连接至位线bl2。
在一个实施方式中,物理页中的存储单元mc可相当于至少三个逻辑页。例如,k个位(k为2或更大的整数)可在存储单元mc中编程。物理页的存储单元mc可储存k个逻辑页,其每个都由分别在存储单元mc处编程的n个位组成。
如上所述,可在三维的存储器阵列处提供存储块blka。3d存储器阵列在存储单元mc的阵列的一个或多个物理层级中单片地形成,该存储单元mc具有置于与其操作有关的硅衬底和电路之上的活动区域。与存储单元mc的操作有关的电路可位于这样的衬底之上或之中。术语“单片”意指阵列的每个层级的层都直接置于3d存储器阵列的每个下层的层上面。
在本公开的实施方式中,3d存储器阵列包括垂直的nand串(或单元串),该串垂直定向以便至少一个存储单元位于另一存储单元之上。至少一个存储单元mc可包含电荷捕获层。每个垂直nand串还包括置于存储单元mc之上的至少一个选择晶体管。至少一个选择晶体管可具有和存储单元mc相同的结构并可由存储单元mc一致地形成。
以下通过引用而包含的专利文件描述了用于三维存储器阵列的适当配置,其中三维存储器阵列被配置为多个层级,具有在层级间共享的字线和/或位线:7,679,133号、8,553,466号、8,654,587号、8,559,235号美国专利以及2011/0233648号美国专利公开。
图59是示出了根据本公开实施方式的控制器120的框图。参照图59,控制器120可包括总线121、处理器122、ram123、ecc块124、主机接口125、缓冲器控制电路126和存储器接口127。
总线121可被配置为提供控制器120的组件之中的信道。
处理器122可控制控制器120的整体操作并可执行逻辑操作。处理器122可通过主机接口125与外部主机装置通信,可通过存储器接口127与非易失性存储器110通信,并可通过缓冲器控制电路126与ram123通信。处理器122可使用ram123作为工作存储器、高速缓存或缓冲存储器来控制存储装置100。
ram123可用作处理器122的工作存储器、高速缓存或缓冲存储器。
纠错块124可执行错误修正操作。ecc块124可基于要通过存储器接口127在非易失性存储器110写入的数据执行纠错编码。ecc块124可在通过存储器接口127从非易失性存储器110接收的数据上执行纠错解码。
主机接口125可在处理器122的控制下与外部主机装置通信。缓冲器控制电路126可在处理器122的控制下控制ram123。存储器接口127可响应处理器122的控制与非易失性存储器110通信。存储器接口127可包括根据本公开实施方式的编程控制单元pcu2。编程控制单元pcu2可当编程操作期间向非易失性存储器110提供命令、地址或数据时控制时序。例如,编程控制单元pcu2可被配置为向非易失性存储器110提供如根据图5和6或图17所述的序列。
图60是示出了根据本公开实施方式的计算装置1000的框图。参照图60,计算装置1000可包括处理器1100、ram1200、存储装置1300、调制解调器1400和用户接口1500。
处理器1100可控制计算装置1000的整体操作并可执行逻辑操作。处理器1100可为基于硬件的数据处理装置,其包括的电路在物理上被配置为执行以代码或编程中包括的命令所表达的操作。
ram1200可与处理器1100通信。ram1200可为处理器1100或计算装置1000的主存储器。存储装置1300可与处理器1100通信。存储装置1300可用于长期储存数据。
调制解调器1400可在处理器1100的控制下与外部装置通信。例如,调制解调器1400可以有线或无线方式与外部装置沟通。用户接口1500可在处理器1100的控制下与用户通信。
存储装置1300可包括根据本公开实施方式的存储装置100、200和300的其中之一。处理器1100、ram1200、调制解调器1400和用户接口1500可构成与存储装置通信的主机装置。
虽然已参照示例性实施方式描述了本公开,但对于本领域专业技术人员显而易见的是,可进行各种变化和修改而不背离本公开的精神和范围。因此,应理解的是以上实施方式并非限制性的而是说明性的。