CN102298966B - 非易失性存储器设备、系统及编程方法 - Google Patents

非易失性存储器设备、系统及编程方法 Download PDF

Info

Publication number
CN102298966B
CN102298966B CN201110144117.3A CN201110144117A CN102298966B CN 102298966 B CN102298966 B CN 102298966B CN 201110144117 A CN201110144117 A CN 201110144117A CN 102298966 B CN102298966 B CN 102298966B
Authority
CN
China
Prior art keywords
voltage
validation mode
memory element
programming
bit line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110144117.3A
Other languages
English (en)
Other versions
CN102298966A (zh
Inventor
金武星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to CN201610902984.1A priority Critical patent/CN106920569B/zh
Publication of CN102298966A publication Critical patent/CN102298966A/zh
Application granted granted Critical
Publication of CN102298966B publication Critical patent/CN102298966B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Abstract

本申请给出了非易失性存储器设备、存储系统和操作非易失性存储器设备的相关方法。在编程操作期间,非易失性存储器设备能够使用位线强制,并且还能够基于所评估的编程条件,从一组验证模式中选择验证模式以便在验证操作期间使用。

Description

非易失性存储器设备、系统及编程方法
相关申请的交叉引用
本申请要求于2010年5月31日提交的韩国专利申请No.10-2010-0051190的优先权,其主题通过引用的方式合并于此。
技术领域
本公开涉及一种非易失性存储器设备、合并该非易失性存储器设备的存储系统(包括存储卡)以及对非易失性存储器设备编程的方法。更加具体来说,本公开涉及操作非易失性存储器设备和/或存储系统的方法,其提供在非易失性存储单元的编程期间使用的不同验证模式之间动态选择的能力。
背景技术
非易失性存储器以及相关的存储系统已经变为目前消费电子以及数字数据系统内的设计重点。非易失性存储器允许通过能够以低功耗可靠运行的相对较小的集成电路设备来存储大量数据,并且仍然可以提供相对较快的数据存取。不同于易失性形式的存储器(例如,DRAM和SRAM),非易失性存储器能够在缺乏施加电力的情况下保存所存储的数据。
存在不同类型的非易失性存储器。一种广泛使用的类型是电可擦除可编程只读存储器(EEPROM)。EEPROM以包括各种类型的闪存的不同形式而流行。
在早期的形式中,各个非易失性存储单元仅存储二进制数据的单个比特(“1”或者“0”)。这样的存储单元被称为单电平存储单元(single level memorycell,SLC)并且仍然被广泛使用。然而,许多当前的非易失性存储单元能够存储2个或更多个数据比特,并且通常被称作多电平存储单元(multi-levelmemory cell,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闪存(vertical NAND flash memory)、NOR(或非)闪存、电阻式随机存取存储器(Resistive Random Access Memory,RRAM)、相变随机存取存储器(Phase-change Random Access Memory,PRAM)、磁电阻式随机存取存储器(Magneto-resistive Random AccessMemory,MRAM)、铁电随机存取存储器(Ferroelectric Random AccessMemory,FRAM)以及自旋转移力矩随机存取存储器(Spin Transfer TorqueRandom Access Memory,STT-RAM)。此外,可以以三维(3D)阵列结构来实现根据本发明构思的实施例的非易失性存储器设备。根据本发明构思的实施例的一些非易失性存储器设备可以应用于其中电荷存储层被配置为具有导电浮置栅极的闪存设备以及其中电荷存储层被配置为具有电介质的电荷俘获闪存(Charge Trap Flash,CTF)。
存在对于非易失性存储单元的操作和编程的许多通常所了解的方法。如上所述,可以将非易失性存储单元展现的阈值电压编程为驻留(reside)于许多阈值电压分布中的一个之内。图1大体上示出与示范性2比特MLC关联的四(4)个阈值电压分布。非易失性存储单元的擦除状态(E)和第一至第三编程状态(P1、P2和P3)由各个相应的阈值电压分布来表示。并入了MLC的非易失性存储系统的一个设计目标是MLC的有效且精确的编程,典型的是,从擦除状态到多个编程状态其中之一。
典型地,非易失性存储单元编程是一个迭代过程,其中,通过连续的编程间隔执行一个或多个编程步骤或循环(即,将特定控制电压施加到在非易失性存储系统内所选择的一个或多个非易失性存储单元(或多个))。在定义的编程时段期间,可以执行与正确编程选择的非易失性存储单元所必需的一样多的许多编程间隔。而且,使用精细(或细密)定义的编程增量(即,连续编程间隔之间的控制电压电平差)允许在定义的阈值电压分布内精确地编程非易失性存储单元。然而,编程效率要求正确编程非易失性存储单元所需要的编程间隔的数目必须保持在最小。因此,非易失性存储系统设计者寻求以下两者之间的平衡:(1)使用许多精细定义的编程增量来精确地编程非易失性存储单元的期望;与(2)通过尽可能迅速地接近目标存储单元阈值电压来最小化编程间隔总体数目的期望。
认识到平衡这些对立目标的需要,非易失性存储系统设计者已经开发出许多不同的编程方案。一种方案通常被称作“位线强制(bit line forcing)”。在图2——包括图2A和图2B——中示出位线强制方案的一个例子。
图2A示出选择的非易失性存储单元将被编程到的期望阈值电压分布P。进一步假定,用于编程非易失性存储单元的编程操作使用通常所了解的增量步进编程过程(increment step programming procedure,ISPP),其中,连续编程间隔特征在于不同的(通常是增加的)控制电压电平(例如,字线和位线电压)。图2B示出施加到连接至选择的非易失性存储单元的字线的字线电压(VWL),该字线电压在每个连续编程间隔期间升高ISPP定义的步进增量(ΔISPP)。
在任一任意选择的编程间隔期间的非易失性存储单元的当前阈值电压可以被假定为驻留于三个(3)阈值电压(Vth)区域其中之一内:(1)目标阈值电压分布范围“P”(即,Vth大于相应的验证电压(VR)),(2)接近阈值电压范围“B”(即,Vth小于VR但是大于预验证电压(PVR)),或(3)远距阈值电压范围“A”(即,Vth小于PVR)。
在选择性地使用位线强制(bit line forcing)的编程操作期间,通过存储单元的当前阈值电压来确定施加到存储单元的控制电压的性质(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-inhibit voltage)(例如,电源电压)。与通过施加位线编程电压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中的每个存储单元可以被配置为存储单个数据比特(以下,称为单电平单元(signlelevel cell),SLC)或者两个或更多数据比特(以下,称为多电平单元(multilevel cell),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结构(all BL structure)”中每个位线可以分别连接至每个页缓冲器,或者在所谓的“屏蔽BL结构(shielded BL structure)”中两个或更多位线可以连接至一个页缓冲器。可以请求页缓冲电路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、ROM 1240、主机接口1250和存储器接口1260。
CPU 1210控制存储器控制器1200的整体操作。
缓冲器1220被用作CPU 1210的工作存储器。响应于来自主机的编程请求,从主机接收到的编程数据被临时存储在缓冲器1220中。响应于从主机接收到的读取请求,从非易失性存储器设备1100获得的数据被临时存储在缓冲器1220中。
误差校正电路1230在编程请求期间使用许多传统误差校正编码方案中的一个对存储在缓冲器1220中的数据进行解码。在这一点上,经解码的数据和所使用的误差校正码值被存储在非易失性存储器设备1100中。误差校正电路1230在读取请求期间使用伴随读取数据的误差校正码值对从非易失性存储器设备1100读取的数据进行恢复。
ROM 1240存储驱动存储器控制器1200必需的软件和对应数据。
主机接口1250根据用来在主机与存储器控制器1200之间交换数据的已定义协议而操作。在本发明构思的一些实施例中,存储器控制器1200使用各种接口协议中的一个与主机(或者其他外部设备)通信,这些接口协议诸如通用串行总线(USB)协议、多媒体卡(MMC)协议、外围设备组件互连(PCI)协议、PCI-Express(PCI-E)协议、高级技术配件(ATA)协议、串行ATA协议、并行ATA协议、小组件小接口(Small Component SmallInterface,SCSI)协议、增强型小硬盘接口(Enhanced Small Disk Interface,ESDI)协议和集成驱动电子设备(Integrated Drive Electronics,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,moviNAND 3000一般包括NAND闪存设备3100和控制器3200。
NAND闪存设备3100可以通过使用例如精细倾斜球状网阵排列(Fine-pitch Ball Grid Array,FBGA)制造技术来将单个产品NAND(single-product NAND)的闪存设备堆叠在一个封装中来实现。每个单个产品的NAND闪存设备可以被配置为选择性地施加位线强制控制电压到连接至快速存储单元的位线或者施加正常编程控制电压到连接至慢速存储单元的位线。每个单个产品的NAND闪存设备可以进一步被配置为基于一个或多个编程条件从多个验证模式中选择一个验证模式。例如,可以像图9的非易失性存储器设备100、图14的非易失性存储器设备200、图21的非易失性存储器设备300或者图23的非易失性存储器设备420那样配置和操作每个单个产品的NAND闪存设备。
在图27示出的例子中,控制器3200包括控制器核3210、主机接口3220和NAND接口3230。控制器核3210控制moviNAND 3000的整体操作。主机接口3220将控制器3210与主机的MMC接口。NAND接口3230将NAND闪存设备3100与控制器3200接口。如果像图23的非易失性存储器设备420那样实现NAND闪存设备3100的单个产品的NAND闪存设备,那么就可以像存储器控制器440那样实现控制器3200。
moviNAND 3000从主机接收电源电压Vcc和Vccq。在一些实施例中,3.0V的电源电压Vcc被提供给NAND闪存设备3100和NAND接口3230,且1.8V/3.0V的电源电压被提供给控制器3200。
moviNAND 3000可以被施加到固态驱动器(SSD)。
图28是示出根据本发明构思的实施例的SSD的框图。参考图28,SSD4000包括多个闪存设备4100以及SSD控制器4200。
每个闪存设备4100可以被配置为施加位线强制控制电压到连接至到快速存储单元的位线或者施加正常编程控制电压到连接至慢速存储单元的位线。每个闪存设备4100还可以被配置为从多个验证模式中选择验证模式。例如,可以像图9的非易失性存储器设备100、图14的非易失性存储器设备200、图21的非易失性存储器设备300或者图23的非易失性存储器设备420那样配置和操作每个闪存设备4100。
SSD控制器4200控制闪存设备4100,并且包括CPU 4210、主机接口4220、高速缓冲存储器4230和闪存接口4240。
主机接口4220在CPU 4210的控制下使用协议与主机交换数据。主机接口4220可以使用例如串行高级技术配件(Serial Advanced TechnologyAttachment,SATA)接口、并行高级技术配件(Parallel Advanced TechnologyAttachment,PATA)接口和/或外部SATA(ESATA)接口。
虽然在CPU 4210的控制下,但是可以经由高速缓冲存储器4230而不通过CPU总线来传送从主机提供给主机接口4220的数据或者传递到主机的数据。
高速缓冲存储器4230临时存储外部设备与闪存设备4100之间的移动数据。而且,高速缓冲存储器4230还用于存储将由CPU 4210执行的程序。高速缓冲存储器4230可以被视为一种缓冲存储器,并且可以利用SRAM来实现。
闪存接口4240将SSD控制器4200与被用作存储器设备的闪存设备4100接口。闪存接口4240可以支持NAND闪存、One-NAND闪存、多电平闪存与单电平闪存。
图29是示出根据本发明构思的实施例的、包括图28的SSD 4000的计算系统的框图。参考图29,计算系统5000包括CPU 5100、ROM 5200、RAM5300、输入/输出(I/O)设备5400和SSD 5500。
CPU 5100经由系统总线连接至其他组件。ROM 5200存储驱动计算系统5000所必需的数据。这些数据可以包括初始命令序列或者基本输入/输出操作系统(BIOS)序列。RAM 5300临时存储由CPU 5100提供的数据。
I/O设备5400可以是键盘、指示(pointing)设备(鼠标)、监视器和调制解调器中的至少一个,并且可以经由I/O设备接口连接到系统总线。
SSD 5500是可读存储器设备,并且可以像图28的SSD 4000那样实现。
图30是示出根据本发明构思的实施例的、并入像图28中的SSD 4000那样的SSD的主机设备的框图。参考图30,主机设备6000包括处理器6100、ROM 6200、RAM 6300、闪存接口6400和SSD 6500。
处理器6100访问RAM 6300和ROM 6200,以执行固件和/或软件并且驱动控制主机设备6000的功能的硬件。ROM 6200可以向处理器6100提供包括初始命令序列或者基本输入/输出操作系统(BIOS)序列的命令序列。闪存接口6400将电子设备6000与SSD 6500接口。
可以像图28的SSD 4000那样实现SSD 6500,其可以机械地连接到主机设备6000或者从主机设备6000拆卸。
主机设备6000可以采用许多不同的形式,包括(例如)移动电话机、个人数字助理(PDA)、数码相机、录像摄像机、便携式音频播放设备(例如,MP3)及PMP。
图31是示出根据本发明构思的实施例的、使用像图28中的SSD 4000那样的SSD的服务器系统的框图。参考图31,服务器系统7000包括服务器7100以及驱动服务器7100必需的SSD 7200。可以像图28的SSD 4000那样配置和操作SSD 7200。
服务器7100包括应用通信模块7110、数据处理模件7120、升级模块7130、调度中心7140、本地资源模块7150和维修(repair)信息模块7160。
应用通信模块7110与连接到服务器7100和网络的计算系统通信,或者允许服务器7100与SSD 7200通信。应用通信模块7110将应用于用户接口的数据或者信息发送到数据处理模块7120。
数据处理模块7120连接至本地资源模块7150。这里,本地资源模块7150基于被输入到服务器7100的数据或者信息来将维修店/商/技术信息的列表施加给用户。
升级模块7130与数据处理模块7120接口。升级模块7130基于输入到服务器7100的数据或者信息,将固件、重置码、诊断系统或者其他信息升级给应用。
调度中心7140基于输入到服务器7100的数据或者信息向用户提供实时选项。
维修信息模块7160与数据处理模块7120接口。维修信息模块7160用来向用户施加维修相关的信息(例如,音频、视频或者文档文件)。数据处理模块7120基于从SSD 7100传送的信息将相关信息打包。随后,这些信息被发送到SSD 7200或者显示给用户。
服务器7100在其操作期间可能产生大量的热。由于这些热,存储单元的可靠性可能在编程操作期间降低。然而,包括根据本发明构思的实施例的SSD 7200的服务器系统7000可以响应于检测到的温度来选择最佳验证模式,从而保持编程操作的可靠性。
可以在许多不同类型的封装内安装根据本发明构思的各种实施例的存储系统和/或非易失性存储器设备。例如,可以在使用层叠封装(package onpackage,PoP)、球栅阵列封装(ball grid array,BGA)、芯片尺寸封装(chipscale package,CSP)、塑料引线芯片载体封装(plastic leaded chip carrier,PLCC)、塑料双列直插式封装(plastic dual in-line package,PDIP)、晶片包中管芯封装(die in waffle pack,DIWP)、晶片形式的管芯封装(die in waferform,DIWF)、板上芯片(chip on board,COB)、陶瓷双列直插式封装(ceramicdual in-line package,CERDIP)、塑料公制四方扁平封装(plastic metric quadflat pack,MQFP)、薄型四方扁平封装(thin quad flat pack,TQFP)、小外型封装(small outline package,SOP)、缩小外型封装(shrink small outlinepackage,SSOP)、薄型小尺寸封装(thin small outline,TSOP)、薄型四方扁平封装(thin quad flat pack,TQFP)、系统级封装(system in package,SIP)、多芯片封装(multi chip package,MCP)、晶片级堆栈封装(Wafer Levelpackage,WLSP)、晶片形式的管芯封装(die in wafer form,DIWF)、沃尔夫管芯封装(die on waffle package,DOWP)、晶片级制造封装(wafer-levelfabricated package,WFP)和晶片级处理堆栈封装(wafer-level processed stackpackage,WSP)的封装中来安装根据本发明构思的实施例的存储系统和/或非易失性存储器设备。
如上所述,根据本发明构思的实施例的非易失性存储器设备、并入了非易失性存储器设备的存储系统(包括存储卡)以及操作其的相关方法允许编程操作结合从多个验证模式当中选择和使用一个验证模式来选择性地使用位线强制,以优化编程操作。
上面公开的主题应当被视为说明性的而非限制性的,并且所附权利要求意图是覆盖落入本发明构思的真实精神和范围内的所有这些修改、改进以及其他实施例。因而,从法律允许的最大范围来说,本发明构思的范围通过所附权利要求及其等效物的最宽允许解释来确定,并且不应当被前述具体实施例所约束或限制。

Claims (41)

1.一种操作非易失性存储器设备的方法,包括:
通过将第i编程电压施加到连接至存储单元的字线以及(1)如果所述存储单元是快速存储单元则施加位线强制电压到连接至所述存储单元的位线或者(2)如果所述存储单元是慢速存储单元则施加小于位线强制电压的位线编程电压到位线,来执行针对所述存储单元的编程操作的第i编程间隔;
评估编程条件;
基于所评估的编程条件从一组验证模式中选择验证模式;
对于所述存储单元使用所选择的验证模式来执行验证操作,
其中,所述选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
该方法还包括定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
2.如权利要求1所述的方法,其中,所述验证操作包括:
当所述存储单元的阈值电压驻留于目标阈值电压分布内时,确定所述存储单元是通过存储单元;
当所述存储单元的阈值电压驻留于小于所述目标阈值电压分布的接近阈值电压范围内时,确定所述存储单元是快速存储单元;以及
当所述存储单元的阈值电压驻留于小于所述接近阈值电压范围的远距阈值电压范围中时,确定所述存储单元是慢速存储单元。
3.如权利要求2所述的方法,还包括:
当确定所述存储单元是通过存储单元时,终止所述编程操作;以及
当确定所述存储单元是快速存储单元或者慢速存储单元时,通过将第i+1编程电压施加到所述字线以及(1)如果所述存储单元是快速存储单元则施加所述位线强制电压到所述位线或者(2)如果所述存储单元是慢速存储单元则施加所述位线编程电压到所述位线,来执行所述编程操作的第i+1编程间隔。
4.如权利要求3所述的方法,其中,第i和第i+1编程电压通过增量步进编程脉冲ISPP方案定义的,其中第i+1编程电压比第i编程电压大定义的ISPP步进电压。
5.如权利要求1所述的方法,其中,所述多步验证模式包括:
在第一验证步骤期间,将所述存储单元的当前阈值电压与预验证电压相比较;以及
在第二验证步骤期间,将所述当前阈值电压与验证电压相比较。
6.如权利要求5所述的方法,还包括:
如果所述当前阈值电压小于所述预验证电压,则指定所述存储单元为慢速存储单元;以及
如果所述当前阈值电压大于或等于所述预验证电压并且小于所述验证电压,则指定所述存储单元为快速存储单元。
7.如权利要求5所述的方法,还包括:
如果在第一验证步骤期间确定所述当前阈值电压小于所述预验证电压,则在第二验证步骤期间不将预充电电压施加到所述存储单元。
8.如权利要求1所述的方法,其中,所述编程条件包括从一组编程条件中选择的至少一个编程条件,所述一组编程条件包括:在编程操作期间执行的编程间隔的数目、所述存储单元的特定编程状态、检测到的噪声、计算的噪声、检测到的温度、计算的温度、温度的变化、所述存储单元的阈值电压分布的变化、偏置条件、连接至所述存储单元的位线的读出时间段、表示所述存储单元的损耗的信息。
9.如权利要求1所述的方法,其中,所述存储单元是被配置为相对于多个状态存储数据的多电平存储单元MLC,所述多个状态至少包括擦除状态、具有大于擦除状态的阈值电压的第一编程状态、具有大于第一编程状态的阈值电压的第二编程状态以及具有大于第二编程状态的阈值电压的第三编程状态,以及
所述评估编程条件包括确定当前编程间隔正在将所述MLC编程到所述多个状态中的一个。
10.如权利要求9所述的方法,其中,所述选择验证模式包括:
当确定所述当前编程间隔正在将所述MLC编程到所述擦除状态、第一编程状态以及第二编程状态时,选择第一验证模式;以及
当确定所述当前编程间隔正在将所述MLC编程到所述第三编程状态时,选择第二验证模式。
11.如权利要求10所述的方法,其中,所述第一验证模式是多步验证模式,且所述第二验证模式是单步验证模式。
12.如权利要求1所述的方法,还包括:
生成存储单元指定数据;以及
基于所述存储单元指定数据来指定所述存储单元为慢速存储单元或者快速存储单元。
13.如权利要求12所述的方法,其中,所述生成所述存储单元指定数据是在所述验证操作期间执行的。
14.如权利要求13所述的方法,还包括:
在所述验证操作期间将所述存储单元指定数据存储在所述非易失性存储器设备中。
15.一种在非易失性存储器设备内对配置为存储包括最低有效位LSB与最高有效位MSB的数据的多电平存储单元MLC进行编程的方法,所述方法包括:
执行第i编程间隔,所述第i编程间隔包括其后跟着MSB编程操作的LSB编程操作,其中所述MSB编程操作包含:
将第i编程电压施加到连接至所述MLC的字线以及(1)如果所述存储单元是快速存储单元则施加位线强制电压到连接至所述MLC的位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到连接至所述MLC的位线;
评估编程条件;
基于所评估的编程条件从一组验证模式中选择验证模式;以及
使用所选择的验证模式执行验证操作,
其中,所述选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
该方法还包括定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
16.如权利要求15所述的方法,其中,所述验证操作包括:
当所述MLC的阈值电压驻留于一组阈值电压分布中的一个时确定所述MLC是通过存储单元,所述一组阈值电压分布包括与擦除状态关联的擦除阈值电压分布、高于所述擦除阈值电压分布并且与第一编程状态关联的第一阈值电压分布、高于第一阈值电压分布并且与第二编程状态关联的第二阈值电压分布以及高于第二阈值电压分布并且与第三编程状态关联的第三阈值电压分布;
当所述MLC的阈值电压驻留于一组接近阈值电压范围中的一个时确定所述MLC是快速存储单元,所述一组接近阈值电压范围包括小于第一阈值电压分布的第一接近阈值电压范围、小于第二阈值电压分布的第二接近阈值电压范围以及小于第三阈值电压分布的第三接近阈值电压范围;以及
当所述MLC的阈值电压小于第三接近阈值电压范围但是大于第二阈值电压分布、小于第二接近阈值电压范围但是大于第一阈值电压分布、或者小于第一接近阈值电压范围但是大于所述擦除阈值电压分布时,确定所述MLC是慢速存储单元。
17.一种操作非易失性存储器设备的方法,包括:
通过将第i编程电压施加到连接至存储单元的字线以及(1)如果所述存储单元是快速存储单元则施加位线强制电压到连接至所述存储单元的位线或者(2)如果所述存储单元是慢速存储单元则施加小于位线强制电压的位线编程电压到所述位线,来执行针对所述存储单元的编程操作的第i编程间隔;
将所述存储单元的当前阈值电压与通过阈值电压相比较;
如果所述当前阈值电压小于所述通过阈值电压,则选择第一验证模式;以及
如果所述当前阈值电压大于或等于所述通过阈值电压,则选择第二验证模式。
18.如权利要求17所述的方法,其中,所述第一验证模式是多步验证模式,且所述第二验证模式是单步验证模式。
19.一种非易失性存储器设备,包括:
存储单元阵列,包括连接至字线和位线的存储单元;
电压生成器,被配置为生成包括编程电压的多个控制电压;
地址译码器,被配置为响应于外部提供的地址将所述编程电压连接至所述字线;
页缓冲电路,被配置为响应于外部提供的地址将位线电压连接至所述位线;以及
控制逻辑,被配置为控制所述电压生成器和地址译码器,以通过施加第i编程电压作为所述编程电压来执行针对所述存储单元的编程操作的第i编程间隔,以及被配置为控制所述页缓冲电路以(1)如果所述存储单元是快速存储单元则施加位线强制电压到位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线,
其中,所述控制逻辑被进一步配置为评估编程条件,基于所评估的编程条件从一组验证模式中选择验证模式,以及控制所述电压生成器、地址译码器和页缓冲电路以使用所选择的验证模式执行验证操作,
其中,所述控制逻辑选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
所述控制逻辑还被配置为定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述控制逻辑在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
20.如权利要求19所述的非易失性存储器设备,其中,所述控制逻辑包括验证模式选择器,被配置为基于所评估的编程条件选择验证模式。
21.如权利要求20所述的非易失性存储器设备,其中,所述页缓冲电路包括存储存储单元指定数据的存储器、锁存器和寄存器中的一个,以及
所述控制逻辑被进一步配置为控制所述页缓冲电路,以基于所述存储单元指定数据施加(1)所述位线强制电压或者(2)所述位线编程电压。
22.如权利要求20所述的非易失性存储器设备,其中,所述验证模式选择器被配置为在单步验证模式与多步验证模式之间进行选择。
23.如权利要求20所述的非易失性存储器设备,其中,所述验证模式选择器被配置为基于所计数的已执行编程间隔的数目选择所述验证模式。
24.如权利要求20所述的非易失性存储器设备,其中,所述验证模式选择器被进一步配置为:
当所述存储单元的阈值电压驻留于目标阈值电压分布内时,确定所述存储单元是通过存储单元;
当所述阈值电压驻留于小于所述目标阈值电压分布的接近阈值电压范围内时,确定所述存储单元是快速存储单元;以及
当所述阈值电压驻留于小于所述接近阈值电压范围的远距阈值电压范围内时,确定所述存储单元是慢速存储单元。
25.如权利要求20所述的非易失性存储器设备,其中,所述验证模式选择器被配置为基于所述存储单元的当前阈值电压与通过阈值电压之间的比较来选择所述验证模式。
26.如权利要求20所述的非易失性存储器设备,进一步包括温度检测器,其中所述验证模式选择器被配置为基于检测到的温度来选择所述验证模式。
27.如权利要求20所述的非易失性存储器设备,进一步包括噪声检测器,其中所述验证模式选择器被配置为基于检测到的噪声来选择所述验证模式。
28.一种非易失性存储器设备,包括:
包含多个存储块的三维存储单元阵列,其中所述多个存储块中的每一个包括多个NAND存储串,每个NAND存储串沿第一方向延伸并且排列在沿正交于第一方向的第二方向延伸的对应位线与沿正交于第一方向和第二方向的第三方向延伸的公共源极线之间,并且所述NAND存储串中的一个包括连接在第一位线与第一字线之间的存储单元;
电压生成器,被配置为生成包括编程电压的多个控制电压;
地址译码器,被配置为响应于外部提供的地址将编程电压连接至第一字线;
页缓冲电路,被配置为响应于外部提供的地址将位线电压连接至第一位线;以及
控制逻辑,被配置为控制所述电压生成器和地址译码器以通过施加第i编程电压作为所述编程电压来执行针对所述存储单元的编程操作的第i编程间隔,以及被配置为控制所述页缓冲电路以(1)如果所述存储单元是快速存储单元则施加位线强制电压到所述位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线,
其中,所述控制逻辑被进一步配置为评估编程条件,基于所评估的编程条件从一组验证模式中选择验证模式,以及控制所述电压生成器、地址译码器和页缓冲电路以使用所选择的验证模式执行验证操作,
其中,所述控制逻辑选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
所述控制逻辑还被配置为定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述控制逻辑在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
29.一种存储系统,包括:
非易失性存储器设备,包含连接在字线与位线之间的存储单元;以及
存储器控制器,被配置为控制所述非易失性存储器设备的操作,
其中,所述非易失性存储器设备还包括:
电压生成器,被配置为生成包括编程电压的多个控制电压;
地址译码器,被配置为响应于外部提供的地址将所述编程电压连接至所述字线;
页缓冲电路,被配置为响应于外部提供的地址将位线电压连接至所述位线;以及
控制逻辑,被配置为控制所述电压生成器和地址译码器,以通过施加第i编程电压作为所述编程电压来执行针对所述存储单元的编程操作的第i编程间隔,以及被配置为控制所述页缓冲电路以(1)如果所述存储单元是快速存储单元则施加位线强制电压到位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线,
其中,所述控制逻辑被进一步配置为评估编程条件,基于所评估的编程条件从一组验证模式中选择验证模式,以及控制所述电压生成器、地址译码器和页缓冲电路以使用所选择的验证模式执行验证操作,
其中,所述控制逻辑选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
所述控制逻辑还被配置为定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述控制逻辑在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
30.如权利要求29所述的存储系统,其中,所述控制逻辑包括验证模式选择器,被配置为基于所评估的编程条件选择所述验证模式。
31.如权利要求29所述的存储系统,其中,所述存储器控制器包括:
中央处理单元,其经由总线连接至主机接口和存储器接口,
其中,所述主机接口被配置为从主机接收编程数据,以及所述存储器接口被配置为发送编程数据到所述非易失性存储器设备。
32.如权利要求30所述的存储系统,其中,所述存储器控制器和非易失性存储器设备被配置在存储卡上。
33.如权利要求30所述的存储系统,其中,所述存储器控制器和非易失性存储器设备被配置在服务器上。
34.一种固态驱动器SSD,包括:
多个非易失性存储器设备,以及被配置为控制所述多个非易失性存储器设备的操作的存储器控制器,
其中,所述多个存储器设备中的每一个包括连接在字线与位线之间的存储单元,并且还包括:
电压生成器,被配置为生成包括编程电压的多个控制电压;
地址译码器,被配置为响应于外部提供的地址将所述编程电压连接至所述字线;
页缓冲电路,被配置为响应于外部提供的地址将位线电压连接至所述位线;以及
控制逻辑,被配置为控制所述电压生成器和地址译码器,以通过施加第i编程电压作为所述编程电压来执行针对所述存储单元的编程操作的第i编程间隔,以及被配置为控制所述页缓冲电路以(1)如果所述存储单元是快速存储单元则施加位线强制电压到位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线,
其中,所述控制逻辑被进一步配置为评估编程条件,基于所评估的编程条件从一组验证模式中选择验证模式,以及控制所述电压生成器、地址译码器和页缓冲电路以使用所选择的验证模式执行验证操作,
其中,所述控制逻辑包括验证模式选择器,被配置为基于所评估的编程条件选择所述验证模式,
其中,所述控制逻辑选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
所述控制逻辑还被配置为定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述控制逻辑在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
35.如权利要求34所述的SSD,其中,所述存储器控制器进一步被配置为经由多个通道与所述多个非易失性存储器设备传递数据,其中通道的数目小于所述多个非易失性存储器设备的数目。
36.如权利要求34所述的SSD,其中,所述存储器控制器包括:
主机接口,被配置为与主机传递数据;
存储器设备接口,被配置为与所述多个非易失性存储器设备传递数据;
高速缓冲存储器;以及
中央处理单元CPU,被配置为使用所述高速缓冲存储器控制所述主机接口与所述存储器设备接口之间的数据的传递。
37.一种被物理配置为用于与主机设备连接并且被电气配置为与所述主机交换数据的存储卡,所述存储卡包括:
多个非易失性存储器设备,以及被配置为控制所述多个非易失性存储器设备的操作的存储器控制器,
其中,所述多个存储器设备中的每一个包括连接在字线与位线之间的存储单元,并且还包括:
电压生成器,被配置为生成包括编程电压的多个控制电压;
地址译码器,被配置为响应于外部提供的地址将所述编程电压连接至所述字线;
页缓冲电路,被配置为响应于外部提供的地址将位线电压连接至所述位线;以及
控制逻辑,被配置为控制所述电压生成器和地址译码器,以通过施加第i编程电压作为所述编程电压来执行针对所述存储单元的编程操作的第i编程间隔,以及被配置为控制所述页缓冲电路以(1)如果所述存储单元是快速存储单元则施加位线强制电压到位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线,
其中,所述控制逻辑被进一步配置为评估编程条件,基于所评估的编程条件从一组验证模式中选择验证模式,以及控制所述电压生成器、地址译码器和页缓冲电路以使用所选择的验证模式执行验证操作,
其中,所述控制逻辑包括验证模式选择器,被配置为基于所评估的编程条件选择所述验证模式,
其中,所述控制逻辑选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
所述控制逻辑还被配置为定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述控制逻辑在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
38.如权利要求37所述的存储卡,其中,所述存储器控制器包括:
主机接口,被配置为与主机传递数据;
存储器设备接口,被配置为与所述多个非易失性存储器设备传递数据;
缓冲存储器;以及
微处理器,被配置为使用所述缓冲存储器控制所述主机接口与所述存储器设备接口之间的数据的传递。
39.一种存储系统,包括:
非易失性存储器设备;
存储器控制器,被配置为控制所述非易失性存储器设备的操作,并且包含:
主机接口,被配置为从主机接收写入数据;
存储器设备接口,被配置为提供来自所述非易失性存储器设备的读取数据;
缓冲存储器;以及
误差校正电路ECC,被配置为校正所述读取数据和所述写入数据中的至少一个中的数据误差;以及
中央处理单元CPU,被配置为使用所述缓冲存储器控制所述ECC的操作以及在所述主机接口与所述存储器设备接口之间的写入数据和读取数据的传送,
其中,所述存储器设备包括连接在字线与位线之间的存储单元,并且还包括:
电压生成器,被配置为生成包括编程电压的多个控制电压;
地址译码器,被配置为响应于外部提供的地址将所述编程电压连接至所述字线;
页缓冲电路,被配置为响应于外部提供的地址将位线电压连接至所述位线;以及
控制逻辑,被配置为控制所述电压生成器和地址译码器,以通过施加第i编程电压作为所述编程电压来执行针对所述存储单元的编程操作的第i编程间隔,以及被配置为控制所述页缓冲电路以(1)如果所述存储单元是快速存储单元则施加位线强制电压到位线或者(2)如果所述存储单元是慢速存储单元则施加小于所述位线强制电压的位线编程电压到所述位线,
其中,所述控制逻辑被进一步配置为评估编程条件,基于所评估的编程条件从一组验证模式中选择验证模式,以及控制所述电压生成器、地址译码器和页缓冲电路以使用所选择的验证模式执行验证操作,
其中,所述控制逻辑包括验证模式选择器,被配置为基于所评估的编程条件选择所述验证模式,
其中,所述控制逻辑选择验证模式包括在单步验证模式与多步验证模式之间进行选择,
所述控制逻辑还被配置为定义与已执行编程间隔的数目关联的编程间隔阈值,
其中,所述控制逻辑在单步验证模式与多步验证模式之间进行选择包括:
将当前编程间隔与所述编程间隔阈值相比较,并且如果所述当前编程间隔小于所述编程间隔阈值则选择所述多步验证模式,否则选择所述单步验证模式。
40.如权利要求39所述的存储系统,其中,所述非易失性存储器设备包括堆叠在一个封装中的单个产品的NAND闪存设备。
41.如权利要求40所述的存储系统,其中,所述单个产品的NAND闪存设备当被连接至所述主机时接收电源电压Vcc和Vccq,其中所述电源电压Vcc是3.0V,且所述电源电压Vccq是在1.8V与3.0V之间范围中的电压。
CN201110144117.3A 2010-05-31 2011-05-31 非易失性存储器设备、系统及编程方法 Active CN102298966B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610902984.1A CN106920569B (zh) 2010-05-31 2011-05-31 操作非易失性存储器设备的方法

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US34999510P 2010-05-31 2010-05-31
KR10-2010-0051190 2010-05-31
KR20100051190A KR20110131648A (ko) 2010-05-31 2010-05-31 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
US61/349,995 2010-05-31
US13/012,037 US8472245B2 (en) 2010-05-31 2011-01-24 Nonvolatile memory device, system and programming method with dynamic verification mode selection
US13/012,037 2011-01-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610902984.1A Division CN106920569B (zh) 2010-05-31 2011-05-31 操作非易失性存储器设备的方法

Publications (2)

Publication Number Publication Date
CN102298966A CN102298966A (zh) 2011-12-28
CN102298966B true CN102298966B (zh) 2016-12-07

Family

ID=45022025

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110144117.3A Active CN102298966B (zh) 2010-05-31 2011-05-31 非易失性存储器设备、系统及编程方法
CN201610902984.1A Active CN106920569B (zh) 2010-05-31 2011-05-31 操作非易失性存储器设备的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610902984.1A Active CN106920569B (zh) 2010-05-31 2011-05-31 操作非易失性存储器设备的方法

Country Status (4)

Country Link
US (4) US8472245B2 (zh)
JP (1) JP5829837B2 (zh)
KR (1) KR20110131648A (zh)
CN (2) CN102298966B (zh)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916544B2 (en) * 2008-01-25 2011-03-29 Micron Technology, Inc. Random telegraph signal noise reduction scheme for semiconductor memories
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
KR20120004742A (ko) * 2010-07-07 2012-01-13 주식회사 하이닉스반도체 비휘발성 메모리 및 이의 프로그램 방법
KR20120030281A (ko) * 2010-09-20 2012-03-28 삼성전자주식회사 플래시 메모리 장치, 및 그의 프로그램 검증 방법
KR101184814B1 (ko) * 2010-10-26 2012-09-20 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 프로그램 방법
DE102011056141A1 (de) * 2010-12-20 2012-06-21 Samsung Electronics Co., Ltd. Negativspannungsgenerator, Dekoder, nicht-flüchtige Speichervorrichtung und Speichersystem, das eine negative Spannung verwendet
KR101771619B1 (ko) * 2011-02-09 2017-08-28 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 구동 방법
JP2012181761A (ja) * 2011-03-02 2012-09-20 Toshiba Corp 半導体メモリ装置および復号方法
US8542537B2 (en) * 2011-04-29 2013-09-24 Spansion Llc Method and apparatus for temperature compensation for programming and erase distributions in a flash memory
KR20120136533A (ko) * 2011-06-09 2012-12-20 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작방법
KR101861084B1 (ko) * 2011-07-11 2018-05-28 삼성전자주식회사 비휘발성 메모리 장치, 이의 동작 방법, 및 비휘발성 메모리 장치를 포함하는 전자 장치
KR101821604B1 (ko) * 2011-07-25 2018-01-24 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101939235B1 (ko) * 2011-08-03 2019-01-17 삼성전자 주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
JP5380508B2 (ja) * 2011-09-27 2014-01-08 株式会社東芝 不揮発性半導体記憶装置
KR101785448B1 (ko) * 2011-10-18 2017-10-17 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
JP2013200932A (ja) * 2012-03-26 2013-10-03 Toshiba Corp 不揮発性半導体記憶装置
KR101989850B1 (ko) * 2012-04-03 2019-06-18 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
KR20130129700A (ko) * 2012-05-21 2013-11-29 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그의 구동방법
KR101996004B1 (ko) * 2012-05-29 2019-07-03 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템
KR101921101B1 (ko) * 2012-08-06 2018-11-22 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
US9230685B2 (en) 2012-10-23 2016-01-05 Micron Technology, Inc. Memory programming methods and memory systems
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
KR102112596B1 (ko) * 2013-03-15 2020-05-19 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그래밍 방법
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
KR102127416B1 (ko) * 2013-06-27 2020-06-26 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 읽기 방법
TWI511143B (zh) * 2013-08-07 2015-12-01 Elite Semiconductor Esmt 非揮發性半導體記憶體元件
KR102133362B1 (ko) * 2013-08-14 2020-07-15 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 및 그것의 프로그램 방법
CN105518794A (zh) * 2013-09-05 2016-04-20 株式会社东芝 半导体存储装置和数据写入方法
JP2015056190A (ja) * 2013-09-11 2015-03-23 株式会社東芝 不揮発性半導体記憶装置
KR102118979B1 (ko) 2013-09-13 2020-06-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
WO2015092879A1 (ja) * 2013-12-18 2015-06-25 株式会社 東芝 半導体記憶装置
KR102248267B1 (ko) * 2014-04-30 2021-05-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 및 읽기 방법들
US9922718B2 (en) 2014-05-22 2018-03-20 Seagate Technology Llc Flash command that reports a count of cell program failures
KR102179270B1 (ko) * 2014-07-23 2020-11-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
KR102238579B1 (ko) 2014-08-06 2021-04-09 삼성전자주식회사 메모리 장치의 프로그램 방법
KR102235492B1 (ko) * 2014-08-25 2021-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
US9312010B1 (en) * 2014-10-07 2016-04-12 Sandisk Technologies Inc. Programming of drain side word line to reduce program disturb and charge loss
KR102293136B1 (ko) 2014-10-22 2021-08-26 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
KR20160075064A (ko) * 2014-12-19 2016-06-29 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US10430112B2 (en) * 2014-12-22 2019-10-01 Sandisk Technologies Llc Memory block cycling based on memory wear or data retention
TWI559314B (zh) * 2014-12-27 2016-11-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US9324441B1 (en) * 2015-01-20 2016-04-26 Sandisk Technologies Inc. Fast adaptive trimming of operating parameters for non-volatile memory devices
KR20160108770A (ko) * 2015-03-06 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) * 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
KR20160129430A (ko) * 2015-04-30 2016-11-09 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
US9870325B2 (en) * 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
KR102313017B1 (ko) * 2015-08-21 2021-10-18 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 쓰기를 제어하는 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
KR20170028152A (ko) 2015-09-03 2017-03-13 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
US9633744B2 (en) * 2015-09-18 2017-04-25 Intel Corporation On demand knockout of coarse sensing based on dynamic source bounce detection
KR20170036850A (ko) 2015-09-18 2017-04-03 에스케이하이닉스 주식회사 멀티 칩 패키지, 멀티 칩 패키지 시스템 및 멀티 칩 패키지의 테스트 방법
KR102503169B1 (ko) * 2015-11-03 2023-02-24 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102377453B1 (ko) * 2015-11-05 2022-03-23 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 동작 방법
US9842655B2 (en) 2015-12-08 2017-12-12 Intel Corporation Reducing verification checks when programming a memory device
KR102473167B1 (ko) * 2015-12-18 2022-12-02 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR102498248B1 (ko) * 2016-02-04 2023-02-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
JP6490018B2 (ja) * 2016-02-12 2019-03-27 東芝メモリ株式会社 半導体記憶装置
KR102458918B1 (ko) * 2016-02-24 2022-10-25 삼성전자주식회사 메모리 장치 및 메모리 시스템
US11574691B2 (en) 2016-02-24 2023-02-07 Samsung Electronics Co., Ltd. Memory device and memory system
JP2017168156A (ja) * 2016-03-14 2017-09-21 東芝メモリ株式会社 半導体記憶装置
TWI627631B (zh) * 2016-07-18 2018-06-21 旺宏電子股份有限公司 記憶胞的操作方法及其應用
US9786345B1 (en) * 2016-09-16 2017-10-10 Micron Technology, Inc. Compensation for threshold voltage variation of memory cell components
US10381094B2 (en) 2016-10-11 2019-08-13 Macronix International Co., Ltd. 3D memory with staged-level multibit programming
KR20180057431A (ko) * 2016-11-22 2018-05-30 삼성전자주식회사 비휘발성 메모리 장치
CN107239409B (zh) * 2017-05-08 2020-12-29 深圳大学 一种基于温度的重要数据分配方法及其系统
US20180336946A1 (en) * 2017-05-22 2018-11-22 Macronix International Co., Ltd. Memory operating method and memory operating device
KR102363382B1 (ko) * 2017-09-26 2022-02-16 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치
CN109637575B (zh) * 2017-10-09 2022-03-25 中国科学院微电子研究所 闪存存储单元的双数据读取验证方法和设备
TWI640011B (zh) * 2017-10-18 2018-11-01 力晶科技股份有限公司 非揮發性記憶體裝置及對其驗證的錯誤補償方法
KR102504295B1 (ko) 2017-11-24 2023-02-27 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
KR20190064033A (ko) * 2017-11-30 2019-06-10 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
KR20190073943A (ko) * 2017-12-19 2019-06-27 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10482984B2 (en) * 2018-04-13 2019-11-19 Sandisk Technologies Llc Ramp down sensing between program voltage and verify voltage in memory device
US10573390B1 (en) * 2018-11-30 2020-02-25 Samsung Electronics Co., Ltd. High-density storage system
JP7313444B2 (ja) 2018-12-07 2023-07-24 長江存儲科技有限責任公司 メモリシステムをプログラムするための方法
CN109863557A (zh) * 2019-01-23 2019-06-07 长江存储科技有限责任公司 用于对存储器系统进行编程的方法
KR20200106748A (ko) * 2019-03-05 2020-09-15 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
JP2020144961A (ja) * 2019-03-07 2020-09-10 キオクシア株式会社 半導体記憶装置
KR20200129239A (ko) 2019-05-07 2020-11-18 삼성전자주식회사 페이지 버퍼, 이를 포함하는 메모리 장치
US10978145B2 (en) 2019-08-14 2021-04-13 Sandisk Technologies Llc Programming to minimize cross-temperature threshold voltage widening
KR20210024916A (ko) 2019-08-26 2021-03-08 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20210025249A (ko) 2019-08-27 2021-03-09 삼성전자주식회사 메모리 시스템 및 그 동작 방법
US11069417B2 (en) * 2019-08-27 2021-07-20 Samsung Electronics Co., Ltd. Memory system and method of operating the same
CN110678926B (zh) * 2019-08-28 2021-07-16 长江存储科技有限责任公司 闪速存储器件中的编程方法
US11062756B2 (en) 2019-10-14 2021-07-13 Western Digital Technologies, Inc. Extending operating temperature of storage device
KR20210089811A (ko) * 2020-01-08 2021-07-19 삼성전자주식회사 외부 신호에 기초하여, 전력 모드의 변경을 감지하는 전자 장치
US11232844B2 (en) * 2020-05-22 2022-01-25 Samsung Electronics Co., Ltd. Memory with adaptive slow-cell data compression
CN112462731B (zh) * 2020-10-16 2022-06-24 北京西南交大盛阳科技股份有限公司 安全监督控制方法、安全监督控制装置、计算机设备及安全监督系统
US11532367B2 (en) 2020-12-08 2022-12-20 Micron Technology, Inc. Managing programming convergence associated with memory cells of a memory sub-system
US11475959B1 (en) * 2021-06-30 2022-10-18 Sandisk Technologies Llc Reduced program time for memory cells using negative bit line voltage for enhanced step up of program bias
US11646081B2 (en) * 2021-08-03 2023-05-09 Sandisk Technologies Llc Reliability compensation for uneven NAND block degradation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080089075A (ko) * 2007-03-31 2008-10-06 주식회사 하이닉스반도체 반도체 플래시 메모리 장치의 구동방법

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11297084A (ja) * 1998-04-08 1999-10-29 Hitachi Ltd 半導体装置
US6894931B2 (en) 2002-06-20 2005-05-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
JP2004023044A (ja) * 2002-06-20 2004-01-22 Toshiba Corp 不揮発性半導体記憶装置
JP3889699B2 (ja) * 2002-11-29 2007-03-07 株式会社東芝 不揮発性半導体記憶装置及びそのデータ書き込み方法
KR100496866B1 (ko) * 2002-12-05 2005-06-22 삼성전자주식회사 미프로그램된 셀들 및 과프로그램된 셀들 없이 균일한문턱 전압 분포를 갖는 플레쉬 메모리 장치 및 그프로그램 검증 방법
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
JP4170952B2 (ja) * 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
DE102005009700B4 (de) * 2004-02-26 2009-02-05 Samsung Electronics Co., Ltd., Suwon Programmierverfahren und nichtflüchtiger Speicher
US7173859B2 (en) * 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
KR100621631B1 (ko) 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
WO2006138413A1 (en) * 2005-06-15 2006-12-28 Micron Technology, Inc. Selective slow programming convergence in a flash memory device
ITRM20050310A1 (it) * 2005-06-15 2006-12-16 Micron Technology Inc Convergenza a programmazione selettiva lenta in un dispositivo di memoria flash.
JP4991131B2 (ja) 2005-08-12 2012-08-01 株式会社東芝 半導体記憶装置
KR100851853B1 (ko) * 2006-11-22 2008-08-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
US7590007B2 (en) 2007-01-11 2009-09-15 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
JP2009037720A (ja) 2007-01-11 2009-02-19 Toshiba Corp 不揮発性半導体記憶装置
US7551483B2 (en) * 2007-04-10 2009-06-23 Sandisk Corporation Non-volatile memory with predictive programming
US7656709B2 (en) * 2007-05-03 2010-02-02 Micron Technology, Inc. NAND step up voltage switching method
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7489543B1 (en) * 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
US7869273B2 (en) * 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
KR101448851B1 (ko) 2008-02-26 2014-10-13 삼성전자주식회사 비휘발성 메모리 장치에서의 프로그래밍 방법
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
KR101427896B1 (ko) 2008-08-06 2014-08-11 삼성전자주식회사 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치 및그것을 포함하는 메모리 시스템
US8064252B2 (en) * 2008-11-21 2011-11-22 Micron Technology, Inc. Multi-pass programming in a memory device
US8139419B2 (en) * 2009-12-08 2012-03-20 Micron Technology, Inc. Programming methods and memories
US8472256B2 (en) * 2010-05-12 2013-06-25 Micron Technology, Inc. Non-volatile memory programming
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
KR20120056113A (ko) * 2010-11-24 2012-06-01 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법, 그리고 불휘발성 메모리 장치를 포함하는 메모리 시스템
US8953386B2 (en) * 2012-10-25 2015-02-10 Sandisk Technologies Inc. Dynamic bit line bias for programming non-volatile memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080089075A (ko) * 2007-03-31 2008-10-06 주식회사 하이닉스반도체 반도체 플래시 메모리 장치의 구동방법

Also Published As

Publication number Publication date
US20150124526A1 (en) 2015-05-07
JP5829837B2 (ja) 2015-12-09
US8472245B2 (en) 2013-06-25
CN102298966A (zh) 2011-12-28
US9224483B2 (en) 2015-12-29
JP2011253608A (ja) 2011-12-15
CN106920569B (zh) 2021-01-12
CN106920569A (zh) 2017-07-04
US8773916B2 (en) 2014-07-08
US20110292724A1 (en) 2011-12-01
US20140313823A1 (en) 2014-10-23
US20130279264A1 (en) 2013-10-24
KR20110131648A (ko) 2011-12-07

Similar Documents

Publication Publication Date Title
CN102298966B (zh) 非易失性存储器设备、系统及编程方法
CN109935267B (zh) 半导体存储器装置及其操作方法
US8539138B2 (en) Flash memory device and method of programming flash memory device
KR101821604B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
US8681543B2 (en) Nonvolatile memory device and related method of programming
KR101857529B1 (ko) 비휘발성 메모리 장치 및 그것의 구동 방법
US9275751B2 (en) Nonvolatile memory device and program method
US9281068B2 (en) Nonvolatile memory and related reprogramming method
KR101517597B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
US10573378B2 (en) Methods of programming memory devices
US20160011779A1 (en) Nonvolatile memory device, memory controller, and operating method of the same
US20170110185A1 (en) Programming method of non volatile memory device
CN110021313A (zh) 非易失性存储器件及其读取方法
KR102449196B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
CN110400588A (zh) 存储器装置以及该存储器装置的操作方法
US9030878B2 (en) Semiconductor memory device including a plurality of cell strings, memory system including the same, and control method thereof
KR20180114746A (ko) 저장 장치 및 그 동작 방법
CN110648708A (zh) 半导体存储器装置、其操作方法以及存储器系统
US9607700B2 (en) Non-volatile memory device, memory system, and methods of operating the device and system
KR20200071605A (ko) 반도체 메모리 장치 및 그 동작 방법
US11423986B2 (en) Semiconductor memory device and method of operating the semiconductor memory device
CN114822636A (zh) 半导体存储器设备和操作半导体存储器设备的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant