单胞多位式的存储器及其操作方法

文档序号:10472310阅读:473来源:国知局
单胞多位式的存储器及其操作方法
【专利摘要】本发明公开了一种单胞多位式的存储器及其操作方法,该单胞多位式的存储器包括多个实体页面,每一实体页面具有N个可寻址的页面p(n)。由逻辑实施多个可选择程序操作以将被寻址的页面编程。由逻辑选择所述多个可选择程序操作中的一者以利用表示特定实体页面中另一可寻址的页面的逻辑状态的讯号来将所述特定实体页面中的被寻址的页面编程。所述逻辑状态可表示所述另一可寻址的页面是否含有无效数据。第一与第二程序操作分别覆写与保持所述另一可寻址的页面。第一程序操作可相较于第二程序操作更快地执行。所述逻辑亦可应用于将未以页面模式配置的单胞多位式的存储器编程。
【专利说明】
单胞多位式的存储器及其操作方法
技术领域
[0001]本发明是有关于高密度存储器装置,且是有关于在每一单元中储存多个位的装置的运作及用于多位存储器的变型操作次序,尤其是一种单胞多位式的存储器及其操作方法。
[0002]本申请案主张于2014年11月25日提出申请的美国临时专利申请案第62/084,526号的权益,所述申请案以全文并入本案的方式供参考。
[0003]本申请案与由发明人张育铭(Yu-Ming Chang)、李永骏(Yung-Chun Li)、李祥邦(Hsiang-Pang Li)、张原豪(Yuan-Hao Chang)、及郭大维(Te1-Wei Kuo)于2015年7月22 日提出申请的共同拥有的申请中美国专利申请案第14/805,498号(P1030306)相关,所述申请案以全文并入本案的方式供参考。
【背景技术】
[0004]反及(NAND)闪存被广泛用作移动装置的储存媒体、膝上型计算机及服务器中的固态磁盘、以及用于其他数据处理系统。为了提高反及闪存芯片上的数据密度,供货商已使用多电平单元(multilevel-cell,MLC)技术以在每一单元中储存二或更多个位的信息。然而,相较于其中每一单元储存一个位的信息的单电平单元(8;[1^16-16¥61-0611,5]^0芯片,]\0^芯片通常在读取及程序操作中具有延迟时间(latency)较长、保持时间(retent1n time)较短以及因不同位值的临限电压之间的差异较小而存在较多可靠性问题的缺点。
[0005]在MLC闪存中,由于无法保证高页面与低页面的数据皆在页面缓冲器中作好编程准备,因此对同一字线(word line)的高页面(high page)及低页面(low page)进行编程可划分成两个阶段。参见Chang等人发表于ACM Trans.Embed.Comput.Syst.第13卷第I期10:1-10:28,2013年9月的「针对基于多电平单元的闪存储存系统的快闪转换层下的可靠性增强设计(A reliability enhancement design under the flash translat1n layer formlc-based flash-memory storage systems)」。举例而言,同一字线的所有单元最初皆处于具有最低(感测)临限电压的状态。在第一阶段,首先将高页面数据编程至字线。储存(高页面的)位I的快闪单元保持处于相同状态,但储存位O的单元被编程至(programmedforward to)具有更高临限电压的(逻辑)状态「O」。此种单元分布与将SLC页面编程之后的单元分布类似。因此,高页面的编程速度非常接近于SLC页面的编程速度。
[0006]在第二阶段,将低页面数据编程至字线以具有分布至四种不同状态的单元,以使得每一单元可代表两个位的数据,其中一个位来自高页面而另一个位来自低页面。若为状态「I」的单元储存低页面的位O,则所述单元被编程至状态「10」;否则,所述单元被编程为状态「11」。类似的操作亦适用于在状态「O」中的单元。
[0007]用于第二阶段的编程算法需要对临限电压的最终分布进行更精细的控制。因此,将低页面编程相较于将高页面编程将花费更多的时间。此种设计导致在将低页面编程时具有耗时的延迟,并严重地损害MLC闪存中的整体编程速度以及存取效能。此外,此种设计亦将导致更大数目的错误位或更高的位错误率,此乃因多个电平所需要的电压范围(低于Vpass)被分割成多个状态。需注意到Vpass是可导通(turn on)任何数据储存状态中的快闪单元的电压。
[0008]针对高页面及低页面两者的数据同时在页面缓冲器中准备就绪的情况提出了一些MLC编程方法,例如在Hsieh等人于2014年I月13日提出申请且标题为「多位存储器单元的编程(PROGRAMMING MULTIBIT MEMORY CELLS)」的美国专利申请案第14/153,934号(现在为美国专利公开案第2014/0198570)中所阐述。所述方法可以在成本相当有限的状态下提高效能。
[0009]因此,需要提供用于MLC存储器的改良的运作方法,以提高通量(throughput)、降低平均延迟时间、并提高可靠性。

【发明内容】

[0010]为解决上述多个技术问题,本发明提供一种技术,所述技术包括在已将多电平单元中的至少另一位编程之后选择用于所述单元中的被寻址位的程序或读取操作。举例而言,在将单胞二位式存储器(七¥0-13;[1:161—0611 memory)中的被寻址位编程时,可针对一个被寻址位选择一个用于保持另一位的程序操作,且可选择用于覆写所述另一位的另一程序操作。相较于用于保持另一位的操作,用于覆写另一位的操作可以更少的步骤执行或被更快速地执行。用于选择可选择程序操作中的一者的逻辑能够因应于(responsive to)表示所述另一位的逻辑状态的讯号。位的逻辑状态在位被编程之后可例如由于在主机系统中执行的如耗损均衡(wear leveling)等存储器管理算法而改变。
【附图说明】
[0011]图1是采用如本文中所述的多电平编程程序的存储器系统的方块图。
[0012]图2是现有技术中已知的反及快闪MLC存储器中的单元区块的简化图。
[0013]图3是示出在现有技术中已知的MLC存储器中各程序阶段的临限电压分布的图表。
[0014]图4是示出在根据本文所述技术的MLC存储器中各程序阶段的临限电压分布的图表。
[0015]图5是示出在根据本文所述技术的MLC存储器中各程序阶段的临限电压分布的图表,其中所述程序阶段包括具有变型程序验证电平的ISPP。
[0016]图6是示出在根据本文所述技术的MLC存储器中各程序阶段的临限电压分布的图表,其中所述程序阶段包括具有变型程序脉冲增量电平的ISPP。
[0017]图7是实施一种如本文中所述的用于运作MLC存储器的方法的功能模块的简化图。
[0018]图8A及图SB是可利用图7所示的模块运作的MLC存储器的实体配置及逻辑配置的简化图。
[0019]图9说明用于静态页面分配实施例的伪码(pseudocode)。
[0020]图1O至图12是图8A及图8B形式的一系列图式,其说明如本文中所述的操作方法。
[0021]图13说明用于动态页面分配实施例的伪码。
[0022]图14是说明利用本文中所述的技术的用于单胞二位式存储器的程序操作的流程图。
[0023]图15是说明利用本文中所述的技术的用于单胞二位式存储器的读取操作的流程图。
[0024]图16至图18是示出根据本文中所述的技术,在具有无效页面的各种组合的单胞三位式MLC存储器中各程序阶段的临限电压分布的图表。
[0025]图19是示出在单胞四位式MLC存储器中各程序阶段的临限电压分布、并说明本文中所用的页面命名规约(page naming convent1n)的图表。
[0026]图20至图26是示出根据本文中所述的技术,在具有无效页面的各种组合的单胞四位式MLC存储器中各程序阶段的临限电压分布的图表。
[0027]【符号说明】
[0028]1:闪存装置
[0029]2:主机
[0030]5:数据线
[0031]10:电路
[0032]11:集合
[0033]20:区块
[0034]30:地址线
[0035]40:列译码器
[0036]45:字线
[0037]50:译码器
[0038]55:库选择线
[0039]60:存储器阵列
[0040]65:位线[0041 ]70:行译码器
[0042]75:第一数据线
[0043]80:多电平单元(MLC)页面缓冲电路
[0044]85:第二数据线
[0045]90:快取电路
[0046]91:输入/输出电路
[0047]93:数据路径
[0048]100:区块
[0049]101、102、103:反及(NAND)串
[0050]105:第一逻辑页面[0051 ]106:第二逻辑页面
[0052]110、111、112、113、114、115、116:范围
[0053]120:第一曲线图
[0054]121:第二曲线图
[0055]122:第三曲线图
[0056]150、151、152、153、154、155:范围
[0057]160:第一曲线图
[0058]161:第二曲线图
[0059]162:第三曲线图
[0060]163:第四曲线图[0061 ]171:区域
[0062]171A:线
[0063]172、173、174、175、176:范围
[0064]180:第一曲线图
[0065]181:第二曲线图
[0066]182、183:曲线图
[0067]191:区域
[0068]191A:线
[0069]192、193、194、195、196:范围
[0070]200:第一曲线图
[0071]201:第二曲线图
[0072]202、203:曲线图
[0073]300:存储器技术装置MTD层模块
[0074]301:操作处置器
[0075]302:页面表
[0076]303:整修位映像
[0077]304:低页面分配表
[0078]305、306、307:驱动器
[0079]310:闪存芯片
[0080]311、312:区
[0081]320、321、322、323:实体页面
[0082]500 ?512:操作
[0083]550 ?555:操作
[0084]556:操作 / 区
[0085]557 ?560:操作
[0086]600、601、602、605、606、607:曲线图
[0087]608、609:范围
[0088]610、611、612:曲线图[0089 ]613、614、615:范围
[0090]700、701、702、703:曲线图
[0091]710:第一曲线图
[0092]711:曲线图
[0093]720:第一曲线图
[0094]721:曲线图
[0095]722、723:分布
[0096]730:第一曲线图
[0097]731:曲线图
[0098]732、733、734:分布
[0099]740:第一曲线图
[0100]741:曲线图
[0101]742、743、744、745、746:分布
[0102]750:第一曲线图
[0103]751:曲线图
[0104]752、753、754、755:分布
[0105]760:第一曲线图
[0106]761:曲线图
[0107]762、763、764、765、766、767:分布
[0108]770:第一曲线图
[0109]771:曲线图
[0110]772、773、774、775、776、777、778:分布
[0111]Dpagel、Dpage2、Dpage3、Dpage4、Dpage5、Dpage6、Dpage7、Dpage8:数据
[0112]HH:高页面
[0113]HL:第一中间页面
[0114]LH:第二中间页面
[0115]LL:低页面
[0116]PVl、PV2、PV3、PV4:程序验证电压电平
[0117]Vpass:通过电压
[0118]Vt:存储器单元临限电压
[0119]δ?:范围扩展量/干扰
[0120]δ2:干扰
[0121]δ3:范围扩展量/干扰
[0122]δ4:干扰
【具体实施方式】
[0123]参照图1至图26提供对各实施例的详细说明。
[0124]图1是存储器系统的简化图,所述存储器系统包括:闪存装置I,实行于集成电路上;以及主机2,被配置用于多电平编程操作,包括如本文中所述的用于MLC编程的逻辑。所述存储器装置可实行于单个集成电路芯片上、实行于多芯片模块上、或实行于被配置为适合特定需求的多个芯片上。
[0125]在本实例中的存储器装置I在集成电路基板上包括存储器阵列60,存储器阵列60包括每一单元储存二或更多个位的数据的多电平单元MLC。存储器阵列60可为利用二维或三维阵列技术实行的反及闪存。
[0126]列译码器40耦合至多条字线45,并沿存储器阵列60中的列排列。库(bank)译码器50耦合至多条库选择线55(例如SSL线及GSL线)。行译码器70耦合至沿存储器阵列60中的行排列的多条位线65,用于自存储器阵列60读取数据或将数据写入存储器阵列60。在本实例中说明包括地址线30及数据线5的总线。在地址线30上将地址供应至用于实行命令译码器及控制器模块的电路10、供应至行译码器70、供应至库译码器50、以及供应至列译码器40。在其他实例中,可使用其中可在地址/数据总线中的共享在线提供地址及数据的输入/输出端口。此外,可部署(deploy)串行接口 (serial interface) ο
[0127]MLC页面缓冲电路80在本实例中经由第一数据线75而耦合至行译码器70 JLC页面缓冲电路80可储存用于进行多电平编程的页面,所述多电平编程是对被排列用于页面编程的单元区块中的MLC单元进行。
[0128]行译码器70可包括电路,所述电路用于因应于MLC页面缓冲电路80中的数据值及用于设定欲被应用的程序算法的控制讯号而选择性地将程序电压及抑制电压施加至存储器中的位线。
[0129]自MLC页面缓冲电路80感测到的数据经由第二数据线85而被供应至快取电路(cache circuit)90,快取电路90继而经由数据路径93而被耦合至输入/输出电路91。此外,在本实例中在线93上将输入数据施加至快取电路90、在线85上将输入数据施加至MLC页面缓冲电路80,以用于支持如本文中所述的多电平程序操作。
[0130]输入/输出电路91提供与存储器装置I外的目的地之间的数据通讯路径。输入/输出数据及控制讯号经由数据线5而在输入/输出电路91、控制电路10、与存储器装置I上的输入/输出端口、或存储器装置I内或外的其他数据源(例如通用处理器或专用应用电路、或由存储器阵列60支持的提供单芯片系统功能的模块的组合)之间移动。
[0131]在图1所示的实例中,控制电路10包括用于实行一或多个偏压配置状态机(biasarrangement state machine)的控制模块,所述偏压配置状态机控制通过区块20中的电压供应源而产生或提供的供应电压的施加,例如用于在本文所述MLC操作方法中所使用的一组可选择的程序操作及读取操作的读取电压、验证电压及程序电压。
[0132]控制电路10耦合至快取电路90及存储器阵列60,且视需要耦合至集成电路的其他组件。电路10中的控制模块包括用以控制以下更详细阐述的多电平程序操作的逻辑。
[0133]电路10可包括利用此项技术中已知的专用逻辑电路而实行的模块。在其他实施例中,电路10可包括利用可实行于同一集成电路上的通用处理器而实行的模块,所述模块执行计算机程序以控制存储器装置I的运作。在另一实施例中,可利用专用逻辑电路及通用处理器的组合来实行电路1中的模块。
[0134]在所说明的实施例中,参数缓存器的集合(set)ll包括于存储器装置I上并耦合至电路10中的控制模块。集合11中的参数缓存器可储存用于多个可选择程序操作及多个可选择读取操作的参数,所述多个操作可根据本文所述的程序而加以选择。举例而言,参数缓存器可储存用于不同程序操作及读取操作中的程序验证电压电平及读取电压电平。此外,参数缓存器可储存程序次序(sequence)的细节,例如用于编程算法(例如,递增步阶式脉冲编程ISPP算法)中的脉冲高度、脉冲宽度、及脉冲量值(magnitude)增量。
[ΟΙ35] 存储器阵列60可包括浮栅存储器单元(floating gate memory cell)或介电电荷捕获存储器(dielectric charge trapping memory)单元,所述单元用以通过建立对应于所储存电荷量的多个程序电平并继而建立存储器单元临限电压VT而于每一单元中储存多个位。本文中的说明是以使用电荷捕获存储器单元为主,例如浮栅闪存及介电电荷捕获闪存。所述技术可与其他存储器单元技术一起使用。在其他实例中,存储器单元可包括可编程电阻存储器单元,所述可编程电阻存储器单元通过建立对应于电阻量的多个程序电平而被配置用于多位单元。
[0136]在所说明的实例中,主机2耦合至存储器装置I上的地址线30及数据线5、以及图中未示出的其他控制终端(例如,芯片选择终端等),且可向存储器装置I提供命令或指令。在某些实例中,主机2可利用串行总线技术、利用共享地址及数据线而耦合至所述存储器装置。主机2可包括通用处理器、专用处理器、被配置成存储器控制器的处理器、或使用存储器装置I的其他处理器。主机2的全部或部分可与存储器实行于同一集成电路上。
[0137]存储器可在实体上被配置成多个扇区,以使得每一实体扇区为用于由存储器支持的区块擦除(block erase)操作的最小单元。存储器的可擦除的区块可例如对应于一或多个实体扇区。举例而言,存储器的每一实体扇区的大小可为16千字节(KB)。存储器的可擦除的区块可包括一个实体扇区并具有与所述实体扇区相同的16KB的大小。存储器的可擦除的区块可包括4个实体扇区并具有64KB的大小。存储器的可擦除的区块可包括8个实体扇区并具有128KB的大小。
[0138]在被配置用于页面模式操作的存储器中,存储器的每一可擦除的区块可包括多个实体页面,所述多个实体页面包括可被并行存取的存储器单元,例如区块中共享单条字线的存储器单元。存储器单元的每一实体页面可储存多个逻辑页面,且可通过由存储器支持的页面程序操作及页面读取操作而被编程或读取。举例而言,二千兆位(2-Gbit)多电平单元(MLC)反及闪存装置可包括I千个可擦除的区块,每一可擦除的区块的大小为128千字节(Ki 1Byte )。每一可擦除的区块可包括64个实体页面,每一实体页面的大小为2KB,从而每一实体页面储存两个IKB的逻辑页面。每一逻辑页面可包括用于频外(out-of-band)OOB元数据(例如错误修正码、不良区块信息、擦除计数器等)的额外储存空间(例如,64字节)。
[0139]此外,每一可擦除的区块可包括用于频外数据的额外储存空间(例如,4KB),所述频外数据用于记录不良页面、擦除计数器、或其他数据。
[0140]闪存可被配置成使得存储器的页面可通过向存储器供应页面程序命令或页面读取命令及对应于所述页面的地址而被编程或读取。此外,闪存可被配置成使得存储器的每一区块可通过向存储器供应区块擦除命令及对应于所述区块的地址而被擦除。举例而言,上述实例的二千兆位MLC反及闪存装置的每一具体页面(particular page)可以16位地址而进行寻址,同时所述16位地址的10个最高有效位(significant bit)为包括所述具体页面的区块的地址。在此二千兆位MLC NAND的实例中,页面可通过向反及闪存装置供应页面读取命令或页面程序命令及对应于所述逻辑页面的地址而被编程或读取。
[0141]主机2可包括根据来自应用程序的请求而储存、撷取、及更新储存于存储器中的数据的一或多个文件系统。所述文件系统可包括磁盘文件系统,例如档案分配表(Fi IeAl locat1n Table,FAT)文件系统、第三扩展文件系统(Third Extended File System,EXT3)、或新技术文件系统(New Technology File System,NTFS)。所述文件系统亦可包括针对闪存设计的本机文件系统,例如日志登载快闪文件系统版本2(Journaling FlashFile System Vers1n 2,JFFS2)、未分类区块影像文件系统(Unsorted Block Image FileSystem,UBIFS)、或另一种快闪文件系统(YetAnother Flash File System,YAFFS)。主机中的文件系统经由例如读取驱动器(用于页面读取操作)、程序驱动器(用于页面程序操作)、及擦除驱动器(用于区块擦除操作)等装置驱动器来存取存储器。软件层(例如,存储器技术装置档案)可提供装置驱动器与文件系统之间的接口。
[0142]在一个实例中,主机2包括作为磁盘文件系统与装置驱动器之间的接口的快闪转换层模块(或存储器技术装置档案)。快闪转换层可提供用于执行磁盘文件系统的逻辑地址与存储器的地址之间的地址转换的存储器管理操作。快闪转换层可提供包括分配器模块的存储器管理操作,所述分配器模块分配存储器中的物理存储器空间。快闪转换层可提供包括清洁器模块(亦称为垃圾收集)的存储器管理操作,所述清洁器模块回收利用存储器中被过期数据或无效数据占据的实体空间。快闪转换层可提供包括损耗均衡器模块的存储器管理操作,所述损耗均衡器模块对存储器执行损耗均衡程序。该等存储器管理操作中的诸多操作可不时地标记包括无效数据的逻辑页面的数据,抑或产生其他类型的可用于选择被寻址页面的程序操作及读取操作的状态信息。
[0143]—般而言,主机2可包括用于执行存储器管理功能及可产生储存于存储器中的数据的状态信息(包括作为此功能的结果将数据标记为无效的信息)的其他功能的程序。此类功能可包括例如耗损均衡、不良区块恢复、功率损耗恢复、垃圾收集、及错误修正等。此外,主机2可包括应用程序、文件系统、快闪转换层程序、及可产生储存于存储器中的数据的状态信息(包括作为此功能的结果将数据标记为无效的信息)的其他组件。在本文所述技术的实施例中,主机2包括地址映像逻辑,所述地址映像逻辑将逻辑页面(或其他数据单元,例如字节、字符组、扇区、或区块)映像至对应实体页面(或其他实体单元单元),并如本文中所论述保持逻辑页面的状态信息。在本文中参照页面模式操作来阐述所述技术以保持叙述的一致性。所述技术亦可扩展至其他存储器架构(memory organizat1n),包括单单元操作、字节宽(byte-wide)操作等。
[0144]主机2可在总线上(例如被说明为包括输入/输出数据线5的总线)、在地址线30上、及在未示出的装置之间的其他讯号在线将讯号递送至存储器装置I。在一个实例中,主机2通过向存储器装置I提供具有唯一性的命令而间接地将状态信息递送至存储器装置,所述具有唯一性的命令辨识将自存储器装置I上的可选择程序操作及可选择读取操作中选出的程序操作或读取操作。在其他实施例中,主机提供具有直接数据字段(immediate datafield)的命令,所述直接数据字段携带有直接或间接表示用于选择程序操作或读取操作的状态信息的信息。在其他实施例中,可在所述装置之间的个别在线将状态信息直接提供至控制电路。在另一些实施例中,状态信息可储存于存储器装置I上,且用以产生用以选择程序操作或读取操作的讯号。
[0145]命令译码器及控制电路10用以识别及译码所述命令,且用以在选择程序操作及读取操作时直接或间接地使用状态信息。
[0146]图2说明在反及快闪阵列中的存储器单元区块。存储器单元区块(例如在图2中所说明者)可由可作为区块被擦除的存储器单元子阵列组成,且包括一定数目的耦合至对应位线(位线1、位线2、...、位线M)的NAND串(101、102、103)。沿具体字线(例如,字线2)的区块的列中的M个存储器单元可经由与所述区块耦合的M个位线而被并行存取,且可为了本说明的目的而被视为存储器单元的实体页面。对于其中每一单元储存二或更多个位的多电平存储器,每一实体页面可储存二或更多个逻辑页面。因此,对于每一单元储存两个位的存储器阵列,字线2上具有M个单元的实体页面上可储存有具有M个位的第一逻辑页面105、以及具有M个位的第二逻辑页面106。可将所述两个逻辑页面称为高页面及低页面,其中高页面在驱动器逻辑中被限制为第一写入页面,且低页面在驱动器逻辑中被限制为第二写入页面。如图2中所说明,每一逻辑页面可包括数据与频外OOB元数据(例如,错误修正码、不良区块信息、擦除计数器等)的组合。
[0147]对于能够平行感测各自具有两个位(AO)的512个单元(A9:A1)的存储器阵列,逻辑页面可通过地址位(AN: AlO及AO)而被辨识,其中N+1在此表述中是地址位的总数目。在此种情形中,页面模式操作可仅操作多位单元中的被寻址位的值,且在读取情形中将所述位的所述值提供至页面缓冲器以供进一步处理。可将每一单元描述为储存位Mn),其中η等于O至。可将实体页面描述为包括N个逻辑页面ρ(η),其中η等于O至H,且所述N个逻辑页面中的每一者包括来自实体页面中的每一MLC单元的位b(n)。
[0148]图3包括示出根据现有技术编程及读取算法,页面中的存储器单元的临限值分布的三个曲线图。编程操作可利用如同图3中所示的双阶段程序(two-phase process)或其他类型的程序而进行。本文中阐述所述双阶段程序以提供本文的【背景技术】。
[0149]第一曲线图120代表在擦除操作之后实体页面的分布。擦除操作致使存储器单元采用范围110内的临限电压。在此种情形中,实体页面上的逻辑页面皆处于未编程状态或自由状态。第二曲线图121代表在将高页面编程的操作之后实体页面的分布。在此种情形中,具有「I」状态的高页面中的位具有处于范围111中的临限电压,而具有「O」状态的高页面中的位具有处于范围112中的临限电压。此临限电压分布可利用单电平编程操作来实行,例如ISPP,在ISPP中,在用于程序操作的验证步骤中使用的程序验证电压电平位于范围112的下边缘处。第三曲线图122代表将低页面编程的操作之后的实体页面的分布,其中将低页面编程的操作是紧接着将高页面编程的操作执行。在此种情形中,若高页面位是「I」,则单元将具有处于由分别为「I」或「O」的低页面位确定的范围113或范围114中的临限值。若高页面位是「O」,则单元将具有处于由分别为「O」或「I」的低页面位而确定的范围115或范围116中的临限值。此临限电压分布可利用多电平编程操作来实行,例如ISPP,在ISPP中,在用于程序操作的验证步骤中使用的程序验证电压电平包括PVl、PV2及PV3。
[0150]程序操作的准确度、及因此电压范围的宽度因需要将临限值范围保持为低于在未被选择的单元的读取操作中使用的通过电压(pass voltage)Vpass、以及在各范围之间需要充足的边限(margin)而受到限制。
[0151]对于ISPP操作,在用于程序验证的多个临限电压中需要的准确度需要很长的程序才能成功地建立所需的临限值范围。读取操作亦为类似的情况,乃因读取操作需要使用多个临限电压以自实体页面读取数据。
[0152]图4示出四个临限值分布曲线图,其说明本文中所述的改良的编程算法,所述改良的编程算法通过保持储存于实体页面中的逻辑页面的状态信息而被支持。因此,在图中可辨识出有效页面及无效页面的分布;且无效页面是以斜线表示。第一曲线图160代表在擦除操作之后的实体页面的分布。擦除操作致使存储器单元采用处于范围150内的临限电压。在此种情形中,实体页面上的逻辑页面皆处于未编程状态或自由状态。第二曲线图161代表在将高页面编程的操作之后的实体页面的分布。在此种情形中,具有「I」状态的高页面中的位具有处于范围151中的临限电压,而具有「O」状态的高页面中的位具有处于范围152中的临限电压。此临限电压分布可利用单电平编程操作来实行,例如ISPP,在ISPP中,在用于程序操作的验证步骤中使用的临限电压位于范围152的下边缘处。在将高页面编程之后,高页面通过系统在读取操作及程序操作中使用的状态信息而被标记为「有效(valid)」。在高页面编程阶段之后,低页面可保持被标记为「自由(free) J。
[0153]所述高页面将保持被标记为「有效」,直至发生致使数据状态变为「无效」的事件。此类事件可发生于存储器管理操作期间,例如用于闪存的损耗均衡操作等。因此,在编程之后被标记为有效的高页面可在将对应的实体页面的低页面编程之前的某一时间变成无效的。第三曲线图162代表此无效状态,其表明所述高页面可被舍弃而不会损失有效数据。储存无效高页面的存储器单元仍可具有如区域153中所说明的临限值范围。
[0154]若在高页面保持有效的同时发生对低页面进行寻址的程序操作,则可利用如同参照图3所论述的多电平操作。然而,若在高页面变为被标记为无效之后发生对低页面进行寻址的程序操作,则可执行用以建立如同第四曲线图163所示的临限值分布的操作。此程序操作可为利用用于程序验证操作的单个验证电压电平(在图4中标记为PV4)的单电平操作,抑或可为相较于所有位所需要的多电平操作而具有更少步骤(或相对于所述多电平操作是经整修的(trimmed))的程序操作。表示用于或欲用于每一低页面的程序操作的类型的状态信息可通过整修位映像(trim bitmap)来保持。随着高页面被标记为无效的,仅低页面的数据需要通过临限值分布来表示。因此,若低页面位为「I」,则程序操作将致使物理存储器单元具有处于范围154内的临限值。如图4中所说明,此范围154可包括与在高页面变为无效的之前将高页面编程时所产生的范围对应的两个独立的子范围。若低页面位为「O」,则施加程序验证电平PV4的程序操作将致使存储器单元具有范围155内的临限值。此经整修程序操作会形成低于通过电压Vpass的宽的临限值裕度,并大幅降低了将低页面编程所需要的时间量。
[0155]只要低页面保持为有效的,即可保持整修位映像中的状态信息。因此,当执行读取操作来对低页面进行寻址时,为了读取位,可使用范围154与范围155之间的读取临限值。此避免了需使用不同读取电压电平的多个读取操作的此一需要。因此,在已使用经整修程序操作的情况下读取低页面所需要的时间大幅减少。此外,只要低页面保持为自由的,即可使用单临限值读取操作来读取高位。
[0156]在对应高页面为无效的情况下,使用用于将低页面编程的单电平单元式(SLC-1ike)编程算法能够在代表位值「I」及「O」的临限电压的范围之间提供宽的边限。此容许对编程算法进行修改以利用宽的边限的优势并进一步减少编程时间。
[0157]举例而言,如图5中所说明,可通过减小所使用的程序验证电压而修改编程算法。在图5中,第一曲线图180及第二曲线图181说明对低页面使用单电平式ISPP编程操作而实行的分布、以及无效高页面的情况。即使高页面为无效的,实体页面亦可具有处于区域171内的电压范围。电压范围的高边缘由线171A表示。在高页面变为无效的情况下,可执行ISPP程序以建立如曲线图181中所说明的范围172及173。在此次序中,临限电压PV4是相对高的,例如可在多电平编程算法中用作最高位。因此,执行相当大数目标程序脉冲,此致使在范围172内储存位「I」的存储器单元受到干扰。所述干扰使范围扩展了量δ I,此将使范围172与范围173之间的边限变窄。
[0158]图5的曲线图182及183说明对ISPP算法的修改。因此,在起始分布由曲线图182中的范围174表示的情况下,若高页面变为无效的,则可执行经修改的ISPP编程算法以建立曲线图183中所示的范围175、及176。所述经修改的ISPP编程算法可利用大幅低于在由曲线图181表示的程序中所使用的临限电压的临限电压PV4。在此种情形中,将需要较少的程序脉冲且具有处于范围175内的临限电压的单元的干扰δ2将相对于干扰δ?减小。此可产生更快的操作并具有充足的边限从而以低错误率感测数据。
[0159]由图6中的曲线图表示另一修改形式,此修改形式可用以利用宽的边限的优势并减少编程时间。由图6中的曲线图表示的修改形式涉及在ISPP算法中所用的脉冲量值中利用更大的步阶(Step)A V。在图6中,第一曲线图200及第二曲线图201说明对低页面使用单电平式ISPP编程操作而实行的分布、以及无效高页面的情况。即使高页面为无效的,高页面亦可具有处于区域191内的电压分布。电压分布的高边缘由线191A表示。在高页面变为无效的情况下,可执行ISPP程序以建立如曲线图201中所说明的范围192及193。在此次序中,临限电压PV4可如参照图5的曲线图181所论述为相对高的。因此,干扰使范围扩展了量δ3,此将使范围192与范围193之间的边限变窄。
[0160]图6的曲线图202及203说明对ISPP算法的修改。因此,在起始分布由曲线图202中的范围194表示的情况下,若高页面变为无效的,则可执行经修改的ISPP编程算法以建立曲线图203所示的范围195、及196。所述经修改的ISPP编程算法可利用大幅低于在由曲线图201表示的程序中所使用的临限电压的临限电压PV4。此外,程序操作可在ISPP算法中所使用的脉冲量值中使用更大的步阶A V。在此种情形中,将需要较少的程序脉冲且具有处于范围195内的临限电压的单元的干扰δ4将相对于干扰δ3减小。此外,范围196的宽度将变大,从而消耗VpassW下的某些边限,但于范围195与196之间保留充足的边限。
[0161 ]图7说明可由主机执行以管理本文所述多电平程序操作的模块。在本实例中,模块可被实行为存储器技术装置MTD层模块300的一部分,所述存储器技术装置MTD层模块300自较高的层(例如,快闪转换层或其他类型的文件系统)接收数据写入指令。模块包括除较高层信息(例如,地址映像、数据有效性等)以外亦与状态数据耦合的操作处置器(operat1nhandler)301,操作处置器301包括最后写入的页面表302、整修位映像303(其实例架构绘示于区311中)、及低页面分配表304(其实例架构绘示于区312中)。操作处置器301与驱动器305通讯以执行读取功能、与驱动器306通讯以执行程序功能、以及与驱动器307通讯以执行擦除功能。
[0162]驱动器305、306、及307发出命令或指令以运作闪存芯片310,闪存芯片310在图解说明中包括多个标号为区块I至区块100的可擦除区块。
[0163]如上所述,所述区块中的每一者包括多列存储器单元,其中以NAND闪存为例,耦合至单条字线的每一列皆对应于可储存多个逻辑页面的单个实体页面。
[0164]图8A提供包括四个实体页面320、321、322、及323的反及快闪区块的实体视图表示形式,所述实体页面中的每一者被分配有一或多个逻辑页面。在某些实行形式中,每一区块可具有大量的列或实体页面。为简明起见,参照具有四个实体页面的区块来阐述本实例。
[0165]实体页面320被分配用于逻辑高页面I及逻辑低页面5。实体页面321被分配用于逻辑高页面2。实体页面322保持处于自由状态,无逻辑页面映像至实体页面322。实体页面323被分配用于逻辑高页面4。
[0166]图SB提供图8A所示的区块的逻辑视图表示形式。对于具有四个实体页面的每一单元储存两个位的区块,可被分配八个逻辑页面(即页面l(Page I)至页面8(Page 8))的数据(即DPagelSDPage8)。可为每一逻辑页面保持状态信息,包括例如在将逻辑页面成功编程为实体页面之后进入的有效状态、在逻辑页面被存储器管理例程(routine)标记为无效之后进入的无效状态、以及在成功擦除区块之后进入的自由状态。出于此解释的目的,逻辑视图标出高页面I及高页面4被标记为无效、高页面2及低页面5被标记为有效、且高页面3、低页面
6、低页面7、及低页面8被标记为自由或未被编程。
[0167]此外,如图SB中所示,操作处置器对区块中的逻辑页面执行自高页面开始至低页面的程序次序,并储存最后写入的页面表,所述最后写入的页面表标记区块的最后写入逻辑页面,以表示区块中的逻辑页面的编程状态的次序。
[0168]整修位映像303具有如图7的区311中所说明的逻辑架构。当对映像至同一实体页面的低页面执行程序操作时,操作处置器301需要知晓哪些高页面已被标记为无效的。在所述实例中,如图SB所示,页面3具有「自由」状态。然而,页面4及页面5已被乱序地编程。因此在此种情形中,页面3将被视为其对应的高页面为无效的一般,并如图7的表311中所反映,在区块的整修位映像中被标记为真。
[0169]此外,操作处置器301需要知晓哪些低页面被映像至哪一高页面。所述映像可为静态的,其中低页面与所具有的逻辑地址偏移达每一区块的逻辑页面数目的一半(对于每一实体页面具有两个逻辑页面的系统而言)的高页面被静态地映像至同一实体列。或者是,当利用低页面分配表304来实行时,低页面可被动态地分配至所具有的高页面在编程时被标记为无效的实体页面。此将增加经整修程序操作可被施加于将低页面编程的次数。若在低页面5将被编程时,在字线I的高页面中的高页面I保持有效,则低页面5可利用动态分配模式被分配至实体页面,例如字线2的低页面位置。
[0170]操作处置器可被实行为存储器转换装置层驱动器中的模块,所述存储器转换装置层驱动器作为用于上覆(overlying)应用程序的硬件抽象化层。MTD层上方的快闪转换层或其他存储器管理层可利用所述编程方法的优势而无需进行修改或仅进行有限的修改。
[0171]操作处置器利用储存于表302、303、及304中的状态信息来辨识适用于被存取的具体逻辑页面的读取功能、及程序功能。在操作处置器中所确定的及可供利用的表示将使用哪一读取功能及哪一程序功能的信息可利用命令协议(protocol)而被传送至闪存芯片,所述命令协议包括例如针对不同程序操作及读取操作中的每一者利用专用命令的协议、或其中状态信息携带有读取命令或程序命令并在芯片级被解读的命令协定。
[0172]在其他系统中,操作处置器及状态信息可被保持于集成电路存储器装置上,且在原位被操作以用于选择恰当读取功能或程序功能。
[0173]图9中示出用于使用静态页面分配的单胞二位式存储器的静态操作处置器的伪码表示形式。参数包括以下:
[0174]OP:请求类型(读取、写入、擦除、整修)。
[0175]addr:由快闪转换层驱动器发布的绝对页面地址。
[0176]data:页面数据的缓冲器。
[0177]bitmap:标记经修剪程序操作的修剪位映像。
[0178]LWPT:最后写入的页面表。
[0179]根据所述程序,通过将逻辑addr除以区块中的逻辑页面的数目PAGEPERBL0CK而确定被存取的区块地址Pba(行I)。对于其中每一单元储存N个位的存储器,每一区块的页面数目可为可擦除的区块中的实体页面或列的数目的N倍。
[0180]将被存取的页面地址ppa设定为等于addr(mod)PAGEPERBLOCK(行2)。
[0181 ]自LWPT确定被存取的区块地址pba的偏移值,且所述偏移值表示区块中的最后写入的页面数目(行3)。
[0182]然后,对于写入操作,伪码判断被存取的页面地址ppa减去所述偏移值是否大于I。若是,则当前操作是跳过至少一个自由页面(未被编程的状态)的写入操作。然后,通过确定整修功能的终点以标记被跳过的无效页面中的高页面而辨识被跳过的自由页面,所述终点是被存取的页面地址ppa减去l(ppa-l)(被即刻跳过的自由页面)与PAGEPERBL0CK的一半减去I (I / 2 PAGEPERBL0CK-1)(最后的高页面)中的最小值。然后,以被跳过的页面开始(最后写入的页面加I),经辨识的自由页面在整修位映像中利用整修(TRM)功能而被标记为真,所述整修功能设定位映像中的位以使被存取的区块地址表示是否将施加经整修程序操作,例如SLC式操作(行4-7)。
[0183]然后,整修位映像通过「假(false)」标记来表示被存取的区块中哪些高页面是有效的(需要对对应低页面进行MLC编程),并通过「真(true)」标记来表示哪些高页面是无效的(容许对对应低页面进行经整修或SLC式编程)以用于写入操作的目的。
[0184]如在伪码中所表示,所述程序然后判断被存取的页面地址是否大于每一区块的页面数目的一半,亦即表示被存取的页面地址是低页面。在此种情形中,算法利用位映像、被存取的区块地址、及被存取的页面地址减去每一区块的页面数目的一半来执行IS-BIT-SET程序,藉此判断是否针对低页面的经整修编程标记了位映像(行8-9)。
[0185]若整修位映像中的对应表项(ent r y )是真,则所述程序将操作选择标识「EnableSLC」设定为真(行10),从而辨识舍弃高页面数据的SLC式经整修程序。否则,操作选择标识「EnableSLC」被设定为假,从而选择保持高页面数据的多电平程序(行11-12)。
[0186]若被存取的页面地址是高页面,则操作选择标识被设定为假,从而选择正常的高页面操作,此可为单电平操作(行13-14)。
[0187]对于读取操作,伪码确定被存取的页面地址及被存取的区块地址,并读取操作选择标识。然后,命令进行经辨识的读取操作(行15-16)。
[0188]对于写入操作,伪码确定被存取的区块地址、被存取的页面地址、欲被写入的数据、及操作选择标识。然后,命令进行所指示的写入操作(即,单电平程序、SLC式程序、多电平程序)(行17-18)。
[0189]对于擦除操作,伪码执行整修操作,所述整修操作重设被存取的区块的整修位映像及其他状态信息以使得每一页面被表示为自由的。然后,擦除被存取的区块(行19-21)。
[0190]对于「整修」操作,若被存取的页面地址与每一区块的页面数目的一半相加的值(针对被存取的低页面辨识对应的被静态映像的高页面)大于如由偏移值表示的最后写入的页面的地址,则所述「整修」操作将对应于被存取的页面地址的位设定为真(行22-24)。
[0191]图10至图12说明利用低页面的动态分配而对区块(例如在图8A中所表示者)进行的页面程序操作的次序。为增强效能,利用动态分配的操作处置器(例如图7中所示者)将尝试将低页面编程至具有无效高页面的实体页面(字线)。
[0192]图10说明在图8A所示条件下对区块的低页面6进行页面写入的程序。页面6的数据被编程至字线3(而非在静态映像中将需要的字线2)上的实体页面的低页面。执行此映像是因为字线2的高页面在编程操作时含有有效数据,而字线3的高页面是自由的且对于此算法而言被认为是无效页面。通过制作将字线3的低页面分配至高页面6的表项而更新低页面分配表。在编程之后,未来对页面6的数据的读取操作会根据低页面分配表中的信息而自字线3的低页面读取数据。
[0193]图11说明在图10所示条件下写入区块的低页面7的程序。如前所述,操作处置器找到具有无效高页面的字线。如此一来,字线4是对页面7的数据的最佳候选项,此乃因字线2的高页面仍含有有效数据(即,DPage2)而字线4的高页面(页面4)是无效的。低页面分配表被更新以将字线4的低页面映射至页面7。若操作处置器接收到要读取页面7的读取操作,则其将自字线4的低页面读取数据。
[0194]图12说明在使高页面2变为无效的更新之后,在图11所示条件下写入区块的低页面8的程序。因此,在图12所示的区块100的逻辑图式中,页面1、2、及4被标记为无效的。页面8被分配至字线2的低页面,且低页面分配表被更新以表示所述映射。在区块100的整修位映像中所有的低页面(页面I至页面4)被表示为真,此乃因如上所解释,若施加跳过页面3且乱序地运作的编程操作,则自由页面3被作为无效页面处理。
[0195]图13中示出用于单胞二位式存储器的动态操作处置器的伪码表示形式。参数包括以下:
[0196]op:请求类型(读取、写入、擦除、整修)。
[0197]addr:由快闪转换层驱动器发布的绝对页面地址。
[0198]data:页面数据的缓冲器。
[0199]bitmap:标记经整修程序操作的整修位映像。
[0200]LWPT:最后写入的页面表。
[0201]LPAT:低页面分配表。
[0202]如同静态操作处置器一样,通过将逻辑addr除以区块中的逻辑页面的数目PAGEPERBL0CK而确定被存取的区块地址pba(行I)。此外,将被存取的页面地址ppa设定为等于addr(mod)PAGEPERBLOCK(行2)。针对被存取的区块,将「偏移(offset)」值设定至最后写入的页面表中的表项。(行3)。
[0203]若操作是写入操作且被存取的页面减去所述偏移值大于I,则所述写入是乱序进行的。在此种情形中,最后写入的页面与被存取的页面之间的逻辑高页面(其被静态地分配)的整修位映像中的表项需要被设定为真。因此,执行以下循环(loop):所述循环在被存取的页面之前的逻辑页面与最后的高页面两者中的最小值处结束并在「偏移」值之后的逻辑页面处开始。此通过在被存取的区块的位映像中执行整修操作而完成,所述位映像将被跳过的高页面的实体页面的表项设定为真。(行4-7)。
[0204]若被存取的页面是低页面,则值「tmp」被设定至与被存取的实体页面及被存取的区块对应的逻辑页面分配表中的表项的值。若不存在用于被存取的页面的表项,则调用算法以将逻辑页面分配至对应的实体页面。否则,将被存取的页面地址设定至分配表中的表项。(行 8-13)。
[0205]此外,对于低页面,所述程序读取低页面被映像至的实体页面的整修位映像中的表项。若所述表项被标记为真,则操作选择标识enableSLC被设定为真。若所述表项被标记为假的,则对应的高页面是有效的且操作选择标识enableSLC被设定为假的(行14-17)。
[0206]若被存取的页面地址是高页面,则操作选择标识enableSLC被设定为假的(行18-19)。
[0207]对于读取操作,利用由操作选择标识enableSLC辨识的读取算法而读取被存取的页面(行20-21)。
[0208]对于写入操作,利用由操作选择标识enableSLC辨识的程序算法而写入被存取的页面(行22-23)。
[0209]对于擦除操作,调用TRIM算法以重设被存取的区块的整修位映像,调用算法来初始化被存取的区块的逻辑页面分配表,并擦除所述区块(行24-27)。
[0210]若操作为「整修」功能(行28),则目标页面必须为高页面。由于在高页面对应的低页面已被编程时无需在整修位映像中将所述高页面标记为真,故所述例程调用例程以检查与高页面映像至同一实体页面的低页面的程序状态(即,ppa+1/2 PAGEPERBL0CK)(行29-33)。若所述例程确定低页面未被编程,则整修位映像中的对应位被设定为真,以表示以下对对应低页面的存取应被提供经整修功能(行34-35)。若根据LPAT表编程低页面,则不改变实体页面的整修位映像。
[0211]图14是用于对多电平存储器施加变型程序操作的基本操作方法的流程图。在所述流程图中所说明的次序不表示必须以此次序来执行步骤。所述流程图以例如被快闪管理例程调用的区块擦除开始(500)。在下一步骤中设定区块中的高页面的页面分配(501)。如上所述,该等页面分配可被动态地设定或静态地设定。当静态地设定时,实体页面的整修位映像可被映像至高逻辑页面地址。此外,在擦除操作之后将区块中的逻辑页面的状态设定为自由状态(502)。
[0212]根据所述操作方法,当可自较高层级的应用程序接收到用于具体逻辑区块的写入指令时(503),所述程序判断所述指令的页面主体是高页面还是低页面(504)。若为高页面,则所述程序判断低页面是否保持为自由的(505)。若否,则在处理次序中发生了错误,然后可停止所述操作,且视情况可执行快闪区块的某些种类的管理(506)。若低页面保持为自由的,则可辨识第一单电平单元式操作来用于写入高页面(507)。
[0213]若在区块504处确定目标是低页面,则所述程序判断是否正在乱序地存取所述页面(508)。若为乱序地存取所述页面(508),则在区块508之后在整修位映像中将被跳过的高页面设定为真(509)。若在区块508处确定页面并非被乱序地存取,则所述程序判断在整修位映像中实体页面是否被标记为真(510)。若在整修位映像中实体页面是真,则可辨识第二单电平单元式操作来用于写入高页面(511)。若在整修位映像中高页面未被标记为真,则辨识多电平单元操作以将低页面编程。
[0214]图15是一种辨识用于多电平存储器的变型读取操作的操作的简化流程图。图15的操作以接收用于区块中的具体逻辑页面的读取指令开始(550)。所述程序利用映像信息找到对应的实体页面(551)。接下来,判断所述页面是否储存有效数据(552)。若所述页面不是有效的,则需要区块管理(553)。若所述页面是有效的,则算法判断其是高页面还是低页面(554)0
[0215]若为高页面,则使用LPAT来辨识映像至同一实体页面的低页面,并判断映像至同一实体页面的所述低页面已被编程还是保持为自由的(555)。若所述低页面已被编程,则辨识用于高页面的多电平单元读取操作(556)。若所述低页面未被编程,则可辨识第一 SLC读取操作来用于高页面(557)。
[0216]若在区块554处确定目标是低页面,则所述算法判断在用于表示SLC式编程的可用性(avaiIabi Iity)的整修位映像中的实体页面是否被标记为真(558)。若其在整修位映像中为真,则可辨识第二 SLC式读取操作来用于低页面(559)。若在区块558处确定高页面在整修位映像中不为真,则辨识多电平单元操作来用于读取高页面(560)。
[0217]上述用于操作多电平单元存储器的方法着重于每一单元储存两个位的存储器、以及储存两个逻辑页面的实体页面。所述技术可扩展至每一单元储存多于两个位的多电平单元。此外,可使用每一页面使用单个位的整修位映像来选择正常或经整修的程序及读取操作。在其他实施例中,可应用多于一个经整修程序及多于一个经整修读取操作,且整修位映像可每一页面储存多于一个位来辨识正确的读取操作及程序操作。
[0218]图16至图18说明根据本文中所述的技术,针对单胞三位式存储器的可选择程序操作。每一实体页面具有三个逻辑页面的多电平单元程序或读取需要能够在每一单元中感测八个不同的数据值。此要求存储器装置支持可选择程序操作及读取操作,所述操作在所有三个逻辑页面皆储存有效数据时利用七个感测临限值。存储器装置可被配置成支持所有所说明的程序操作,并因应于直接或间接表示如上所解释的数据的状态的讯号而选择恰当的操作。在图16至图18所示的实例中的存储器单元具有三个可寻址的位b(0)、b(l)、及b(2),且被寻址的位是位b(0)(或可寻址的页面)。存储器装置上的逻辑自多个变型程序操作中选择待被应用的程序操作,所述多个变型程序操作包括第一程序操作及第二程序操作以及第三程序操作,其中:
[0219]所述第一程序操作覆写被编程的位(b(l)及b(2))(或页面),
[0220]所述第二程序操作保持其他位(b(l)及b(2))(或页面),且
[0221]所述第三程序操作覆写所述其他位中的一者(例如b(l))并保持所述其他位(或页面)中的另一者(例如b(2))。
[0222]图16包括示出单胞三位式存储器的临限电压分布的三个曲线图,所述单胞三位式存储器被配置成在单胞三位式系统的高页面及中间页面为无效的情况下对低页面利用单电平单元式操作。因此,在将高页面编程时,使用单电平单元式操作来建立曲线图600所示的分布,此可通过对程序验证使用单个验证电压电平来达成。为将中间页面编程,使用多电平单元操作来建立曲线图601所示的分布,此可利用三个验证电压电平来界定与高页面与中间页面的可能组合对应的分布而达成。在将低页面编程时,若高页面及中间页面为无效的,则可使用算法来建立曲线图602所示的分布。用以建立曲线图602所示的分布的算法可为对程序验证使用单个验证电压电平的单电平单元式算法。
[0223]因此,若存储器单元在低页面中储存「I」、且高页面及中间页面为无效的,则所述单元的临限电压将位于区556中所示的分布中。若存储器单元在低页面中储存「O」、且高页面及中间页面为无效的,则所述单元的临限电压位于曲线图602中以「O」标记的分布中。
[0224]图17包括示出单胞三位式存储器的临限电压分布的三个曲线图,所述单胞三位式存储器被配置成在中间页面变为无效的而高页面保持有效的情况下对低页面使用单胞二位式操作。因此,为将高页面编程,使用算法来建立曲线图605所示的分布,所述算法可对程序验证使用单个验证电压电平。为将中间页面编程,使用算法来建立曲线图606所示的分布,所述算法可对程序验证使用三个验证电压电平。若中间页面随后变为无效的(如由在曲线图606上将数据位划掉所表示),则高页面的值保持由具有处于范围608及609内的临限值分布的单元表示。可使用算法来将低页面编程以建立曲线图607所示的分布,所述算法可对程序验证使用三个验证电压电平,同时保留高页面及低页面的数据值。
[0225]图18包括示出单胞三位式存储器的临限电压分布的三个曲线图,所述单胞三位式存储器被配置成在高页面变为无效的而中间页面保持有效的情况下对低页面使用单胞二位式操作。因此,为将高页面编程,使用算法来建立曲线图610所示的分布,所述算法可对程序验证使用单个验证电压电平。为将中间页面编程,使用算法来建立曲线图611所示的分布,所述算法可对程序验证使用三个验证电压电平。若高页面随后变为无效的(如由在曲线图611上将数据位划掉所表示),则中间页面的值保持由具有位「I」处于范围613及615、以及位「O」处于范围614内的临限值分布的单元表示。可使用算法来对低页面进行编程以建立曲线图612所示的分布,所述算法可对程序验证使用三个验证电压电平,同时保留中间页面及低页面的数据值。
[0226]图19至图25说明根据本文中所述的技术,用于单胞四位式存储器的编程操作。针对每一实体页面四个逻辑页面的多电平单元程序或读取需要能够在每一单元中感测16个不同的数据值。此需要在所有四个逻辑页面皆储存有效数据时利用15个验证电压电平的程序操作及读取操作。存储器装置上的逻辑从多个变型程序操作中(即四个可寻址的位(或四个可寻址的页面仆(0)4(1)、13(2)、及13(3)选择一欲施加的程序操作,且被寻址的位是位匕
(O))。装置上的逻辑自多个变型程序操作中选择操作,所述多个变型程序操作包括第一程序操作、第二程序操作、第三程序操作、及第四程序操作,其中:
[0227]所述第一程序操作覆写所有其他位(或页面)(b(l)、b(2)及b(3)),
[0228]所述第二程序操作保持所有所述其他位(或页面)(b(l)、b(2)及b(3)),
[0229]所述第三程序操作覆写所述其他位(或页面)中的一者(例如b(l))且保持所述其他位中的两者(例如b(2)及b(3)),且
[0230]所述第四程序操作覆写所述其他位(或页面)中的两者(例如b(l)及b(2))且保持所述其他位中的一者(例如b (3))。
[0231]图19说明用于单胞四位式存储器的验证电压电平,并提供在本说明中使用的页面命名规约。所述页面命名规约将页面LL(曲线图700)定义为低页面、将页面LH(曲线图701)定义为第二中间页面、将页面HL(曲线图702)定义为第一中间页面、并将页面HH(曲线图703)定义为高页面。
[0232]数据值可被配置为如曲线图中所示,以使得对页面HH的感测可利用如曲线图703所示的代表1011与0011的分布之间的单个验证电压电平而达成。对页面HL的感测可利用如曲线图702所示的代表1101与1001的分布之间、以及代表0001与0101的分布之间的两个验证电压电平而达成。对页面LH的感测可利用曲线图701所示的代表1110与1100的分布之间、代表1000与1010的分布之间、代表0010与0000的分布之间、以及代表0100与0110的分布之间的四个验证电压电平而达成。最后,对页面LL的感测可利用曲线图700所示的代表1111与1110的分布之间(电平I)、代表1100与1101的分布之间(电平2)、代表1001与1000的分布之间(电平3)、代表1010与1011的分布之间(电平4)、代表0011与0010的分布之间(电平5)、代表0000与0001的分布之间(电平6)、代表0101与0100的分布之间(电平7)、以及代表0110与0111的分布之间(电平8)的八个验证电压电平而达成。
[0233]图20包括示出单胞四位式存储器的临限电压分布的两个曲线图。第一曲线图710示出在将页面HH、页面HL、及页面LH编程之后的分布。此使得在具有处于所说明的八个范围内的临限电压的页面中的存储器单元每一单元储存三个有效位。在将低页面LL编程时,若HH页面、HL页面、及LH页面中的所有三个页面皆变为无效的,则可应用编程操作以利用单个验证电压电平来实行曲线图711所示的分布。
[0234]图21包括示出单胞四位式存储器的临限电压分布的曲线图。第一曲线图720示出在将页面HH、页面HL、及页面LH编程之后的分布。此使得在具有处于所说明的八个范围内的临限电压的页面中的存储器单元每一单元储存三个有效位。若中间页面HL及LH变为无效的(如由在图式中将数据位划掉所表示),则高页面HH的信息保持于分布722及723中。为将低页面LL编程,可使用程序操作通过利用三个验证电压电平并同时保持高页面HH的数据值且覆写或舍弃中间页面HL及LH的无效数据来建立曲线图721所示的临限值分布。在图21所示的曲线图721上的分布中,可利用单个验证电压电平来感测高页面HH。可利用两个验证电压电平来感测低页面LL。
[0235]图22包括示出单胞四位式存储器的临限电压分布的曲线图。第一曲线图730示出在将页面HH、页面HL、及页面LH编程之后的分布。此使得在具有处于所说明的八个范围内的临限电压的页面中的存储器单元每一单元储存三个有效位。若高页面HH及第二中间页面LH变为无效的(如由在图式中将数据位划掉所表示),则第一中间页面HL的信息保持于位「I」的分布732及734、以及位「O」的分布733中。为将低页面LL编程,可使用程序操作通过利用三个验证电压电平并同时保持第一中间页面HL的数据值且覆写高页面HH及第二中间页面LH的无效数据来建立曲线图731所示的临限值分布。在图22所示的曲线图731上的分布中,可利用三个验证电压电平来感测第一中间页面HL。可利用两个验证电压电平来感测低页面LL0
[0236]图23包括示出单胞四位式存储器的临限电压分布的曲线图。第一曲线图740示出在将页面HH、页面HL、及页面LH编程之后的分布。此使得在具有处于所说明的八个范围内的临限电压的页面中的存储器单元每一单元储存三个有效位。若高页面HH及第一中间页面HL变为无效的(如由在图式中将数据位划掉所表示),则第二中间页面LH的信息保持在位「I」的分布742、744及746、以及位「O J的分布743及745中。为将低页面LL编程,可使用程序操作通过利用三个验证电压电平并同时保持第二中间页面LH的数据值且舍弃高页面HH及第一中间页面HL的无效数据来建立曲线图741所示的临限值分布。在图23所示的曲线图741上的分布中,可利用两个验证电压电平来感测第二中间页面LH。可利用三个验证电压电平来感测低页面LL。
[0237]图24包括示出单胞四位式存储器的临限电压分布的曲线图。第一曲线图750示出在将页面HH、页面HL、及页面LH编程之后的分布。此使得在具有处于所说明的八个范围内的临限电压的页面中的存储器单元每一单元储存三个有效位。若第二中间页面LH变为无效的(如由在图式中将数据位划掉所表示),则高页面HH及第一中间页面HL的信息保持于分布752至755中。为将低页面LL编程,可使用程序操作通过利用七个验证电压电平并同时保持高页面HH及第一中间页面HL的数据值且舍弃第二中间页面的无效数据来建立曲线图751所示的临限值分布。在图24所示的曲线图751上的分布中,可利用单个验证电压电平来感测高页面HH、可利用两个验证电压电平来感测第一中间页面HL、且可利用四个验证电压电平来感测低页面。
[0238]图25包括示出单胞四位式存储器的临限电压分布的曲线图。第一曲线图760示出在将页面HH、页面HL、及页面LH编程之后的分布。此使得在具有处于所说明的八个范围内的临限电压的页面中的存储器单元每一单元储存三个有效位。若第一中间页面HL变为无效的(如由在图式中将数据位划掉所表示),则高页面HH、及第二中间页面LH的信息保持于分布762至767中。为将低页面LL编程,可使用程序操作通过利用七个验证电压电平并同时保持高页面HH及第二中间页面LH的数据值且覆写第一中间页面HL的无效数据来建立曲线图761所示的临限值分布。在图25所示的曲线图761上的分布中,可利用单个验证电压电平来感测高页面HH、可利用四个验证电压电平来感测第一中间页面LH、且可利用四个验证电压电平来感测低页面。
[0239]图26包括示出单胞四位式存储器的临限电压分布的曲线图。第一曲线图770示出在将页面HH、页面HL、及页面LH编程之后的分布。此使得在具有处于所说明的八个范围内的临限电压的页面中的存储器单元每一单元储存三个有效位。若高页面HH变为无效的(如由在图式中将数据位划掉所表示),则第一中间页面HL及第二中间页面LH的信息保持于分布772至778中。为将低页面LL编程,可使用程序操作通过利用七个验证电压电平并同时保持第一中间页面HL及第二中间页面LH的数据值且覆写高页面HH的无效数据来建立曲线图771所示的临限值分布。在图26所示的曲线图771上的分布中,可利用两个验证电压电平来感测第一中间页面HL、可利用四个验证电压电平来感测第二中间页面LH、且可利用一个验证电压电平来感测低页面。
[0240]由此,阐述了一种操作单胞多位式的存储器的方法,所述方法可提高所储存数据的通量及可靠性。已参照页面模式装置阐述了所述操作方法。所述操作方法亦适用于逐一单元(cel 1-by-cel I)电平、以及存储器单元的其他架构形式。
[0241]自操作单胞多位式的存储器的观点来看,对于储存一定数目个可寻址位b(n)的单个存储器单元(其中η等于O至N-1,且N至少为2),所述方法可包括通过以下操作而对用于对存储器单元中的具体一个位进行寻址的指令作出响应:因应于所述单元中的另一位的有效性而确定将应用的操作。用于应用的操作是选自多个变型操作以形成命令。所述操作可选择用以执行命令的操作以使用最小数目个验证电压电平来进行编程操作或读取操作。方法可包括:保持表示单元中的位的有效性的映像、以及因应于所述映像而选择所述操作。所述操作可为用于具体位的程序命令或读取命令。
[0242]—般而言,因应于对具体位进行寻址的程序命令,在单元中的另一位为无效的条件下,所述操作方法可发出讯号以表示执行第一程序操作,否则发出讯号以表示执行所述多个变型操作中的另一程序操作。所述第一程序操作可包括针对第一数目个程序验证电压电平的程序验证步骤,且所述另一程序操作可包括针对第二数目个程序验证电压电平的程序验证步骤,其中所述第一数目小于所述第二数目。
[0243]同样地,因应于对具体位进行寻址的读取命令,在单元中的另一位为无效的条件下,可选择第一读取操作,否则可选择第二读取操作。所述第一读取操作可包括针对第一数目个读取电压电平的一或多个读取步骤,而所述第二读取操作包括针对第二数目个读取电压电平的读取步骤,且所述第一数目不同于所述第二数目。
[0244]本文中所述的技术能够利用来自逻辑层的系统知识以确定用于每一实体页面上的逻辑页面的数据有效参数。此信息然后可用以调整编程及读取操作以使系统效能优化。
[0245]本文中所述的操作可实行为适合具体应用的软件或韧体层级。举例而言,主机系统中的软件可用以支持本文中所述的程序。此外,在作为主机系统的一部分而进行耦合的存储器控制器装置中的韧体或软件可用以支持本文中所述的程序。此外,存储器装置自身上的软件或韧体可用以支持本文中所述的程序。
[0246]本文中所述的技术可有效地提高存取效能及可靠性。所述技术可应用于针对大量储存、及其他闪存应用而配置的闪存储存系统。
[0247]本文中所述的技术根据储存于多电平页面中的逻辑页面的状态而提供如在某些条件下在单电平单元存储器中所发现的较大的临限电压裕度。可缩短程序延迟时间。可缩短读取延迟时间,且可降低位错误率。
[0248]本技术所达成的一个目标是尽可能缩短将低页面及多电平单元编程所需要的长的延迟时间,并有效地提高多电平单元页面的整体可靠性。本文中所述的技术将系统知识与用于在芯片层级上进行编程及读取的程序相结合以提高系统效能。
[0249]尽管通过参照以上详细阐述的较佳实施例及实例而揭露了本技术,但应理解,该等实例旨在具有说明性意义而非限制性意义。应设想,熟习此项技术者可轻易地思及各种润饰及组合形式,且所述润饰及组合形式将处于本技术的精神及随附权利要求范围的范围内。
【主权项】
1.一种单胞多位式的存储器,包括: 存储器单元,具有至少两个可寻址的位; 用以执行多个可选择程序操作以对所述存储器单元的被寻址位进行编程的逻辑,所述多个可选择程序操作包括用于覆写所述存储器单元的另一位的第一程序操作及用于保持所述另一位的第二程序操作;以及 用以选择所述可选择程序操作中的一者的逻辑。2.根据权利要求1所述的存储器,其中所述第一程序操作使用第一数目个验证电压电平且所述第二程序操作使用第二数目个验证电压电平,所述第一数目小于所述第二数目。3.根据权利要求1所述的存储器,其中所述用于选择所述可选择程序操作中的一者的逻辑能够因应于表示所述另一位的逻辑状态的讯号。4.根据权利要求1所述的存储器,包括用以利用读取操作来读取所述被寻址位的逻辑,所述读取操作对应于所述可选择程序操作中所选择的一者。5.根据权利要求1所述的存储器,包括用以利用因应于所述另一位的逻辑状态而选择的读取操作来读取所述被寻址位的逻辑。6.根据权利要求5所述的存储器,包括: 用以执行多个可选择读取操作以读取所述存储器单元的被寻址位的逻辑;以及 用以选择所述可选择读取操作中的一者的逻辑。7.根据权利要求1所述的存储器,其中所述存储器单元具有三个可寻址位b(0)、b(l)及b(2),且所述被寻址位是位b(0),且所述多个可选择程序操作包括所述第一程序操作及所述第二程序操作、以及第三程序操作, 所述第一程序操作覆写其他位(b (I)及b (2)), 所述第二程序操作保持所述其他位(b (I)及b (2)),且 所述第三程序操作覆写所述其他位中的一者(b(l)及b(2)中的一者)并保持所述其他位中的一者(b(l)及b(2)中的一者)。8.根据权利要求1所述的存储器,其中所述存储器单元具有四个可寻址位b(0)、b(l)、b(2)及b(3),所述被寻址位是位b(O),且所述多个可选择程序操作包括所述第一程序操作及所述第二程序操作、第三程序操作、以及第四程序操作, 所述第一程序操作覆写所述其他位(b (I)、b (2)及b (3)), 所述第二程序操作保持所有所述其他位(b (I)、b (2)及b (3)), 所述第三程序操作覆写所述其他位中的一者(b(l)、b(2)及b(3)中的一者)且保持所述其他位中的两者(b(l)、b(2)及b(3)中的两者),且 所述第四程序操作覆写所述其他位中的两者(b(l)、b(2)及b(3)中的两者)且保持所述其他位中的一者(b(l)、b(2)及b(3)中的一者)。9.根据权利要求1所述的存储器,其中所述存储器单元是具有多个可寻址页面的单元页面的构件,所述单元页面中的存储器单元的每一可寻址位均为对应的可寻址页面的构件,且所述用以选择所述可选择程序操作中的一者的逻辑使用表示与所述另一位对应的所述可寻址页面的逻辑状态的讯号。10.一种操作单胞多位式的存储器的方法,包括: 对于具有至少两个可寻址位的存储器单元进行以下步骤: 选择第一程序操作及第二程序操作中的一者来将所述存储器单元的被寻址位编程,其中所述第一程序操作覆写除所述被寻址位以外的另一位,且所述第二程序操作保持所述另一位;以及 执行所述第一程序操作及所述第二程序操作中的所述被选择的一者。11.根据权利要求10所述的方法,其中所述第一程序操作使用第一数目个验证电压电平且所述第二程序操作使用第二数目个验证电压电平,所述第一数目小于所述第二数目。12.根据权利要求10所述的方法,包括使用表示所述另一位的逻辑状态的讯号来选择所述第一程序操作及所述第二程序操作中的一者。13.根据权利要求10所述的方法,其中所述单元储存多于两个可寻址位,且所述选择包括自包括所述第一程序操作及所述第二程序操作的多个变型程序操作中进行选择。14.根据权利要求13所述的方法,其中用以执行命令的所述多个变型程序操作具有施加不同数目个验证电压电平的步骤。15.根据权利要求10所述的方法,包括使用与所述第一程序操作及所述第二程序操作中的所述被选择的一者对应的读取操作来读取所述被寻址位。16.根据权利要求15所述的方法,其中所述读取包括选择第一读取操作,否则选择第二读取操作,其中所述第一读取操作包括针对第一数目个读取电压电平的一或多个读取步骤,且所述第二读取操作包括针对第二数目个读取电压电平的多个读取步骤,且所述第一数目小于所述第二数目。17.根据权利要求10所述的方法,其中所述存储器单元具有三个可寻址位b(0)、b(l)及b(2),且所述被寻址位是b(0),且 所述选择包括:自包括所述第一程序操作及所述第二程序操作、以及第三程序操作的多个变型程序操作中进行选择, 所述第一程序操作覆写其他位(b (I)及b (2)), 所述第二程序操作保持所述其他位(b (I)及b (2)),且 所述第三程序操作覆写所述其他位中的一者(b(l)及b(2)中的一者)并保持所述其他位中的另一者(b(l)及b(2)中的另一者)。18.根据权利要求10所述的方法,其中所述存储器单元具有四个可寻址位b(0)、b(l)、b(2)、b(3),且所述被寻址位是位b(0);以及 所述选择包括自包括所述第一程序操作及所述第二程序操作、第三程序操作、以及第四程序操作的多个变型程序操作中进行选择, 所述第一程序操作覆写所有其他位(b (I)、b (2)及b (3)), 所述第二程序操作保持所有所述其他位(b (I)、b (2)及b (3)), 所述第三程序操作覆写所述其他位中的一者(b(l)、b(2)及b(3)中的一者)且保持所述其他位中的两者(b(l)、b(2)及b(3)中的两者),且 所述第四程序操作覆写所述其他位中的两者(b(l)、b(2)及b(3)中的两者)并保持所述其他位中的一者(b(l)、b(2)及b(3)中的一者)。19.根据权利要求10所述的方法,其中所述存储器单元是具有多个可寻址页面的单元页面的构件,所述单元页面中的存储器单元的每一可寻址位均为对应的可寻址页面的构件;且所述方法更包括: 使用表示所述存储器单元中除所述被寻址位以外的可寻址位的所述对应的可寻址页面的逻辑状态的讯号来选择所述第一程序操作及所述第二程序操作中的所述一者。20.一种单胞多位式的页面模式存储器,包括: 多个实体页面,所述实体页面中的每一实体页面具有N个可寻址页面p(n),其中η等于O至 Ν-1; 用以实施多个可选择程序操作以将被寻址页面编程的逻辑;以及 用以利用表示特定实体页面中的另一可寻址页面的逻辑状态的讯号来选择所述多个可选择程序操作中的一者以将被寻址页面编程的逻辑,所述多个可选择程序操作包括第一程序操作及第二程序操作,其中所述第一程序操作覆写所述另一可寻址页面,且所述第二程序操作保持所述另一可寻址页面。21.根据权利要求20所述的存储器,其中所述第一程序操作使用第一数目个验证电压电平且所述第二程序操作使用第二数目个验证电压电平,所述第一数目小于所述第二数目。22.根据权利要求20所述的存储器,其中所述用以选择所述多个可选择程序操作中的一者的逻辑自外部源接收所述讯号。23.根据权利要求20所述的存储器,包括用以利用读取操作来读取所述被寻址页面的逻辑,所述读取操作是利用表示所述另一可寻址页面的逻辑状态的讯号来选择。24.根据权利要求20所述的存储器,其中所述实体页面具有三个可寻址页面ρ(0)、ρ(1)及Ρ(2),且所述被寻址页面是页面ρ(0);且 所述用以选择的逻辑自包括所述第一程序操作及所述第二程序操作、以及第三程序操作的多个变型程序操作中进行选择, 所述第一程序操作覆写可寻址页面(Ρ(I)及Ρ(2)), 所述第二程序操作保持所述可寻址页面(P (I)及P (2)),且 所述第三程序操作覆写所述可寻址页面中的一者(P(I)及Ρ(2)中的一者)且保持所述可寻址页面中的另一者(P(I)及Ρ(2)中的另一者)。25.根据权利要求20所述的存储器,其中所述存储器单元具有四个可寻址页面ρ(0)、ρ(1)、ρ(2)及ρ(3),且所述被寻址页面是页面p(0);且 所述用以选择的逻辑自包括所述第一程序操作及所述第二程序操作、第三程序操作、以及第四程序操作的多个变型程序操作中进行选择,其中: 所述第一程序操作覆写所有其他可寻址页面(Ρ(1)、Ρ(2)及ρ(3)); 所述第二程序操作保持所有所述其他可寻址页面(P (I)、P (2)及P (3)); 所述第三程序操作覆写所述可寻址页面中的一者(Ρ(1)、Ρ(2)及ρ(3)中的一者)并保持所述可寻址页面中的两者(Ρ(1)、Ρ(2)及ρ(3)中的两者);且 所述第四程序操作覆写所述可寻址页面中的两者(Ρ(1)、Ρ(2)及ρ(3)中的两者)并保持所述可寻址页面中的一者(Ρ(1)、Ρ(2)及ρ(3)中的一者)。26.根据权利要求20所述的存储器,其中所述第一程序操作及所述第二程序操作包括各自的递增步阶式脉冲编程ISPP算法,所述各自的递增步阶式脉冲编程ISPP算法在ISPP期间的脉冲高度变化量值不同。27.根据权利要求20所述的存储器,其中所述第一程序操作及所述第二程序操作包括各自的递增步阶式脉冲编程ISPP算法,所述各自的递增步阶式脉冲编程ISPP算法在ISPP期间的验证电压电平量值不同。
【文档编号】G11C16/26GK105825892SQ201510799429
【公开日】2016年8月3日
【申请日】2015年11月19日
【发明人】张育铭, 李永骏, 李祥邦, 张原豪, 郭大维
【申请人】旺宏电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1