操作非易失性存储器设备的方法与流程

文档序号:12806213阅读:323来源:国知局
操作非易失性存储器设备的方法与流程

本申请是申请日为2011年5月31日、申请号为201110144117.3、发明名称为“非易失性存储器设备、系统及编程方法”的发明专利申请的分案申请。

相关申请的交叉引用

本申请要求于2010年5月31日提交的韩国专利申请no.10-2010-0051190的优先权,其主题通过引用的方式合并于此。

本公开涉及一种非易失性存储器设备、合并该非易失性存储器设备的存储系统(包括存储卡)以及对非易失性存储器设备编程的方法。更加具体来说,本公开涉及操作非易失性存储器设备和/或存储系统的方法,其提供在非易失性存储单元的编程期间使用的不同验证模式之间动态选择的能力。



背景技术:

非易失性存储器以及相关的存储系统已经变为目前消费电子以及数字数据系统内的设计重点。非易失性存储器允许通过能够以低功耗可靠运行的相对较小的集成电路设备来存储大量数据,并且仍然可以提供相对较快的数据存取。不同于易失性形式的存储器(例如,dram和sram),非易失性存储器能够在缺乏施加电力的情况下保存所存储的数据。

存在不同类型的非易失性存储器。一种广泛使用的类型是电可擦除可编程只读存储器(eeprom)。eeprom以包括各种类型的闪存的不同形式而流行。

在早期的形式中,各个非易失性存储单元仅存储二进制数据的单个比特(“1”或者“0”)。这样的存储单元被称为单电平存储单元(singlelevelmemorycell,slc)并且仍然被广泛使用。然而,许多当前的非易失性存储单元能够存储2个或更多个数据比特,并且通常被称作多电平存储单元(multi-levelmemorycell,mlc)。mlc提供增加的数据集成密度,但是这样做是以操作(例如,编程、读取和擦除操作)的方法复杂性升高为代价的。

必须在期望的(或者“目标”)阈值电压分布内准确地编程由mlc展现的阈值电压。阈值电压分布的电压范围表示编程后的mlc的对应数据状态。当有效mlc数据状态的数目增多(例如,对于2比特mlc有四(4)个状态,且对于3比特mlc有八(8)个状态,等等)时,对应的阈值电压分布的数目也如此增多。该增长的数据状态和对应的阈值电压分布的数目对当前的非易失性存储器设计者提出了许多的挑战。一个特别的挑战是,管理编程速度和编程精度之间的设计与操作平衡。另一个挑战是,从所应用的编程与擦除操作的极大多样性角度来管理非易失性存储单元的使用寿命。



技术实现要素:

本发明构思的实施例提供操作非易失性存储器设备和/或存储系统的方法,其能够提供编程精度和编程速度的改进组合。

本发明构思的一些实施例提供一种操作非易失性存储器设备的方法,该方法包括以下步骤:通过将第i编程电压施加到连接至存储单元的字线以及(1)如果所述存储单元是快速存储单元则施加位线强制电压到连接至所述存储单元的位线或者(2)如果所述存储单元是慢速存储单元则施加小于位线强制电压的位线编程电压到位线,来执行针对所述存储单元的编程操作的第i编程间隔;评估编程条件;基于所评估的编程条件从一组验证模式中选择验证模式;以及对于所述存储单元使用所选择的验证模式来执行验证操作。

本发明构思的一些实施例提供一种在非易失性存储器设备内对配置为存储包括最低有效位(lsb)与最高有效位(msb)的数据的多电平存储单元(mlc)进行编程的方法,该方法包括执行第i编程间隔,所述编程间隔包括其后跟着msb编程操作的lsb编程操作,其中所述msb编程操作包括以下步骤:将第i编程电压施加到连接至所述mlc的字线以及(1)如果所述存储单元是快速存储单元则施加位线强制电压到连接至所述mlc的位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到连接至所述mlc的位线;评估编程条件;基于所评估的编程条件从一组验证模式中选择验证模式;以及使用所选择的验证模式来执行验证操作。

本发明构思的一些实施例提供一种操作非易失性存储器设备的方法,该方法包括以下步骤:通过将第i编程电压施加到连接至存储单元的字线以及(1)如果所述存储单元是快速存储单元则施加位线强制电压到连接至所述存储单元的位线或者(2)如果所述存储单元是慢速存储单元则施加小于位线强制电压的位线编程电压到连接至所述存储单元的位线,来执行针对所述存储单元的编程操作的第i编程间隔;将所述存储单元的当前阈值电压与通过阈值电压相比较;如果所述当前阈值电压小于所述通过阈值电压,则选择第一验证模式;以及如果所述当前阈值电压大于或等于所述通过阈值电压,则选择第二验证模式。

本发明构思的一些实施例提供一种非易失性存储器设备,包括:存储单元阵列,包含连接至字线和位线的存储单元;电压生成器,被配置为生成包括编程电压的多个控制电压;地址译码器,被配置为响应于外部提供的地址将所述编程电压连接至所述字线;页缓冲电路,被配置为响应于外部提供的地址将位线电压连接至所述位线;以及控制逻辑,被配置为控制所述电压生成器和地址译码器以通过施加第i编程电压作为所述编程电压来执行针对所述存储单元的编程操作的第i编程间隔,以及被配置为控制所述页缓冲电路以(1)如果所述存储单元是快速存储单元则施加位线强制电压到所述位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线。所述控制逻辑被进一步配置为:评估编程条件;基于所评估的编程条件从一组验证模式中选择验证模式;以及控制所述电压生成器、地址译码器和页缓冲电路以使用所选择的验证模式来执行验证操作。

本发明构思的一些实施例提供一种存储系统,包括:非易失性存储器设备,包含连接在字线与位线之间的存储单元;以及存储器控制器,被配置为控制所述非易失性存储器设备的操作。所述非易失性存储器设备包括控制逻辑,其被配置为从所述存储器控制器接收命令以及通过以下步骤来对于所述存储单元执行编程操作:通过向所述字线施加第i编程电压并(1)如果所述存储单元是快速存储单元则施加位线强制电压到所述位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线,来执行所述编程操作的第i编程间隔;评估编程条件;基于所评估的编程条件从一组验证模式中选择验证模式;以及对于所述存储单元使用所选择的验证模式来执行验证操作。

本发明构思的一些实施例提供一种操作包含多个多电平存储单元的非易失性存储器设备的方法,该多个多电平存储单元包括至少一个第一存储单元、至少一个第二存储单元和至少一个第三存储单元,所述方法包括:向连接到该多个多电平存储单元的所选择的字线施加第一编程电压;在第一编程电压被施加到所选择的字线后,对连接到所选择的字线的至少一个第一存储单元执行第一两步操作,所述第一两步操作包括对与第一阈值电压对应的至少一个第一存储单元执行第一预验证操作和对与比第一阈值电压高的第二阈值电压对应的至少一个第一存储单元执行第一验证操作;在第一编程电压被施加到所选择的字线后,对连接到所选择的字线的至少一个第二存储单元执行第二两步操作,所述第二两步操作包括对与比第二阈值电压高的第三阈值电压对应的至少一个第二存储单元执行第二预验证操作和对与比第三阈值电压高的第四阈值电压对应的至少一个第二存储单元执行第二验证操作;向所选择的字线施加第二编程电压,该第二编程电压比第一编程电压高;以及在第二编程电压被施加到所选择的字线后,对连接到所选择的字线的至少一个第三存储单元执行第三一步操作,所述第三一步操作基本上包括对与比第四阈值电压高的第五阈值电压对应的至少一个第三存储单元执行第三验证操作。

本发明构思的一些实施例提供一种操作包含多个多电平存储单元的非易失性存储器设备的方法,该多个多电平存储单元包括至少一个第一存储单元、至少一个第二存储单元和至少一个第三存储单元,所述方法包括:向连接到该多个多电平存储单元的所选择的字线施加第一编程电压;在第一编程电压被施加到所选择的字线后,对连接到所选择的字线的至少一个第一存储单元执行第一两步操作,所述第一两步操作包括对与第一阈值电压对应的至少一个第一存储单元执行第一预验证操作和对与比第一阈值电压高的第二阈值电压对应的至少一个第一存储单元执行第一验证操作;在第一编程电压被施加到所选择的字线后,对连接到所选择的字线的至少一个第二存储单元执行第二两步操作,所述第二两步操作包括对与比第二阈值电压高的第三阈值电压对应的至少一个第二存储单元执行第二预验证操作和对与比第三阈值电压高的第四阈值电压对应的至少一个第二存储单元执行第二验证操作;向所选择的字线施加第二编程电压,该第二编程电压比第一编程电压高;以及在第二编程电压被施加到所选择的字线后,对连接到所选择的字线的至少一个第三存储单元执行第三一步操作,所述第三一步操作包括对与比第四阈值电压高的第五阈值电压对应的至少一个第三存储单元执行第三验证操作而不对所述至少一个第三存储单元执行第三预验证操作。

附图说明

附图示出本发明构思的一些实施例的相关方面。

图1示出通常所理解的、示范性2比特mlc的阈值电压分布;

图2——包括图2a和图2b——概念性地示出根据本发明构思的实施例的、并入了位线强制的非易失性存储单元的编程操作;

图3是示出本发明构思的实施例的一般操作流程图;

图4——包括图4a和图4b——概念性地示出根据本发明构思的实施例的、非易失性存储单元的多步验证模式;

图5是存储单元阵列的部分电路图并且概念性地示出与公共源极线上的噪声相关联的一些问题;

图6是进一步示出在一些存储单元阵列中公共源极线上的噪声的问题的电路和电压图;

图7是更进一步示出公共源极线上的噪声的问题以及与使用利用多步验证模式的验证操作的功能相同的补救方法;

图8——包括图8a和图8b——概念性地示出根据本发明构思的实施例的、非易失性存储单元的单步验证模式;

图9是根据本发明构思的实施例的示范性非易失性存储器设备的部分框图;

图10是示出当与本发明构思的实施例一致地根据操作非易失性存储器设备和/或存储系统的一些方法进行编程时,示范性2比特mlc的阈值电压分布的示意图;

图11是进一步示出施加到根据本发明构思的实施例的非易失性存储单元的一系列编程/验证脉冲的波形图;

图12是概述根据本发明构思的实施例的操作非易失性存储器和/或存储系统的方法(包括编程方法)的相关部分的流程图;

图13——包括图13(a)、图13(b)和图13(c)——是示出根据本发明构思的实施例的、可被编程的示范性3比特mlc的阈值电压分布的图;

图14是根据本发明构思的实施例的示范性非易失性存储器设备的部分框图;

图15是示出当与本发明构思的实施例一致地根据操作非易失性存储器设备和/或存储系统的一些方法进行编程时,示范性2比特mlc的阈值电压分布的示意图;

图16是进一步示出施加到根据本发明构思的实施例的非易失性存储单元的一系列编程/验证脉冲的波形图;

图17是进一步示出施加到根据本发明构思的实施例的非易失性存储单元的一系列编程/验证脉冲的波形图;

图18是进一步示出施加到根据本发明构思的实施例的非易失性存储单元的一系列编程/验证脉冲的波形图;

图19是进一步示出施加到根据本发明构思的实施例的非易失性存储单元的一系列编程/验证脉冲的波形图;

图20是概述根据本发明构思的实施例的操作非易失性存储器和/或存储系统的方法(包括编程方法)的相关部分的流程图;

图21是可以根据本发明构思的实施例而操作和编程的非易失性存储器设备的部分框图;

图22是进一步示出图21的示范性存储器设备的一个存储器块的等效电路的部分电路图;

图23是并入了根据本发明构思的实施例的非易失性存储器设备的存储系统的基本框图;

图24是示出由图23的存储器控制器传递的示范性控制信号的波形图;

图25是示出并入了根据本发明构思的实施例的非易失性存储器设备的存储系统的框图;

图26是示出并入了根据本发明构思的实施例的非易失性存储器设备的一个更具体形式的存储系统(即,存储卡)的框图;

图27是示出并入了根据本发明构思的实施例的更具体形式的非易失性存储器设备(即,movinand)的另一存储系统的框图;

图28是示出并入了根据本发明构思的实施例的非易失性存储器设备的示范性固态驱动器(ssd)的框图;

图29是示出并入了根据本发明构思的实施例的、像图28中示出的那样一个ssd的计算系统的一般框图;

图30是示出能够并入根据本发明构思的实施例的、像图28中示出的那样一个ssd的电子设备的一般框图;以及

图31是示出能够并入根据本发明构思的实施例的、像图28中示出的那样一个ssd的服务器系统的一般框图。

具体实施方式

将在下文中参考附图用一些额外的细节来描述本发明构思的示范性实施例。然而,本发明构思可以以不同形式具体实现而且不应当将本发明构思释为限制为仅所示出的实施例。相反,提供所示出的这些实施例以使得本公开全面彻底并且将本发明构思的范围充分地传达给本领域技术人员。

示出的实施例被绘制成闪存设备、并入闪存设备的存储系统以及相关的操作方法。然而,这些例子仅仅表示可能落入本发明构思范围内的许多不同类型的非易失性存储器。因此,本领域技术人员将看到,使用具体绘制为闪存设备的实施例的本公开的教导可以延伸至其它形式的非易失性存储器。

例如,根据本发明构思的实施例的非易失性存储器设备可以是nand(与非)闪存、垂直nand闪存(verticalnandflashmemory)、nor(或非)闪存、电阻式随机存取存储器(resistiverandomaccessmemory,rram)、相变随机存取存储器(phase-changerandomaccessmemory,pram)、磁电阻式随机存取存储器(magneto-resistiverandomaccessmemory,mram)、铁电随机存取存储器(ferroelectricrandomaccessmemory,fram)以及自旋转移力矩随机存取存储器(spintransfertorquerandomaccessmemory,stt-ram)。此外,可以以三维(3d)阵列结构来实现根据本发明构思的实施例的非易失性存储器设备。根据本发明构思的实施例的一些非易失性存储器设备可以应用于其中电荷存储层被配置为具有导电浮置栅极的闪存设备以及其中电荷存储层被配置为具有电介质的电荷俘获闪存(chargetrapflash,ctf)。

存在对于非易失性存储单元的操作和编程的许多通常所了解的方法。如上所述,可以将非易失性存储单元展现的阈值电压编程为驻留(reside)于许多阈值电压分布中的一个之内。图1大体上示出与示范性2比特mlc关联的四(4)个阈值电压分布。非易失性存储单元的擦除状态(e)和第一至第三编程状态(p1、p2和p3)由各个相应的阈值电压分布来表示。并入了mlc的非易失性存储系统的一个设计目标是mlc的有效且精确的编程,典型的是,从擦除状态到多个编程状态其中之一。

典型地,非易失性存储单元编程是一个迭代过程,其中,通过连续的编程间隔执行一个或多个编程步骤或循环(即,将特定控制电压施加到在非易失性存储系统内所选择的一个或多个非易失性存储单元(或多个))。在定义的编程时段期间,可以执行与正确编程选择的非易失性存储单元所必需的一样多的许多编程间隔。而且,使用精细(或细密)定义的编程增量(即,连续编程间隔之间的控制电压电平差)允许在定义的阈值电压分布内精确地编程非易失性存储单元。然而,编程效率要求正确编程非易失性存储单元所需要的编程间隔的数目必须保持在最小。因此,非易失性存储系统设计者寻求以下两者之间的平衡:(1)使用许多精细定义的编程增量来精确地编程非易失性存储单元的期望;与(2)通过尽可能迅速地接近目标存储单元阈值电压来最小化编程间隔总体数目的期望。

认识到平衡这些对立目标的需要,非易失性存储系统设计者已经开发出许多不同的编程方案。一种方案通常被称作“位线强制(bitlineforcing)”。在图2——包括图2a和图2b——中示出位线强制方案的一个例子。

图2a示出选择的非易失性存储单元将被编程到的期望阈值电压分布p。进一步假定,用于编程非易失性存储单元的编程操作使用通常所了解的增量步进编程过程(incrementstepprogrammingprocedure,ispp),其中,连续编程间隔特征在于不同的(通常是增加的)控制电压电平(例如,字线和位线电压)。图2b示出施加到连接至选择的非易失性存储单元的字线的字线电压(vwl),该字线电压在每个连续编程间隔期间升高ispp定义的步进增量(δispp)。

在任一任意选择的编程间隔期间的非易失性存储单元的当前阈值电压可以被假定为驻留于三个(3)阈值电压(vth)区域其中之一内:(1)目标阈值电压分布范围“p”(即,vth大于相应的验证电压(vr)),(2)接近阈值电压范围“b”(即,vth小于vr但是大于预验证电压(pvr)),或(3)远距阈值电压范围“a”(即,vth小于pvr)。

在选择性地使用位线强制(bitlineforcing)的编程操作期间,通过存储单元的当前阈值电压来确定施加到存储单元的控制电压的性质(nature)(例如,电平和/或持续时间)。在图2中概念性地示出使用位线强制的编程操作的一个例子。这里,假定在许多编程间隔期间执行许多编程循环。取决于选择的存储单元的当前阈值电压,每个编程循环可以施加位线强制控制电压或施加正常编程控制电压。也就是说,当选择的非易失性存储单元的当前阈值电压驻留于接近阈值电压范围b内时,位线强制控制电压被施加到存储单元。然而,当选择的存储单元的当前阈值电压驻留于远距阈值电压范围a内时,不施加位线强制而是施加正常编程控制电压到存储单元。

如图2b的电压波形所建议的那样,位线强制控制电压可以包括施加到连接至选择的存储单元的位线的位线强制电压(blfv)。在像图2b中示出的那样的本发明构思的一些实施例中,blfv可以具有在大约0.3至1.5v的范围中的电平。相反,正常编程控制电压可以包括小于blfv的、被施加到选择的存储单元的位线的位线编程电压(blpv)。在像图2b中示出的那样的本发明构思的一些实施例中,blpv可以具有在大约0.0至0.9v的范围中的电平。在任意给定的编程间隔期间,施加这些完全不同的位线电压(blpv对blfv),同时ispp定义的vwl被施加到连接至选择的存储单元的字线。

在本发明构思的一些实施例中,位线强制电压blfv大于位线编程电压blpv,但是小于传统上所了解的位线编程禁止电压(program-inhibitvoltage)(例如,电源电压)。与通过施加位线编程电压blpv和位线强制电压blfv来进行编程的存储单元不同,连接至接收位线编程禁止电压的位线的存储单元不被编程(例如,这些存储单元可能已经展现出目标阈值分布p内的阈值电压)。

用这样的方式,对具有在接近阈值电压范围b中的当前阈值电压的选择的存储单元(或多个)执行位线强制,而对具有在远距阈值电压范围a中的当前阈值电压的选择的存储单元(或多个)执行正常ispp编程。在迭代ispp编程操作中的任一给定编程间隔期间,每个选择的存储单元可以被分类为“已编程”(具有在目标阈值电压分布范围p中的阈值电压)、“慢速”(具有在远距阈值电压范围a中的阈值电压)或者“快速”(具有在接近阈值电压范围b中的阈值电压)。一旦被分类(或标识),就可以取决于已编程/慢速/快速标识何时发生,在当前编程间隔期间或者在下一编程间隔期间区别对待选择的存储单元(或多个)。

在图2的执行例子中,可以使用正常的、ispp定义的字线电压vwl在当前编程间隔期间对慢速存储单元进行编程。相反,可以使用位线强制字线电压(例如,ispp定义的电平减去blfv)在当前编程间隔期间对快速存储单元进行编程。因此,展现相对较慢的编程速度的慢速存储单元(即,每任意数目的所应用编程循环以更低速率来增加其阈值电压的存储单元)接收ispp定义的字线电压vwl以及blpv作为位线电压。展现相对较快的编程速度的快速存储单元(即,每任意数目的所应用编程循环以更高速率来增加其阈值电压的存储单元)接收vwl–blfv作为字线电压并接收blfv作为位线电压。在这些条件下,慢速存储单元比快速存储单元更大地受到电压激发(voltage-motivate),并且慢速存储单元的阈值电压比快速存储单元的阈值电压更加迅速地提高。该方案旨在降低必须被施加到慢速存储单元的编程循环的数目,由此降低非易失性存储单元磨损以及提高存储单元的使用寿命。

例如,可以假定对于本发明构思的至少一个实施例来说,blpv是0v,blfv是1v。标识为快速存储单元的存储单元在当前编程间隔期间接收ispp–blfv的字线电压和1v的blfv。标识为慢速存储单元的存储单元在当前编程间隔期间接收正常ispp字线电压和0v的blpv。在这些条件下,与快速存储单元相比较,慢速存储单元在编程间隔期间接收字线电压与位线电压之间的更大的、阈值电压激发差。如果进一步的假定δispp是每编程间隔大约0.3v,则可以显著降低正确编程慢速存储单元所需要的编程循环的数目。

在这一点上,应当注意,在本发明构思的各种实施例中慢速存储单元对快速存储单元的识别可以发生在各个编程循环(或多个)的执行之前和/或之后。可替换地,可以在总体编程操作的开始(例如,在第一编程循环之前)执行一次慢速/快速存储单元的识别。为此,可以在总体编程操作期间保持指定存储单元为慢速/快速直到诸如存储单元被标识为已编程的存储单元的时候为止。

然而,可以在第i编程间隔期间将在第i-1编程间隔期间被标识为慢速存储单元的存储单元重新标识(例如,标识更新)为快速存储单元。例如,一旦存储单元所展现的阈值电压从远距阈值电压范围a变换到接近阈值电压范围b,就可以在随后的第i+1编程间隔期间将该存储单元的标识从慢速改变到快速——通过对所施加的编程控制电压进行相应改变。用这样的方式,可以将慢速存储单元编程为将其阈值电压快速地向目标阈值分布p移动,但是然后,一旦阈值电压接近了目标阈值分布,就可以对其更加精细地调整以精确地完成编程操作。因此,编程效率和编程精度两者都可以实现。

在总体编程方法内,标识选择的存储单元(或多个)是慢速存储单元(或多个)还是快速存储单元(或多个)的步骤可以在预验证步骤期间执行,该预验证步骤发生在迭代编程步骤之前。可替换地或另外地,标识选择的存储单元(或多个)是慢速存储单元(或多个)还是快速存储单元(或多个)的步骤可以与每个迭代编程步骤相关执行。

图3是概述根据本发明构思的实施例的操作非易失性存储器设备的方法的一般流程图。操作方法包括并入了对指定存储单元(例如,标识为快速存储单元的存储单元)选择性地执行位线强制的能力的编程操作。如上所述,可以基于逐个编程间隔通过在总体编程操作内连续的迭代执行的编程间隔,来选择对存储单元执行位线强制的能力。因此,对于任一任意选择的编程间隔——在此期间至少一个选择的存储单元的阈值电压达到目标阈值电压分布(或者在编程操作完成时)——来说,如图3中所示的操作非易失性存储系统的方法包括:执行针对一个或多个选择的存储单元(或多个)的编程操作,其可以包括通过位线强制来编程(s10),之后是基于一个或多个编程条件从一组可能验证模式中选择验证模式(s20)。

如以下文中将在一些额外细节描述的那样,这些编程条件(或多个)可以包括:已执行编程循环的数目、存储单元编程状态、检测到的(或者所计算的)噪声阈值(例如,公共源极线噪声阈值)、温度阈值、检测到的(或者所计算的)阈值电压分布中的变化、存储单元偏置条件、各个位线读出(sensing)时段、位线读出技术等等。在噪声阈值被用作编程条件的情况下,本发明构思的一些实施例将包括通常采用的噪声传感器,诸如电压噪声传感器。在温度阈值被用作编程条件的情况下,本发明构思的一些实施例将包括通常采用的温度传感器。

一旦已经选择了验证模式(s20),就使用所选择的验证模式对于所存储的数据来执行验证操作(s30)。假如验证操作指示所存储的数据的错误状态(fail(失败)),则操作非易失性存储系统的方法返回到(重新)编程一个或多个选择的存储单元(或多个)(s10)。否则,通过验证操作指示成功编程(pass(通过)),终止操作方法。

因此,本发明构思的实施例设想从可能在验证操作期间使用的一组验证模式当中动态选择和使用一个验证模式(s30)。在本发明构思的一些实施例中,该组验证模式包括使用不同数目的验证步骤的验证模式。下文中将以一些额外细节来描述示范性单步对多步验证模式以及在它们之间进行选择的方法。然而,应当注意,单步和多步验证模式之间的选择仅仅是验证模式选择以及可以用于本发明构思的实施例中的相关选择过程的一个例子。

本发明构思的实施例中的验证模式之间的选择是“动态地”发生的,或者在操作——与以预设方式进行选择相反——的方法内、或者在操作方法之外(例如,工厂选择或者存储系统上电初始化)。用这样的方式,可以在验证模式选择(s20)中以及在验证操作(s30)内使用该合适的或者更为优化的验证模式中考虑改变对于并入根据本发明构思的实施例的一个或多个非易失性存储器设备(或多个)的存储系统的编程条件。

还要注意,可以在编程操作完成之后执行如图3中示出的在操作非易失性存储系统的方法中选择验证模式的步骤(s20)。然而,情况可以不必如此,并且本发明构思的其他实施例可以在执行编程操作之前选择合适的验证模式。

还应注意,术语“编程操作”和“验证操作”是在本发明构思的实施例的上下文内被广义解释的。验证操作是相对于所定义的阈值电压分布评估或者改进先前已编程的存储单元所展现的阈值电压的任何操作。编程操作是改变(或者意图改变)非易失性存储单元的阈值电压的任何操作。

图4——包括图4a和图4b——概念性地示出根据本发明构思的、能够被选择(图3中的s20)以用于验证操作(图3中的s30)内的多步验证模式的一个可能实施例。这里描述了2步验证模式,但是本领域普通技术人员将看到,可以在本发明构思的实施例内并入的多步验证模式中使用多于两步。

参考图4,假定正在利用可能的位线强制将选择的非易失性存储单元编程到目标阈值电压分布p。相对于验证电压vr(例如,目标阈值电压分布p内的最小电压电平)做出对于当前阈值电压是否落入目标阈值电压分布p内的确定。然而,在做出该确定之前(即,在(n步)多步验证模式中的第n验证步骤之前),执行关于小于验证电压vr的对应预验证电压pvr的第一(或者随后的)验证步骤。在图4示出的例子中,在执行关于预验证电压pvr的第一验证步骤之后,执行关于验证电压vr的第二验证步骤。

因此,在图4中示出的多步验证模式预先假定至少一个选择的存储单元(或多个)尚未成功地被编程到目标阈值电压分布内的阈值电压。在当前编程操作(图3的s10)之后,选择(图3中的s20)和执行(图3中的s30)图4的2步验证模式。如果在第一验证步骤期间确定选择的存储单元的当前阈值电压小于预验证电压pvr,那么就对于下一编程间隔将选择的存储单元指定为慢速存储单元。在下一迭代编程步骤期间,可以使用正常编程控制电压对目前指定为慢速存储单元(或多个)的存储单元进行编程。

然而,如果在第一验证步骤期间确定选择的存储单元(或多个)的当前阈值电压大于或等于预验证电压pvr,那么就可以执行关于验证电压vr的第二验证步骤。如果在第二验证步骤期间确定选择的存储单元的当前阈值电压小于验证电压vr(但是大于或等于预验证电压pvr),那么就对于下一编程间隔将选择的存储单元指定为快速存储单元。在下一迭代编程步骤期间,将使用位线强制编程控制电压对目前指定为快速存储单元(或多个)的存储单元进行编程。

可以进一步假定,上面建议的第一和第二验证步骤的每个包括预充电位线、过渡(develop)位线和读出位线的子步骤。在这样的上下文中,例如,在图4中示出的多步验证模式的第二验证步骤中,预充电电压(例如,电源电压或者小于电源电压的电压)将不施加到没有通过第一验证步骤的存储单元(或多个)(即,它们的阈值电压小于预验证电压pvr)的位线(或多个)上。用这样的方式,没有通过第一验证步骤的一些存储单元(或多个)可以被排除在第二验证步骤之外,从而节约存储系统内的电力并且降低公共源极线上的噪声。

在这样的上下文中,n步验证模式的第1至第m(其中,m小于n)验证步骤可以被视为“粗略”验证步骤,而第m+1至第n验证步骤可以被视为“精细”验证步骤。粗略验证步骤对精细验证步骤的各个数目可以与所施加的编程步骤(例如,正常编程对位线强制)相关,并且可以将两者平衡以将编程速度与编程精度进行最优化。

图4b的电压波形是可以用于按顺序验证选择的存储单元(或多个)的阈值电压的验证脉冲的一个例子。验证脉冲包括用于第一预定时间段的预验证电压pvr,该pvr后跟用于第二预定时间段的验证电压vr,其中,第一和第二预定时间段可以不同或者相同。

现在将结合图5、图6和图7描述与选择性地使用本发明构思的实施例内的多步(例如2步)验证模式关联的某些好处。具体来说,多步验证模式的使用将显示出在验证操作(图3中的s30)期间降低跨越根据本发明构思的实施例的非易失性存储器设备的组成存储单元阵列的公共源极线上的噪声。

图5是本发明构思的实施例内的、存储单元阵列110的部分电路图。存储单元阵列110包括存储单元以及用于所配置的存储块的对应的信号线,所述存储块具有分别连接至多个位线bl0至bln的多个单元串。存储块包括沿多个位线bl0至bln中的相应位线分别按串连接的多个存储单元mc0至mcm-1,所述多个位线bl0至bln在连接至串选择线ssl的对应串选择晶体管sst与连接至地选择线gsl的地选择晶体管gst之间延伸。公共源极线csl在示出的实施例中被布置为邻近地选择线gsl,但是可以以另外方式布置。因此,每个串选择晶体管sst连接至位线bl,并且每个地选择晶体管gst连接至公共源极线csl。而且,在图5中,电阻器rp0至rpn-1概念性地表示相对于公共源极线csl存在的分布(例如,寄生)电阻元件与电容元件(或多个)。

在验证操作期间,流经每个单元串的电流量根据串中开启(on)的存储单元的数目而改变。结果,公共源极线vcsl上布置的负载电压依照流经一个或多个单元串(或多个)的电流的累积改变而改变。为了进一步示出该现象,假定连接至选择的字线wl0的存储单元m0的当前状态是擦除状态(e),连接至同一字线wl0的另一存储单元m0_1的当前状态是已编程状态。因此,当连接至选择的字线wl0的不同存储单元是开启单元时,可以容易地看出,给定所连接的存储单元的不同编程状态,则流经各个单元串的电流i0和i1应当是不同的。作为电流可变性的直接结果,公共源极线电压vcsl的电压/电流负载将根据开启单元的数目而改变。

例如,当仅连接至选择的字线wl0和位线bl0的存储单元m0是开启单元而连接至选择的字线wl0和位线bl1的存储单元m0_1是关断(off)单元时,施加在电阻器rp0两端的电压变为i0×rp0,由此定义用于公共源极线电压vcsl的第一电平。再举一例,当连接至选择的字线wl0与位线bl0和bl1的存储单元m0和m0_1是开启单元时,施加在两个电阻器rp0和rp1两端的电压变为i0×rp0+i1×rp1,由此定义不同的公共源极线电压vcsl。

从这个简单的例子中,可以看到,开启单元的数目的降低——因为可能受到使用适合的多步验证模式的影响——将随着选择的存储单元(或多个)的阈值电压向目标阈值电压分布移动而趋向于使公共源极线csl的负载减少并且稳定。也就是说,在n步验证模式的第n步期间开启单元的数目通常将比第1步期间的数目要少。

图6是进一步示出与公共源极线噪声的影响有关的存储单元的概念性电路/电压图。

参考图5和图6,当电流流经公共源极线csl时,将由寄生电阻元件和电容元件引起公共源极线csl上的电压改变。公共源极线csl上的该电压改变(vcsl)本质上充当噪声电压。假定非易失性存储器设备内的高电压生成器生成与地电压gnd关联的电压vgg。然而,在验证操作期间形成的存储单元通道是根据存储单元的控制栅极g和源极s之间的电压差vgs来控制的。因此,噪声差vcsl存在于实际被提供给存储单元的控制栅极g的电压vgg与形成存储单元通道的电压vgs之间。这样的公共源极线电压vcsl可能导致在验证操作期间的读出错误。因此,可以理解,降低在验证操作期间(或者更加具体来说,在多步验证模式的验证步骤期间)开启存储单元的数目以及对应的开启单元电流将降低这类读出错误。

图7是进一步示出在使用多步验证模式与降低公共源极线电压vcsl之间的关系的另一概念性图。参考图7,未通过依照预验证电压pvr的、图4的2步验证操作的第一验证步骤的开启单元的位线在第二验证步骤期间将不接收预充电电压。因此,在第二验证步骤期间开启单元电流相对于被指定为慢速的存储单元的数目而降低。开启单元电流的降低还会成比例地降低公共源极线电压vcsl。

与图4中示出的多步验证模式相反,图8——包括图8a和图8b——示出可并入本发明构思的一些实施例内的单步验证模式。

参考图8,仅可以执行单个验证步骤以确定选择的存储单元(或多个)的后编程(post-progrmming)阈值电压是否落入目标阈值电压分布p内。这里再一次地,假定预充电电压在验证操作期间被施加到选择的字线。图8b的波形示出具有预定时间段以及由单个验证电压vr定义的电平的验证脉冲的一个可能例子。

因为1步验证模式仅包括单个验证步骤,所以其执行时间比诸如图4中描述的那样的多步验证模式降低了。在图8的实施例中,与图4的实施例相比较,略去或者跳过(skip)在先执行的关于预验证电压pvr的第一验证步骤。

然而,应当注意,即使在选择单步验证模式来在验证操作期间使用的情况下,位线强制仍然也可以被用作编程操作的一部分。然而,标识一组选择的存储单元内的慢速存储单元对快速存储单元因此必须在验证操作之外进行。例如,可以在编程间隔之前使用一次预验证操作或者迭代重复的预验证操作。否则,对使用位线强制或者正常编程控制电压的确定可以类似于针对图2、图3和图4描述的实施例。

因此,并且如针对图2至图7中示出的实施例所描述的那样,根据本发明构思的实施例的操作存储系统的方法可以控制使用不同方案验证操作(或者验证步骤)期间的并且针对不同验证模式的开启/关断存储单元的数目。

例如,在结合所确定的验证模式使用迭代执行的预验证操作的情况下,指定为慢速(例如,未通过或者具有接近阈值电压范围以外的阈值电压)的存储单元在下一编程间隔期间将不接收位线强制。另一方面,指定为快速(例如,通过或者具有接近阈值电压范围内的阈值电压)的存储单元在下一编程间隔期间将接收位线强制。本领域技术人员将认识到,相对于选择的存储单元的编程,可以在非易失性存储系统的总体操作内执行各种类型的预验证操作(例如,在第一编程间隔之前、在每个编程间隔之前、在第一验证操作之后、在每个验证操作之后,等等)。

图9是示出根据本发明构思的实施例的非易失性存储器设备的一个可能例子的方框图。

参考图9,非易失性存储器设备100包括相关部分:存储单元阵列110、地址译码器120、页缓冲电路130、数据输入/输出电路140、电压生成器150和控制逻辑160。对于本发明构思的一些相关实施例,温度检测器171和/或噪声检测器172被示为选择性地连接至控制逻辑160。

存储单元阵列110可以被配置为具有多个存储块,但是为了简要起见在图9中仅示出一个存储块。每个存储块可以被配置为具有多个物理页。每个物理页可以包括连接至公共字线的存储单元序列。存储单元阵列110中的每个存储单元可以被配置为存储单个数据比特(以下,称为单电平单元(signlelevelcell),slc)或者两个或更多数据比特(以下,称为多电平单元(multilevelcell),mlc)。

在本发明一个更为具体的实施例中,存储单元阵列大体上包括以每物理页两个逻辑页排列的2比特mlc闪存。如本领域技术人员所理解的那样,逻辑页可以被定义为能够同时编程到一个物理页的数据集合。在本发明构思另一实施例中,存储单元阵列大体上包括以每物理页三个逻辑页排列的3比特mlc闪存。

按照存储单元阵列110实现闪存设备的执行假定,所组成的存储单元可以以多个单元串配置。单元串中的每一个都包括连接至串选择线ssl的串选择晶体管、分别连接至多个字线wl0至wlm-1的多个存储单元以及连接至地选择线gsl的地选择晶体管。串选择晶体管连接至位线bl,并且地选择晶体管连接至公共源极线csl。公共源极线csl可以从csl驱动器115接收地电压或者csl电压(例如,vdd)。

再次参考图9,地址译码器120通过选择线ssl和gsl以及字线wl0至wlm-1连接至存储单元阵列110。在编程操作或者读取操作期间,地址译码器120通过控制逻辑160接收地址信号addr并且选择至少一个字线。

页缓冲电路130通过位线bl0至bln-1连接至存储单元阵列110。典型地,页缓冲电路130被配置为具有多个页缓冲器(未示出)。在所谓的“全bl结构(allblstructure)”中每个位线可以分别连接至每个页缓冲器,或者在所谓的“屏蔽bl结构(shieldedblstructure)”中两个或更多位线可以连接至一个页缓冲器。可以请求页缓冲电路130临时存储在编程期间要在选择的页中编程的“编程数据”和/或在读取操作期间针对选择的页从存储单元阵列110中获得(retrieve)的“读取数据”。

数据输入/输出(i/o)电路140被内部配置在页缓冲电路130与外部连接的i/o线(data(数据))之间。数据i/o电路140经由i/o线从外部设备(例如,存储器控制器)接收编程数据,然后将接收到的编程数据dl施加到页缓冲电路130。反之,数据i/o电路140从页缓冲电路130接收读取数据dl并且经由数据i/o线将其提供给外部设备。

电压生成器150接收外部提供的电源电压(pwr)并且生成编程和从存储单元阵列110读取数据所必需的控制电压(例如,字线电压vwl)。在控制逻辑160的定时控制下,电压生成器150生成并且向地址译码器120提供各种控制电压,诸如字线电压vwl。在图9示出的例子中,电压生成器150包括高电压生成器151、低电压生成器152和负电压生成器153。

这些特定生成器中的每一个都可以用于生成某一范围的控制信号电压。例如,高电压生成器151可以生成大于外部提供的电源电压的高电压hv。高电压可以用作编程电压vpgm或者通过电压vpass。低电压生成器152可以生成小于或等于电源电压的低电压lv。电源电压或者低电压可以用作位线预充电电压或者csl电压。负电压生成器153可以生成小于0v的负电压nv。负电压可以用作验证电压。

如通常理解的那样,控制逻辑160本质上控制组成非易失性存储器设备100的其他组件的各个电路功能和/或共同电路功能。通过各种经协议定义的命令cmd和相关控制信号(或多个)ctrl,控制逻辑指导编程、读取和擦除操作的执行以及相关的存储器设备维护操作。例如,在编程操作期间,控制逻辑160通过控制地址译码器120而使得能够将特定控制电压(或多个)及时施加到选择的字线,其还通过控制页缓冲电路130和数据i/o电路140而使得能够存储选择的页的编程数据。

在按照本发明构思的实施例的编程操作期间,控制逻辑160选择性地使能对于被指定为快速的存储单元施加定义位线强制方案的控制电压,以及对于被指定为慢速的存储单元施加定义正常编程方案的控制电压。也就是说,控制逻辑160可以促使位线强制电压blfv的发生以及将其施加到连接至快速存储单元的位线,以及可以促使位线编程电压blpv的生成以及将其施加到连接至慢速存储单元的位线。该明确的控制电压处理方案可以得到源自先前的验证操作期间和/或预验证操作期间的慢速/快速存储单元指定数据,其中,慢速/快速存储单元指定数据存储在与控制逻辑160关联的或者与页缓冲电路130内的对应页缓冲器关联的存储器、寄存器或者锁存器中。

在本发明构思的一个更为具体的实施例中,控制逻辑160包括验证模式选择器162,其被配置为从将用于下一验证操作中的多个可能验证模式中选择验证模式。如上所述,由验证模式选择器162做出的验证模式选择可以是响应于对一个或多个编程条件(或多个)的评估而做出的。以下,为了描述的简要起见,将以单数形式来提及“编程条件”,但本领域普通技术人员将认识到,可以在选择合适的验证模式中独立地或者有条件地(例如,级联地)评估多个编程条件。而且,将在下文中在简化假定下描述本发明构思的示范性实施例,该简化假定为:多个验证模式仅包括1步验证模式和2步验证模式。本领域技术人员将认识到,任意数量的、合理定义的验证模式可以包括在所定义的、符合本发明构思的实施例的多个验证模式中。然而,与其对可能用于具体存储系统中的、通常所理解的验证模式的长长的列表进行详述,不如将1步验证模式与2步验证模式之间的简单选择——如控制逻辑160实现的那样——用作基本例子。自然,包括在多个验证模式中的验证模式之间的选择是就能说出来的几个诸如形成存储单元阵列110的存储单元的类型(或多个)、存储单元的当前数据状态(或多个)、并入非易失性存储器设备的主机所要求的数据存取速度(或多个)、存储单元的操作寿命以及非易失性存储器设备的执行环境(例如,温度、电压、操作循环的数目等等)而做出的设计选择的事。这些考虑还将驱动将在最终进行验证模式选择中进行评估的各种编程条件(或多个)的标识与使用。

在符合图9示出的例子的本发明构思的一个实施例中,验证模式选择器162通过对在当前编程操作期间的已执行编程间隔或者编程循环(例如,编程条件的一个例子)的数目进行计数(例如,评估编程条件的一个例子),来在1步验证模式与2步验证模式之间进行选择。例如,“编程间隔阈值”可以存储为与验证模式选择器162关联的寄存器或者存储器内的值。只要已执行编程间隔的数目保持小于编程间隔阈值,验证模式选择器162就选择2步验证模式供下一验证操作期间使用。另一方面,当已执行编程间隔的数目达到编程验证阈值时,验证模式选择器162选择1步验证模式供下一验证操作期间使用。

考虑目前的闪存单元的固有趋势是在重复施加的操作(编程、读取和擦除)的压力下将用坏以及对更大数据存取速度的需求,每编程操作的已执行编程间隔的数目是一个重要的存储系统考虑因素。如已经在上面描述的那样,可以期望有条件地使用(例如,快速mlc对慢速mlc的指定)位线强制和正常编程来降低已执行编程间隔的总体数目。也就是说,并入了选择性位线强制的图9的非易失性存储器设备100可以最初使用2步验证模式来执行验证操作(或多个),直到已执行编程间隔的数目达到编程间隔阈值——在该时间点使用1步验证模式继续验证操作(或多个)——为止。该方法不仅将会降低已执行编程间隔的总体数目,而且将会降低用于编程选择的存储单元所需要的总体时间。注意,在验证模式之间的选择性切换是动态执行的——或者在总体编程操作期间执行。通过比较的方式,在传统编程操作期间使用的验证模式不能基于所评估的编程条件在单位(unitary)编程操作内进行改变。

图10示出与示范性2比特mlc关联的四个(4)阈值电压分布。非易失性存储单元的擦除状态(e)和第一至第三编程状态(p1、p2和p3)由各个相应的阈值电压分布来表示。然而,图10进一步示出相对于所假定的能够选择性地使用位线强制的编程操作的、图9的选择性验证模式特征。

当基于所计算的已执行编程间隔的数目所选择时,可以使用1步验证模式或者2步验证模式执行三个(3)编程状态p1、p2和p3中的每一个的验证操作。在图10示出的实施例中,进一步假定当前编程间隔(“i”)小于分别与编程状态p1、p2和p3关联的三个(3)编程间隔阈值n1、n2和n3(例如,大于1且具有相等或不同值(或多个)的正整数)中的每一个。因此,与第i编程间隔关联的当前(第i)验证操作使用2步验证模式。

按照与图2关联的描述,使用这样的2步验证模式执行对于第一编程状态p1的第i验证操作:该2步验证模式包括关于第一预验证电压pvr1执行的第一验证步骤以及关于第一验证电压vr1执行的第二验证步骤。使用这样的2步验证模式执行对于第二编程状态p2的第i验证操作:该2步验证模式包括关于第二预验证电压pvr2执行的第一验证步骤以及关于第二验证电压vr2执行的第二验证步骤,并且使用这样的2步验证模式执行对于第三编程状态p3的第i验证操作:该2步验证模式包括关于第三预验证电压pvr3执行的第一验证步骤以及关于第三验证电压vr3执行的第二验证步骤。

对于每个编程状态p1、p2和p3来说并且作为2步验证模式的每个相应的第一验证步骤的结果,经历编程并且具有小于各个预验证电压pvr的阈值电压的存储单元(即,驻留于预计目标阈值电压分布p之外的存储单元)将不接收位线强制控制电压,并且可以对于下一编程间隔同时被标识为慢速存储单元。相反,对于每个编程状态p1、p2和p3来说并且作为每个相应的第一验证步骤的结果,经历编程并且具有大于或等于各个预验证电压pvr但是小于相应验证电压vr的阈值电压的存储单元将接收位线强制控制电压,并且可以同时被标识为快速存储单元。

用这样的方式,各个预验证电压(pvr1、pvr2、pvr3)用作识别“通过(pass)”存储单元和“不通过(not-pass)”存储单元的通过/不通过阈值,该“通过”存储单元具有驻留于接近阈值电压范围内的阈值电压(例如,图10的阴影区域),该“不通过”存储单元具有驻留于远距阈值电压范围中的阈值电压。“通过”和“不通过”存储单元的控制电压处理是不同的(例如,位线强制或正常编程)。在每个验证操作中继续2步验证模式直到已执行编程间隔的数目达到定义的编程间隔阈值(例如,i≥n1、n2或n3)的时候。

当已执行编程间隔的数目达到定义的编程间隔阈值(例如,i≥n1、n2或n3)时,根据本发明构思的一些实施例的操作存储器设备的方法对于编程状态p1、p2和p3中的每个选择1步验证模式。示范性1步验证模式省去(skip(跳过))与各个预验证电压(pvr1、pvr2、pvr3)关联的第一验证步骤以执行关于各个验证电压(vr1、vr2、vr3)执行的单个验证步骤。

如先前所述,可以独立于验证模式的选择来做出在当前(或下一)编程间隔期间对特定存储单元使用位线强制的确定。因此,可以使用选择性位线强制而不管是正在使用2步验证模式还是1步验证模式。例如,可以在稍后执行的1步验证模式期间保持和使用源自先前执行的2步验证模式期间的最近存储的慢速/快速存储单元指定数据。可替换地,标识慢速/快速存储单元的预验证步骤可以在所选择的验证模式之外执行。

按照上面关于图9和图10给出的描述,图11是概念性地示出根据本发明构思的一些实施例的、在编程间隔的数目n+1下施加ispp定义的编程电压序列(vpgm0-vpgmn+1)以及相应的验证电压的图。

参考图11,对编程间隔(循环)0至n+1施加递增的(δispp)编程电压vpgm0至vpgmn+1。最初在编程间隔0期间使用2步验证模式并且继续直到编程间隔n-1为止。然而,第n编程间隔超过通常针对全部三个(3)编程状态p1、p2和p3(即,n1=n2=n3=n)定义的编程间隔阈值。因此,在施加第n编程电压vpgmn之后,存储器设备100的控制逻辑160选择1步验证模式,该1步验证模式继续使用直到选择的存储单元(或多个)被正确编程或超过编程间隔的最大数目为止。如关于图4、图8和图10所示,在2步验证模式期间施加的每个验证电压都是由预验证脉冲pvr#——其后跟验证脉冲vr#——形成的复合脉冲,而在1步验证模式期间施加的每个验证电压简单地为验证电压脉冲vr#,其中#是与每个编程状态相应的号码。

因此,在图11示出的例子中,在编程间隔0至n-1期间执行的2步验证模式的每个周期包括生成和施加六个(6)验证电压脉冲(每编程状态2个)。相比之下,在前进方向的编程间隔n期间执行的1步验证模式的每个周期包括生成和施加三个(3)验证电压脉冲(每编程状态1个)。本领域普通技术人员将看到,随着mlc编程状态的数目增大(例如,从2到3到4...),执行多步验证模式所需要的时间和开销(读取验证操作、pass(通过)/fail(失败)校验等等)显著增加。因此,期望mlc实际上使得能够存储3个或更多个数据比特,本发明构思的实施例提供的在单步对多步验证模式之间进行选择的动态能力将提供这样的存储器设备以及并入的存储系统:其具有使用更少的编程间隔但具有较高可控制编程精度的扩展能力。

图12是概述操作根据本发明构思的实施例的、诸如图9中的存储器设备100这样的非易失性存储器设备的方法的相关部分的流程图。

共同参考图9至图12,操作方法包括编程根据本发明构思的实施例的非易失性存储器设备100内的非易失性存储单元的方法。

利用相应的编程命令cmd接收到的编程数据通过数据i/o电路140被加载到页缓冲电路130(s110)。响应于由控制逻辑160响应于编程命令cmd生成的控制信号ctrl,电压生成器150生成编程操作必需的一些控制电压(例如,偏置电压、编程电压、通过电压、高电压、阱(well)电压、验证电压,读取电压等等)。一旦所需要的控制电压以及相应的控制信号由电压生成器150稳定地提供,控制逻辑160就使得在第一编程间隔(i=0)期间执行第一编程循环(循环0)(s120)。

响应于包括在被加载到页缓冲电路130的编程数据中的各个数据值,设置存储单元阵列110的位线bl0到bln-1(s130)。随后,通过电压vpass被施加到未选择的字线以及编程电压vpgm被施加到选择的字线以对选择的存储单元(或多个)进行编程(s140)。例如,控制逻辑160可以控制页缓冲电路130以及电压生成器150的操作以使得位线强制电压blfv(例如,1.0v)被施加到连接至被标识为快速的存储单元的位线上。而且,控制逻辑160可以控制页缓冲电路130以及电压生成器150的操作以使得位线强制电压blfv不被施加到慢速存储单元。相反,位线编程电压blpv(例如,0.0v)将被施加到连接至慢速存储单元的位线上。

可以在编程操作以外执行的预验证操作期间或者作为生成初始慢速/快速存储单元指定数据的制造商测试的一部分,来进行慢速/快速存储单元的初始标识。可替换地,所有选择的存储单元都可以在第一验证操作之前被初始编程(对于i=0来说,s140)为慢速或者快速存储单元。

在每个连续编程步骤(s140)之后,本方法对编程条件进行评估并且基于所评估的编程条件选择将在下一验证操作期间使用的验证模式。在图12中示出的图示例子中,再次假定先前的执行例子。因此,编程条件的示范性评估包括确定当前编程循环“i”是否大于或等于预定的编程间隔阈值“n”(s150)。如果否的话,则选择2步验证模式(s150=否),否则选择1步验证模式(s150=是)。也就是说,在图12的例子中,基于编程条件做出的验证模式的选择包括在单步和多步验证模式之间的简单选择。

相对于每个选择的存储单元选择性执行2步验证模式(s160)或者1步验证模式(s165)产生两种结果其中之一。要么选择的存储单元通过(即,正确编程到定义的阈值电压分布-例如,p1、p2、p3),要么失败(即,未正确编程到定义的阈值电压分布-例如,p1、p2、p3)。“通过”状态终止对于选择的存储单元的编程操作。“失败”状态调用下一编程循环。

在图12的例子中下一编程循环从首先将当前编程间隔“i”与所定义的编程间隔最大数目(max)相比较(s170)开始。如果“i”达到max,则编程操作以失败(或者出错)条件终止。否则,当前编程间隔计数器“i”增加1(s180),并且编程操作循环到下一编程循环的开始。

在这一点上并且作为通常所理解的那样,可以在施加编程电压之前将通过电压施加到选择的字线(s140)。在施加编程电压之后,编程步骤(s140)还可以包括所谓的编程恢复操作。在编程恢复操作中,偏置电压被施加到字线wl0至wlm-1,串选择线ssl被放电,并且施加到位线bl0至bln-1的电压被放电。

如上所述,可以使用(例如)计数器/比较器电路以及存储编程间隔阈值的寄存器或者锁存器在控制逻辑160中进行编程状态的示范性评估(即,将当前编程间隔“i”与编程间隔阈值“n”进行比较)。可以分别针对每个编程状态(例如,p1、p2、p3)建立各种且可能不同的编程间隔阈值。

前述例子已经具体地描绘了并入了每存储单元存储2数据比特的mlc的非易失性存储器设备。然而,本教导可以容易地延至每存储单元存储3个或者更多个数据比特的mlc。例如,图13——包括图13(a)、图13(b)和图13(c)——概念性地示出应用于每物理页存储3个逻辑页的数据的3比特mlc的本发明构思的实施例。

图13(a)示出第一编程阶段,其针对与最小有效位(lsb)关联的第一逻辑页。在擦除状态(e)和一个(1)第一级中间编程状态(p)之间对每个lsb进行编程。因此,这两个状态之间的编程效率可以很好地指示1步验证模式的使用。换句话说,正在被编程的特定mlc数据比特可以用作用于选择特定验证模式的编程条件。

图13(b)示出第二编程阶段,其针对与次高有效位(nsb)(即,3比特数据的第2比特)关联的第二逻辑页。在擦除状态(e)和三个(3)第二级中间编程状态(p1、p2、p3)之间对每个nsb进行编程。例如,第二编程级可以使用诸如针对图10描述的那样的方法。也就是说,可以相对于三个(3)第二级中间编程状态(p1、p2、p3)中的每一个来定义预验证电压pvr#和验证电压vr#。使用这些电压,最初使用2步验证模式直到已执行编程间隔数目“i”达到与三个(3)第二级中间编程状态(p1、p2、p3)关联的各个编程间隔阈值(n1、n2、n3)为止,此时可以选择1步验证模式。

图13(c)示出第三编程阶段,其针对与最高有效位(msb)关联的第三逻辑页。在擦除状态(e)和七个(7)(最终)编程状态(q1–q7)之间对每个msb进行编程。第三编程阶段可以使用类似于针对图10描述的那样的方法,除了编程状态的数目从3增大到7之外。虽然如此,但是仍然可以相对于七个(7)编程状态(q1–q7)中的每一个来定义预验证电压pvr#和验证电压vr#。使用这些电压,再次初始使用2步验证模式直到已执行编程间隔数目“i”达到与七个(7)编程状态(q1-q7)关联的各个编程间隔阈值(m1–m7)为止,此时可以选择1步验证模式。因为利用中间状态编程间隔阈值(n1、n2、n3),所以最终状态编程间隔阈值(m1–m7)可以根据设计需求而全部具有相同的整数值或者一个或多个编程间隔阈值而不同于其他编程间隔阈值。

尽管未在图13中示出,但是本领域普通技术人员将看到,对于具有存储4比特和更高数据比特能力的mlc,可以在对应的编程阶段中将第四和更高逻辑页类似地编程。

在这一点上,应当重申,先前相对于图9至图13描述的实施例全部都被描绘为由已执行编程间隔的数目定义的编程条件以及在通过组成验证步骤的数目来区别的验证模式之间进行选择。然而,本发明构思的范围不局限于仅该类型的编程条件(及其评估),和/或仅这些类型的验证模式。已经在上面建议了其他可能的编程条件及验证模式,并且本领域技术人员将理解,从同样角度考虑的编程条件、其评估方法以及可能类型的验证模式的选择也将是我们的设计和应用。

图14是示出根据本发明构思的实施例的非易失性存储器设备的另一可能例子的方框图。图13的非易失性存储器设备200包括存储单元阵列210、地址译码器220、页缓冲电路230、数据输入/输出电路240、电压生成器250以及控制逻辑260。类似于相对于图9描述的本发明构思的实施例,非易失性存储器设备200可以选择性地包括连接至控制逻辑260的温度传感器271和/或噪声检测器272。这些组件以类似于先前相对于图9的实施例描述的相应元件的方式被配置和操作。然而,针对图14在一些额外细节上描述页缓冲电路230的结构和功能。

如以前那样,页缓冲电路230通过各个位线bl0至bln-1连接至存储单元阵列210。如以前那样,页缓冲电路230用来临时存储编程数据和读取数据。

更加具体来说,页缓冲电路230包括多个页缓冲器231和232。页缓冲器231和232中的每一个包括第一、第二和第三锁存器(lat1、lat2、lat3)。假定在存储单元阵列210中并入2比特mlc,第一锁存器lat1可以被配置为存储编程(或者读取)数据的lsb,第二锁存器lat2可以被配置为存储msb。第三锁存器lat3可以被配置为存储慢速/快速存储单元指定数据,诸如可以用于表示位线强制的使用(或不使用)。

术语“存储单元指定数据”是一个宽泛的术语,并且表示标识存储单元阵列中的非易失性存储单元之间的相关编程状态、阈值电压状态或者编程能力的任意数据(或者信息)。已经在上面相对于驻留于所定义的接近阈值电压范围或者远距阈值电压范围中的阈值电压使用了相对指定“慢速”和“快速”。可以针对展现不同编程速度(例如,阈值电压响应于一些控制电压的施加而以该速度移动)的存储单元或者由于不同级别的损耗所引起的编程的不同易感性来进行类似指定。通过前述描述和这里阐述的例子,本领域技术人员将理解,可以定义表示各种形式的编程条件的各种形式的存储单元指定数据并且其可以用于促进动态选择本发明构思的实施例内的验证模式。

返回到图14,第三锁存器lat3被配置为存储由预验证操作结果或者验证操作所定义的存储单元指定数据。按照图10的执行例子,第三锁存器lat3可以存储数据值0和数据值1,数据值0用于表示将使用位线强制进行编程的快速存储单元,数据值1表示将使用正常编程来进行编程的慢速存储单元。在本发明构思的一些实施例中,可以相对于在选择的存储单元(或多个)的当前阈值电压与用于特定编程状态的预验证电压和验证电压之间的比较来得出存储单元指定数据。

因此,控制逻辑260可以响应于外部提供的命令cmd和/或控制信号(或多个)ctrl来控制非易失性存储器设备200的编程、读取和擦除操作。控制逻辑260基于存储在第三锁存器lat3中的存储单元指定数据,促使在当前编程间隔期间对快速存储单元执行位线强制或者对慢速存储单元执行正常编程。

而且,控制逻辑260可以依照存储在第三锁存器lat3中的存储单元指定数据,使用验证模式选择器262评估一个或多个编程条件(或多个)。也就是说,可以基于所存储的存储单元指定数据,整体地或者部分地评估特定编程条件。例如,验证模式选择器262可以在编程操作期间通过评估存储在多个页缓冲器231和232中的每一个的第一、第二和第三锁存器lat1至lat3中的数据确定某一编程状态是否是“通过”。

应当注意,图14中示出的验证模式选择器262被配置为在控制逻辑260内。然而,不一定总是这样的情况,并且可以在控制逻辑260之外、诸如页缓冲器230或者与页缓冲电路关联的电路内提供分离的验证模式选择器262。

应当注意的是,本发明构思的一些实施例可以使用包括编程状态数据的存储单元指定数据,这些编程状态数据表示对于一个或多个编程数据比特来说是否存在特定编程状态。因此,一个或多个编程数据比特的编程状态可以被用作某一类型的编程条件,可以评估该编程条件以选择特定的验证模式。

图15是示出相对于非易失性存储器设备——诸如图14的非易失性存储器设备200——的编程操作的、示范性2比特mlc的阈值电压分布的实施例的图。

参考图15,再次示出擦除状态(e)和三个(3)编程状态(p1、p2、p3)。为了说明的目的,假定在编程操作期间可以选择1步验证模式或者2步验证模式。然而,不是基于慢速/快速指定来进行选择,而基于选择的存储单元(或多个)的当前编程状态来选择每个验证模式。

因此,在图15示出的实施例中,在使用2步验证模式的随后的验证操作期间关于预验证电压pvr#和验证电压vr#来验证正在被编程到第一或者第二编程状态p1、p2的选择的存储单元,如前所述。然而,在使用1步验证模式的随后的验证操作期间关于验证电压vr3来验证正在被编程到第三编程状态p3的选择的存储单元。在一些相关实施例中,可以通过将选择的存储单元的阈值电压与通过阈值电压(在图15的示出例子中为p2)进行比较来评估该特定编程条件(即,编程到第三(或者最高)编程状态)。一旦选择的存储单元的阈值电压达到该通过阈值,就选择1步验证模式。还要注意,以类似于先前描述的方式,针对图15的实施例的选择的存储单元而选择性地使能/禁用位线强制。

图16是示出在图14描述的实施例内的、可以在编程操作期间在多个编程间隔施加的编程电压和验证脉冲的一个可能序列的图。

参考图16,在编程间隔0至k+1施加ispp定义的编程电压序列(vpgm0-vpgmk+1)。在编程间隔0至k-1期间,按照2步验证模式的验证脉冲在每个编程电压之后被施加到选择的存储单元(或多个)。然而,在第k-1编程间隔中,假定选择的存储单元(或多个)的阈值电压达到或者超过通过阈值电压p2。因此,在第k编程间隔以及随后的编程间隔期间,选择1步验证模式并且按照1步验证模式的验证脉冲在每个编程电压之后被施加到选择的存储单元(或多个)。

图17是示出在图14描述的实施例内的、可以在编程操作期间在多个编程间隔施加的编程电压和验证脉冲的另一个可能序列的图。

参考图17,对p1和p2使用两个不同的通过阈值电压。第一通过阈值电压p1表示将第一编程状态p1与第二编程状态p2分隔开的阈值电压边界。选择第一类型的2步验证模式以便在选择的存储单元(或多个)的阈值电压小于p1时(例如,在编程间隔i-1到i期间)使用。然而,选择不同的第二类型(例如,使用不同的验证脉冲)的2步验证模式以便一旦选择的存储单元(或多个)的阈值电压达到或者超过p1时(例如,在编程间隔i+1到k-1期间)使用。最后,选择1步验证模式以便在选择的存储单元(或多个)的阈值电压达到或者超过p2时(例如,在编程间隔k和前进方向)使用。

图16和图17中示出的实施例进一步示出如何可以降低在编程操作期间的编程间隔的数目,由此降低对mlc编程所需的时间并且大略地降低存储单元损耗。本领域的技术人员将从前述描述中看出,编程状态可以用作编程条件,可以对该编程条件进行评估并且将其用于选择合适的验证模式。还要注意,为此使用的各个且不同定义的各个通过阈值电压仅仅是可以对各个编程状态进行评估的许多不同方式中的一种。

如图18的例子进一步所示,在特定验证操作期间施加的验证电压的本质和组成也可以相对于特定编程状态而改变。在图18中,因为通过p1表示针对第一编程状态进行编程的结束,所以从编程间隔k(之后是大于或等于p1的阈值电压检测)开始,施加各个验证脉冲以便仅验证第二和第三编程状态p2和p3。这里再次地,针对特定编程状态(或多个)进行选择的验证模式内的验证脉冲的总体降低会降低总体编程时间、存储单元损耗和功耗。

图19中示出的本发明构思的实施例组合了几个先前给出的教导。再有,图19是示出示出在图14描述的实施例内的、可以在编程操作期间在多个编程间隔施加的编程电压和验证脉冲的另一个可能序列的图。第一和第二通过阈值电压p1和p2用来表示编程状态并选择验证模式(例如,在1步验证模式和2步验证模式之间)。而且,实现作为编程状态的函数的选择性验证脉冲施加。也就是说,在第二编程状态期间(p1≥vth>p2)施加两个验证脉冲,在第三编程状态期间(p2≥vth)施加一个验证脉冲。

图20是概述操作根据本发明构思的实施例的、诸如图14的非易失性存储器设备200这样的非易失性存储器设备的方法——包括编程方法——的流程图。

共同参考图14至图18,根据本发明构思的实施例的非易失性存储器设备200的编程方法如下。

通过数据i/o电路240将编程数据加载到页缓冲电路230中(s210)。然后,控制逻辑260控制第一编程循环(i=0)的执行(s220)。

根据加载到页缓冲电路230中的编程数据设置位线bl0至bln-1(s230)。然后,通过电压被施加到未选择的字线以及编程电压被施加到选择的字线以对选择的存储单元(或多个)进行编程(s240)。例如,控制逻辑260可以控制页缓冲电路230以及电压生成器150,以将位线强制电压blfv(例如,1.0v)施加到连接至快速存储单元的位线上。另一方面,控制逻辑260可以控制页缓冲电路230以及电压生成器250,以将位线编程电压blpv(例如,0.0v)施加到连接至慢速存储单元的位线上。

然后,控制逻辑260的验证模式选择器262通过参考相应的通过阈值电压来确定是否已经达到某一编程状态(例如,是否vth≥ps,其中ps是特定编程状态“s”的通过阈值电压)。验证模式选择器262做出的该确定可以在控制逻辑260内使用,以便从多个可能验证模式中选择一个验证模式(s250)。

例如,在图20示出的例子中,如果尚未进入某一编程状态ps,或者尚未达到或者超过相应的通过阈值电压(s250=否),则选择并且执行2步验证模式(s260)。然而,如果已经进入某一编程状态ps,或者已经达到或者超过相应的通过阈值电压(s250=是),则选择并且执行1步验证模式(s265)。两种验证模式之一所进行的成功验证(s260或者s265=通过)导致编程操作的终止。

除非已经达到编程间隔的最大数目(max)(s270=是),否则两种验证模式之一进行的失败验证(s260或者s265=否)导致下一编程间隔i=i+1(s280)。

可以以许多不同类型的非易失性存储器设备、存储系统以及并入了存储器设备和存储系统的主机设备来不同地实现本发明构思的实施例。例如,可以以按照本发明构思的实施例的方式配置和操作垂直nand闪存设备。

图21是示出根据本发明构思的实施例的非易失性存储器设备的图。参考图21,非易失性存储器设备300包括存储单元阵列310、驱动器320、输入/输出(i/o)电路330和控制逻辑360。

存储单元阵列310被配置为包括多个存储块blk1至blkh。存储块blk1至blkh中的每一个包括以垂直(或者堆叠的)结构(即,以三维方向排列多个存储块)排列的多个存储单元。也就是说,本发明构思的一些实施例包括具有沿第一、第二和第三方向延伸的结构的存储块blk1至blkh。本发明构思的其他实施例包括具有沿三个可能方向中的一个方向延伸的nand串的存储块blk1至blkh。本发明构思的其他实施例包括具有沿三个可能方向中的多个方向延伸的nand串的存储块blk1至blkh。

nand串中的每一个连接至一个位线bl、至少一个串选择线ssl、至少一个地选择线gsl、一个字线wl和一个公共源极线csl。也就是说,存储块blk1至blkh中的每一个连接至多个位线bl、多个串选择线ssl、多个地选择线gsl、多个字线wl和多个公共源极线csl。

驱动器320通过至少多个字线wl连接至存储单元阵列310。驱动器320根据控制逻辑360的控制而操作。驱动器320接收从外部提供的地址addr。

驱动器320对地址addr进行译码并且根据经译码的地址来选择字线wl中的一个。驱动器320将电压施加到选择的字线和未选择的字线。驱动器320还分别施加与编程操作关联的编程电压、与读取操作关联的读取电压或者与擦除操作关联的擦除电压到字线wl。驱动器320可以包括能够选择和驱动字线的字线驱动器321。

驱动器320可以选择和驱动多个选择线sl、串选择线ssl和/或地选择线gsl。为此,驱动器320可以包括选择线驱动器322,其被特别标识以选择和驱动多个选择线sl。

而且,驱动器320还可以驱动公共源极线csl。为此,驱动器320可以包括公共源极线驱动器323,其被特别标识以驱动公共源极线csl。

i/o电路330通过多个位线bl连接至存储单元阵列310。i/o电路330在控制逻辑360的控制下操作,并且被配置为选择位线bl。

i/o电路330还可以被配置为从外部设备接收数据(data)并且将接收到的数据编程到存储单元阵列310中。类似地,i/o电路330还可以被配置为从存储单元阵列310中读取数据并且将其传送到外部设备。

取决于非易失性存储器设备300的总体性能,i/o电路330还可以被配置为从存储单元阵列310的指定的第一存储区域或者第二存储区域读取数据和/或将数据编程到存储单元阵列310的指定的第一存储区域或者第二存储区域。因此,i/o电路330的一些实施例期望执行通常所了解的复录(copy-back)操作。

在本发明构思的一些实施例中,i/o电路330可以并入通常了解的组件,诸如页缓冲器(和/或页寄存器)电路、列选择电路、数据缓冲器(或多个)、读出放大器、写入驱动器(或多个)、列选择电路等等。

控制逻辑360控制非易失性存储器设备300的总体操作。控制逻辑360响应于外部提供的命令和/或控制信号ctrl操作。按照前述实施例,控制逻辑360可以在编程操作期间执行快速存储单元的位线强制或者慢速存储单元的正常编程。

而且,可以使用硬件、固件和/或软件配置控制逻辑360,以便基于一个或多个编程条件(或多个)从多个验证模式中选择一个验证模式,以及使用所选择的验证模式执行验证操作。为此,控制逻辑360可以包括以类似于前述的方式起作用的验证模式选择器362。

图22是在示出图示图21中所示的多个存储块中的存储块blki的等效电路的相关部分的电路图。

参考图21和图22,nand串ns11至ns31布置在第一位线bl1与公共源极线csl之间。第一位线bl1对应于沿第三方向延伸的导电材料。nand串ns12、ns22和ns32布置在第二位线bl2与公共源极线csl之间。第二位线bl2对应于沿第三方向延伸的导电材料。nand串ns13、ns23和ns33布置在第三位线bl3与公共源极线csl之间。第三位线bl3对应于沿第三方向延伸的导电材料。

用于每个nand串ns的串选择晶体管sst连接至对应的位线bl。用于每个nand串ns的地选择晶体管gst连接至公共源极线csl。存储单元mc布置在每个nand串ns的串选择晶体管sst与地选择晶体管gst之间。

在下文中,将以行和列为单位定义nand串ns。共同连接至一个位线的nand串ns形成一列。因此,nand串ns11至ns31连接至对应于第一列的第一位线bl1。nand串ns12至ns32连接至对应于第二列的第二位线bl2,nand串ns13至ns33连接至对应于第三列的第三位线bl3。

连接至一个串选择线ssl的nand串ns形成一行。因此,nand串ns11至ns31连接至对应于第一行的第一串选择线ssl1。nand串ns21至ns23连接至对应于第二行的第二串选择线ssl2,并且nand串ns31至ns33连接至对应于第三行的第三串选择线ssl3。

在每个nand串ns中,定义高度(height)。在每个nand串ns中,邻近于地选择晶体管gst的存储单元mc1的高度是1。在每个nand串ns中,越邻近于串选择晶体管sst,每个存储单元的高度越高。在每个nand串ns中,邻近于串选择晶体管sst的存储单元mc7的高度是7。

同一行的nand串ns共享一个串选择线ssl。不同行的nand串ns分别连接至不同的串选择线ssl。在同一行上的nand串ns中具有相同高度的存储单元共享一个字线。在相同高度上,不同行上的nand串ns的字线wl被公共连接。字线wl可以被共同连接至对其提供沿第一方向延伸的导电材料的层。沿第一方向延伸的导电材料可以通过触点连接至上层。沿第一方向延伸的导电材料可以在上层公共连接。

同一行的nand串ns共享一个地选择线gsl。不同行的nand串ns分别连接至不同的地选择线gsl。也就是说,nand串ns11至ns13、ns21至ns23和ns31至ns33公共连接至地选择线gsl。而且,公共源极线csl可以公共连接至nand串ns。

如图22中所示,具有相同高度的字线wl公共连接。因此,当选择了特定字线wl时,连接至该特定字线wl的所有nand串ns都被选择。不同行的nand串ns连接至不同的串选择线ssl。因此,通过选择串选择线ssl1至ssl3,连接至同一字线wl的nand串ns当中未选择的行的nand串ns可以与位线bl1至bl3分离。也就是说,通过选择串选择线ssl1至ssl3,可以选择该行的nand串ns。此外,通过选择位线bl1至bl3,可以以行为单位选择选择的行的nand串ns。

图23是示出包括根据本发明构思的实施例的非易失性存储器设备的存储系统的一般框图。参考图23,存储系统400包括非易失性存储器设备420和存储器控制器440。

非易失性存储器设备420包括验证模式选择器462,其被配置为从可以在作为对非易失性存储器设备420编程的一部分而执行的验证操作期间使用的多个验证模式中选择一个验证模式。如上面所述的各种实施例,可以基于一个或多个编程条件的评估来执行特定验证模式的选择。然而,取代在非易失性存储器设备420的控制逻辑内评估编程条件,可以通过布置在存储器控制器440中的控制或计算电路来进行评估。在这样的情况下,可以在验证模式选择器422与存储器控制器440之间传递验证模式选择命令vmcmd(与相应的确认信号或者根据其可以做出这样的选择的声明(predicate)数据一起)。

因此,因为通常用于控制非易失性存储器设备420的控制和计算电路已经被运用(export)到存储器控制器440,所以存储器控制器440可以用于评估一个或多个编程条件、基于编程条件的评估选择验证模式、生成相应的验证模式选择命令vmcmd以及将该验证模式选择命令vmcmd传递到非易失性存储器设备420。

非易失性存储器设备420从存储器控制器440接收验证模式选择命令vmcmd作为任意其他命令,并且由此执行验证操作。非易失性存储器设备420可以响应于来自存储器控制器440的相应命令执行用于快速存储单元的位线强制以及用于慢速存储单元的正常编程。

图24是示出可以从存储器控制器440传递到图23的非易失性存储器设备420的控制信号的一个可能排列的信号波形图。

参考图24,非易失性存储器设备420响应于命令锁存激活信号cle接收串行数据输入命令,以及响应于地址锁存激活信号ale接收用于写入数据的地址addr。尽管未示出,但是非易失性存储器设备420响应于写入激活信号接收将被写入的串行数据,以及响应于命令锁存激活信号cle接收验证模式选择命令vmcmd。非易失性存储器设备420根据验证模式选择命令vmcmd以所确定的验证模式来执行验证操作。随后,编程的成功或出错的结果值s/e通过输入/输出线iox被发送到存储器控制器440。

在图23和图24中,存储器控制器440生成用于选择验证模式的验证模式选择命令vmcmd,并且经由输入/输出线iox传递验证模式选择命令vmcmd。然而,本发明构思的范围并不局限于此。存储器控制器440可以生成用于选择验证模式的验证模式选择信号,并且通过单独的传输线而非使用输入/输出线iox将其发送到非易失性存储器设备420。

图25是示出根据本发明构思的另一实施例的存储系统的框图。参考图25,存储系统1000通常包括非易失性存储器设备1100和存储控制器1200。

非易失性存储器设备1100能够选择性地将位线强制控制电压施加到连接至快速存储单元的位线上,或者将正常控制电压施加到连接至慢速存储单元的位线上。非易失性存储器设备1100还能够相对于选择的存储单元(或多个)执行多个验证模式。例如,非易失性存储器设备1100可以被配置为实现图3中总结的操作方法。在一些实施例中,非易失性存储器设备1100可以具有类似于图9的非易失性存储器设备100、图14的非易失性存储器设备200、图21的非易失性存储器设备300或者图23的非易失性存储器设备420的配置和操作那样的配置和操作。

存储器控制器1200被配置为根据外部设备(例如,主机)做出的数据请求来控制非易失性存储器设备1100。也就是说,存储器控制器1200通常控制在非易失性存储器设备1100内执行的编程、读取和擦除操作。如果像图23的非易失性存储器设备420那样实现非易失性存储器设备1100,那么就可以像存储器控制器440那样实现存储器控制器1200。

存储器控制器1200本质上提供非易失性存储器设备1100和主机之间的接口。也就是说,存储器控制器1200驱动硬件/固件和/或执行软件来控制非易失性存储器设备1100的功能。

在图25示出的例子中,存储器控制器1200包括中央处理单元(cpu)1210、缓冲器1220、误差校正电路(ecc)1230、rom1240、主机接口1250和存储器接口1260。

cpu1210控制存储器控制器1200的整体操作。

缓冲器1220被用作cpu1210的工作存储器。响应于来自主机的编程请求,从主机接收到的编程数据被临时存储在缓冲器1220中。响应于从主机接收到的读取请求,从非易失性存储器设备1100获得的数据被临时存储在缓冲器1220中。

误差校正电路1230在编程请求期间使用许多传统误差校正编码方案中的一个对存储在缓冲器1220中的数据进行解码。在这一点上,经解码的数据和所使用的误差校正码值被存储在非易失性存储器设备1100中。误差校正电路1230在读取请求期间使用伴随读取数据的误差校正码值对从非易失性存储器设备1100读取的数据进行恢复。

rom1240存储驱动存储器控制器1200必需的软件和对应数据。

主机接口1250根据用来在主机与存储器控制器1200之间交换数据的已定义协议而操作。在本发明构思的一些实施例中,存储器控制器1200使用各种接口协议中的一个与主机(或者其他外部设备)通信,这些接口协议诸如通用串行总线(usb)协议、多媒体卡(mmc)协议、外围设备组件互连(pci)协议、pci-express(pci-e)协议、高级技术配件(ata)协议、串行ata协议、并行ata协议、小组件小接口(smallcomponentsmallinterface,scsi)协议、增强型小硬盘接口(enhancedsmalldiskinterface,esdi)协议和集成驱动电子设备(integrateddriveelectronics,ide)协议。

存储器接口1260将非易失性存储器设备1100与存储器控制器1200接口。

存储系统1000能够取决于选择的存储单元的相对速度,对于能够选择性地执行位线强制或者正常编程的编程操作来动态地执行所选择的验证操作(或多个),如上所述。该性能允许存储系统1000普遍地提高可靠性,降低每个编程操作所需要的平均编程间隔数,并且还不牺牲编程精度。如上所述,可以相对于包括温度和/或噪声的编程条件来进行验证模式的选择。

图26是示出根据本发明构思的实施例的存储卡的框图。参考图26,存储卡2000一般包括闪存设备2100、缓冲存储器2200和存储器控制器2300。

如之前那样,闪存设备2100被配置为施加位线强制控制电压到连接至快速存储单元的位线以及施加正常编程控制电压到连接至慢速存储单元的位线。闪存设备2100还被配置为从多个验证模式中动态地选择验证模式。例如,闪存设备2100可以是能够实现图3的编程方法的存储器设备。可替换地,可以像图9的非易失性存储器设备100、图14的非易失性存储器设备200、图21的非易失性存储器设备300或者图23的非易失性存储器设备420那样配置和操作闪存设备2100。

缓冲器存储器2200可以被配置为临时存储与由存储卡2000执行的编程和读取操作关联的编程数据和读取数据。可以使用易失性存储器设备、诸如传统可用的dram和/或sram来实现缓冲器存储器2200。

在图26示出的例子中,存储器控制器2300连接在主机与闪存设备2100之间。响应于来自主机的请求,存储器控制器2300访问闪存设备2100。如果像图23的非易失性存储器设备420那样实现闪存设备2100,那么就可以像存储器控制器440那样实现存储器控制器2300。

存储器控制器2300包括微处理器2310、主机接口2320和闪存接口2330。微处理器2310可以实现为驱动硬件、固件和/或软件以控制存储卡2000的操作。主机接口2320通过诸如多媒体卡(mmc)协议的已定义的存储卡协议与主机接口,以便利于主机与闪存2100之间的数据的交换。因此,在各种实施例中,与本发明构思一致的存储卡2000可以采取mmc、安全数字(sd)卡、迷你sd卡、记忆棒、智能媒介卡、trans-flash卡等等的形式。

闪存接口2330在闪存与存储器控制器2300之间形成通常所了解的的接口。

图27是示出根据本发明构思的实施例的movinand的框图。参考图27,movinand3000一般包括nand闪存设备3100和控制器3200。

nand闪存设备3100可以通过使用例如精细倾斜球状网阵排列(fine-pitchballgridarray,fbga)制造技术来将单个产品nand(single-productnand)的闪存设备堆叠在一个封装中来实现。每个单个产品的nand闪存设备可以被配置为选择性地施加位线强制控制电压到连接至快速存储单元的位线或者施加正常编程控制电压到连接至慢速存储单元的位线。每个单个产品的nand闪存设备可以进一步被配置为基于一个或多个编程条件从多个验证模式中选择一个验证模式。例如,可以像图9的非易失性存储器设备100、图14的非易失性存储器设备200、图21的非易失性存储器设备300或者图23的非易失性存储器设备420那样配置和操作每个单个产品的nand闪存设备。

在图27示出的例子中,控制器3200包括控制器核3210、主机接口3220和nand接口3230。控制器核3210控制movinand3000的整体操作。主机接口3220将控制器3210与主机的mmc接口。nand接口3230将nand闪存设备3100与控制器3200接口。如果像图23的非易失性存储器设备420那样实现nand闪存设备3100的单个产品的nand闪存设备,那么就可以像存储器控制器440那样实现控制器3200。

movinand3000从主机接收电源电压vcc和vccq。在一些实施例中,3.0v的电源电压vcc被提供给nand闪存设备3100和nand接口3230,且1.8v/3.0v的电源电压被提供给控制器3200。

movinand3000可以被施加到固态驱动器(ssd)。

图28是示出根据本发明构思的实施例的ssd的框图。参考图28,ssd4000包括多个闪存设备4100以及ssd控制器4200。

每个闪存设备4100可以被配置为施加位线强制控制电压到连接至到快速存储单元的位线或者施加正常编程控制电压到连接至慢速存储单元的位线。每个闪存设备4100还可以被配置为从多个验证模式中选择验证模式。例如,可以像图9的非易失性存储器设备100、图14的非易失性存储器设备200、图21的非易失性存储器设备300或者图23的非易失性存储器设备420那样配置和操作每个闪存设备4100。

ssd控制器4200控制闪存设备4100,并且包括cpu4210、主机接口4220、高速缓冲存储器4230和闪存接口4240。

主机接口4220在cpu4210的控制下使用协议与主机交换数据。主机接口4220可以使用例如串行高级技术配件(serialadvancedtechnologyattachment,sata)接口、并行高级技术配件(paralleladvancedtechnologyattachment,pata)接口和/或外部sata(esata)接口。

虽然在cpu4210的控制下,但是可以经由高速缓冲存储器4230而不通过cpu总线来传送从主机提供给主机接口4220的数据或者传递到主机的数据。

高速缓冲存储器4230临时存储外部设备与闪存设备4100之间的移动数据。而且,高速缓冲存储器4230还用于存储将由cpu4210执行的程序。高速缓冲存储器4230可以被视为一种缓冲存储器,并且可以利用sram来实现。

闪存接口4240将ssd控制器4200与被用作存储器设备的闪存设备4100接口。闪存接口4240可以支持nand闪存、one-nand闪存、多电平闪存与单电平闪存。

图29是示出根据本发明构思的实施例的、包括图28的ssd4000的计算系统的框图。参考图29,计算系统5000包括cpu5100、rom5200、ram5300、输入/输出(i/o)设备5400和ssd5500。

cpu5100经由系统总线连接至其他组件。rom5200存储驱动计算系统5000所必需的数据。这些数据可以包括初始命令序列或者基本输入/输出操作系统(bios)序列。ram5300临时存储由cpu5100提供的数据。

i/o设备5400可以是键盘、指示(pointing)设备(鼠标)、监视器和调制解调器中的至少一个,并且可以经由i/o设备接口连接到系统总线。

ssd5500是可读存储器设备,并且可以像图28的ssd4000那样实现。

图30是示出根据本发明构思的实施例的、并入像图28中的ssd4000那样的ssd的主机设备的框图。参考图30,主机设备6000包括处理器6100、rom6200、ram6300、闪存接口6400和ssd6500。

处理器6100访问ram6300和rom6200,以执行固件和/或软件并且驱动控制主机设备6000的功能的硬件。rom6200可以向处理器6100提供包括初始命令序列或者基本输入/输出操作系统(bios)序列的命令序列。闪存接口6400将电子设备6000与ssd6500接口。

可以像图28的ssd4000那样实现ssd6500,其可以机械地连接到主机设备6000或者从主机设备6000拆卸。

主机设备6000可以采用许多不同的形式,包括(例如)移动电话机、个人数字助理(pda)、数码相机、录像摄像机、便携式音频播放设备(例如,mp3)及pmp。

图31是示出根据本发明构思的实施例的、使用像图28中的ssd4000那样的ssd的服务器系统的框图。参考图31,服务器系统7000包括服务器7100以及驱动服务器7100必需的ssd7200。可以像图28的ssd4000那样配置和操作ssd7200。

服务器7100包括应用通信模块7110、数据处理模件7120、升级模块7130、调度中心7140、本地资源模块7150和维修(repair)信息模块7160。

应用通信模块7110与连接到服务器7100和网络的计算系统通信,或者允许服务器7100与ssd7200通信。应用通信模块7110将应用于用户接口的数据或者信息发送到数据处理模块7120。

数据处理模块7120连接至本地资源模块7150。这里,本地资源模块7150基于被输入到服务器7100的数据或者信息来将维修店/商/技术信息的列表施加给用户。

升级模块7130与数据处理模块7120接口。升级模块7130基于输入到服务器7100的数据或者信息,将固件、重置码、诊断系统或者其他信息升级给应用。

调度中心7140基于输入到服务器7100的数据或者信息向用户提供实时选项。

维修信息模块7160与数据处理模块7120接口。维修信息模块7160用来向用户施加维修相关的信息(例如,音频、视频或者文档文件)。数据处理模块7120基于从ssd7100传送的信息将相关信息打包。随后,这些信息被发送到ssd7200或者显示给用户。

服务器7100在其操作期间可能产生大量的热。由于这些热,存储单元的可靠性可能在编程操作期间降低。然而,包括根据本发明构思的实施例的ssd7200的服务器系统7000可以响应于检测到的温度来选择最佳验证模式,从而保持编程操作的可靠性。

可以在许多不同类型的封装内安装根据本发明构思的各种实施例的存储系统和/或非易失性存储器设备。例如,可以在使用层叠封装(packageonpackage,pop)、球栅阵列封装(ballgridarray,bga)、芯片尺寸封装(chipscalepackage,csp)、塑料引线芯片载体封装(plasticleadedchipcarrier,plcc)、塑料双列直插式封装(plasticdualin-linepackage,pdip)、晶片包中管芯封装(dieinwafflepack,diwp)、晶片形式的管芯封装(dieinwaferform,diwf)、板上芯片(chiponboard,cob)、陶瓷双列直插式封装(ceramicdualin-linepackage,cerdip)、塑料公制四方扁平封装(plasticmetricquadflatpack,mqfp)、薄型四方扁平封装(thinquadflatpack,tqfp)、小外型封装(smalloutlinepackage,sop)、缩小外型封装(shrinksmalloutlinepackage,ssop)、薄型小尺寸封装(thinsmalloutline,tsop)、薄型四方扁平封装(thinquadflatpack,tqfp)、系统级封装(systeminpackage,sip)、多芯片封装(multichippackage,mcp)、晶片级堆栈封装(waferlevelpackage,wlsp)、晶片形式的管芯封装(dieinwaferform,diwf)、沃尔夫管芯封装(dieonwafflepackage,dowp)、晶片级制造封装(wafer-levelfabricatedpackage,wfp)和晶片级处理堆栈封装(wafer-levelprocessedstackpackage,wsp)的封装中来安装根据本发明构思的实施例的存储系统和/或非易失性存储器设备。

如上所述,根据本发明构思的实施例的非易失性存储器设备、并入了非易失性存储器设备的存储系统(包括存储卡)以及操作其的相关方法允许编程操作结合从多个验证模式当中选择和使用一个验证模式来选择性地使用位线强制,以优化编程操作。

上面公开的主题应当被视为说明性的而非限制性的,并且所附权利要求意图是覆盖落入本发明构思的真实精神和范围内的所有这些修改、改进以及其他实施例。因而,从法律允许的最大范围来说,本发明构思的范围通过所附权利要求及其等效物的最宽允许解释来确定,并且不应当被前述具体实施例所约束或限制。

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