用于多阶单元存储阵列的动态编程与读取调整的制作方法

文档序号:6779812阅读:111来源:国知局

专利名称::用于多阶单元存储阵列的动态编程与读取调整的制作方法
技术领域
:本发明涉及基于多阶单元(multi-levelcell,MLC)的一种存储元件,更确切地说,本发明涉及一种用以编程与读取基于MLC的存储元件的技术。
背景技术
:公知闪速存储单元在浮栅上储存电荷,该已储存的电荷改变存储单元的临界电压(Vth)。在一读取操作中,施加读取电压至存储单元的栅极,流过单元的电压指示该存储单元的编程状态,举例来说,在一读取操作期间流过一第一电流值的存储单元可设定为'T'的数位值,在一读取操作期间流过一第二电流值的存储单元可设定为"O"的数位值。自该浮栅加入或移除电荷,可以编程或擦除该存储单元,亦即将该已储存值自1改变至0。通过将该电荷保留于该浮栅直到擦除该存储单元为止,可以不必持续施加电能而保留该数据状态。图1A示出了用于公知存储阵列的存储单元分布与临界电压Vth的关系,在低Vt状态的存储单元具有在一第一范围102内的临界电压,并且在高Vt状态的存储单元具有在一第二范围100内的临界电压。通过量测单元的临界是否低于该范围的最大临界,可判断一单元位于一低临界范围中,其中可定义该最大临界为擦除验证EV阶。通过量测单元的临界是否高于该范围的最低临界,可判断一单元位于一高临界范围中,其中可定义该最小临界为编程验证PV阶。实际上,该擦除验证电压可能稍高于该范围的最大值,且该编程验证电压可稍低于该范围的最小值,在公知的单阶单元(Singe-levelcdl,SLC)存储器中,用以分辨在范围102中的低Vt单元与在范围100中的高Vt单元的读取窗WL为介于一编程验证PV阶与一消除验证EV阶之间的差值。显示为虚线的此非编程、非擦除的SLCsVtINIT的分布可不同于编程或擦除分布。MLCs已发展为可通过在浮栅上提供选择不同数量的电荷来指示(或储存)多重数据{直。MLC相较于SLC增加了可储存在IC的相同区域的数据数量,即存储密度。基本上,少量的负电荷些微地增加MLC的Vth,且更多的负电荷进一步增加Vth。使用一读取操作可以决定该存储单元已充电(或编程)至何种状态。图1B示出了用于一MLC存储阵列的存储单元分布与Vth的关系。该MLC具有四个阶级,L0为该擦除情况,且编程阶级L1、L2与L3分别为增加储存在此MLCs的电荷捕捉结构的负电荷的增加数量,即已转换为对每一接序的编程阶级增加Vth的MLCs的电荷捕捉结构的值。阶级之间的该读取窗WLO-l、WLl-2、WL2-3依据每一编程阶级的Vth分布。在该MLC应用中,关于该四个阶的每一阶的该数据值为设计选择,也就是说,L0到阶L3阶级可映对至(11,01,10,00)、(u,oi,oo,io)、(iuo,oo,oi)或其它。当然,为改善位错误数目,通常优选地形成类似"在读取转换一阶时仅一位错误"的(11,01,00,10)的映对。通常在读取包含MLCs的存储阵列时利用众所周知的方式,先施加一读取电压(Vt)至选定字线中,且在由字线启动的一组MLCs中的这些位线上的一电压或电流与一参考值相比较。该参考值通常使用具有介于第一编程阶的最大Vth与第二编程阶的最小Vth间的选定的临界电压的参考单元而产生。举例来说,参考单元提供一参考电流(IREF)至比较来自MLC(IMLC)的电流与来自该参考单元的电流的一感测放大器。假使IMLC高于IREF,则该感测放大器提供第一输出,且假使IMLC低于IREF,该感测放大器提供一第二输出。一典型的读取操作为以页为主的(page-based),举例来说,一个二十亿位(gaga-bit,"Gb")存储元件(或在IC中的存储阵列)可配置于128,000个两个千位组(kilobyte,KB)页中。整页可能包括太多的MLCs而因为元件的电流限制而无法同时地编程。因此,可将一页次分(subdivide)为区块来加以用于编程、擦除与读取。一区块对页的一部份进行编程与其它操作较为便利。举例来说,可次分一个2KB页为16个区块,每一区块具有128位组。图2示出了一系统图200以说明公知程序与读取顺序。的一编程模式202的示意图,一使用者经由输入缓冲器204输入一编程模式202至一静态随机存取存储器(SRAM)缓冲器206。来自在SRAM中一来自区块的数据编程进入为MLC存储阵列212的页211内的一槽中(slot)。在编程后,通过使用一数据传输区块216(例如感测放大器阵列)读取回该编程值214以执行程序验证操作。一代表性实施例包括用以验证操作平行地操作于在64个单元数据区块中的64个感测放大器。对于储存两位数据的单元来说,64个感测放大器用于感测每一单元的四个Vth分布的每一个。该编程验证结果可用以更新在SRAM缓冲器206中的数据。假使读取结果符合在SRAM中的编程模式,则清除该数据,假使读取结果不符合,则不符合位的该数据仍然保持设置不符合位的该数据。假使在己编程区块之后,仍设有任何位被设置的话,则使用剩余在SRAM中的数据施加另一编程脉冲至这些多阶位单元,直到达成成功地编程所有四个Vth阶级或是达到最大的可尝试数目为止。重复该过程直到编程整个区块,且之后重复每一区块直到编程整页。许多其它的顺序也是可能的,但通常编程一区块至该所期望的阶级(如图1B中Ll、L2与L3)且在读取时验证以确认MLCs提供这些所期望的阶级,每一区块将执行此过程直到整页通过编程验证。在读取操作期间,使用者通过读取214储存在MLC存储阵列212中的数据而获得页内容。通过每次64个单元区块将结果写入至SRAM缓冲器206直到读取一完整区块。该页数据被传输至输出缓冲器218,且之后传输该输出数据220至该使用者。在存储阵列的大小增加时,在一阵列中增加跨越阵列与跨页的该过程与操作变异也会增加,其会接着增加Vth分布的宽度。较宽的Vth分布降低给定电压余裕空间(headroom)阶级之间的界线。因此希望能在MLC中的多阶的Vth分布之间提供较大界线,而改善信赖度与读取和编程操作的可靠性与速度。
发明内容用以操作一集成电路的一多阶单元存储阵列的方法,基于在阵列对数据区块或在阵列对一页的临界电压分布可更窄于整个阵列的了解,通过更精确地判断数据的临界电压分布为编程或读取,小于整个阵列的四群单元,例如在一页中平行地读取区块,达成改进效能的目的。在此所述的方法编程包括关于第一编程阶级的第一数据、关于第二编程阶级的第二数据、关于第三编程阶级的第三数据与关于第四编程阶级的第四数据的一数据组为一区域多阶单元。第一数据在一第一编程阶级被编程于多阶单元存储阵列的为第一多个多阶单元中,例如于多阶单元的一区块。于第一编程阶级的临界电压的范围内感测(或检测)第一多个多阶单元的临界电压。且在第一编程阶级的范围中,根据该最大临界电压设定一调整码。在这些多个单元的分布中,该已感测最大临界值指定这些多个单元的最大临界电压,且其可低于阵列的最大分布。在一特定实施例中,该调整码为两位值(例如00、01、10、11),指定该第一编程阶的四个可能最大临界电压,根据该调整码使用该第二编程阶级的一编程验证值,第二数据在一第二编程阶级被编程于多阶单元存储阵列的第二多个多阶单元中。依此方式,如同该调整码所指定的,设定第二编程阶级的分布的最小值高于第一编程阶级的分布的最大值阶的固定边界以外。在特定实施例中,这些第一多个多阶单元于该多阶单元存储阵列的一页的第一区块中,且这些第二多个多阶单元于该第一区块中。在另一实施例中,区块调整码储存指定在区块中的多阶单元的这些多个不同的编程阶级间的调整码。举例来说,具有三个编程阶级与一擦除阶级的多阶单元存储阵列的区块具有在该擦除阶级与阶级1间的第一调整码、在该编程阶级1与编程阶级2间的第二调整码,以及该编程阶级2与编程阶级3间的第三调整码。在又一实施例中,在第一编程阶级,将第三数据编程于该多阶单元存储阵列的第三多个多阶单元中。感测这些第三多个多阶单元的第二临界电压,并根据该第二临界电压的读取而设定一第二调整码。以及在第二编程阶级,将第四数据编程于该多阶单元存储阵列的第四多个多阶单元中,这些第四多个多阶单元具有根据该调整码设定的一组第二编程验证值。在特定实施例中,这些第一多个多阶单元于该多阶单元存储阵列的一页的一第一区块中,且这些第二多个多阶单元在该第一区块中,这些第三多个多阶单元于该页的一第二区块中,且这些第四多个多阶单元在该第二区块中。在特定实施例中,该调整码储存在该多阶单元存储阵列中。在再一实施例中,该调整码使用单阶或每一单元一位的技术而储存在多阶单元存储阵列。在特定实施例中,关于该多阶单元存储阵列的区块的调整码储存在使用区块的位址存取的存储单元中。在一特定实施例中,该第一编程阶级在于第一编程验证阶级与第一擦除验证阶级间延伸的第一页编程阶级范围内,该第一编程阶级范围划分为数个子范围,用于这些第一多个多阶单元的该读取电压提供具有发生在第一页编程阶级范围的子范围的第一高界线的第一区块读取电压分布,其中该调整码根据该子范围而设定。该子范围具有相同的宽度(亦即,相同的临界电压范围),另一方面,这些子范围具有不同的宽度。在一特定实施例中,第一页编程阶级范围划分为四个子范围。在又一实施例中,感测第二多个多阶单元的该第二临界电压且根据该第二临界电压设定一第二调整码。在多阶单元存储阵列于第三编程阶级将第三数据编程于第三多个多阶单元中,该第三编程阶级具有根据第二调整码设定的第二编程验证值。在一特定实施例中,这些第一多个多阶单元、这些第二多个多阶单元与这些第三多个多阶单元于多阶单元存储阵列的一页的一区块中。在特定的实施例中,包括该第一调整码与该第二调整码的一区块调整码储存在多阶单元存储阵例中,在特定实施例中,该调整码使用单阶单元技术而储存在区块或多阶单元的其它某处。在再一实施例中,该编程验证值提供于第一多个多阶单元的临界电压与第二多个多阶单元的临界电压间的第一读取窗,其大于于第一编程阶与第二编程阶间的正常读取窗。当与多电压阶级一同使用时,该编程验证值提供于第一多个多阶单元的临界电压与第二多个多阶单元的临界电压间的第一读取窗,且该第二编程验证值提供于第三多个多阶单元的临界电压与第四多个多阶单元的第四临界电压间的第一读取窗。每一第一读取窗与第二读取窗大于于第一编程阶分布与第二编程阶分布间的正常读取窗。在另一实施例中,根据该调整码设定第一参考电压,且使用该第一参考电压读取第二多个多阶单元。在又一实施例中,根据该第二调整码设定第二参考电压,且使用该第二参考电压读取这些第四多个多阶单元。在再一实施例中,一集成电路(IC)具有一多阶单元(MLC)存储阵列,且包括多个感测放大器的一编程验证调整区域,这些感测放大器关于一相关的多个多阶单元存储阵列的编程阶的临界电压分布,以及接收相关于这些多个感测放大器的多个位的一评估单元,该评估单元根据这些多个位提供一调整码。在一特定实施例中,该读取电压分布具有至少两个子范围且这些多个感测放大器包括耦接至指定读取电压分布的编程验证界线的第一参考的第一感测放大器,以及耦接至指定第一子范围与第二子范围间的第一调整阶的第二参考的第二感测放大器。在另一实施例中,读取电压分布具有四个子范围且该多个感测放大器包括耦接至指定读取电压分布的编程验证界线的第一参考的第一感测放大器、耦接至指定于第一子范围与第二子范围间的第一调整阶级的第二参考的第二感测放大器、耦接至指定第二子范围与第三子范围间的第二调整阶级的第三参考的第三感测放大器,以及耦接至指定第三子范围与第四子范围间的第三调整阶级的第四参考的第四感测放大器。一种新的多阶单元程序算法包括基于在阵列的相同部份中较低临界电压界线阶的最大临界值的存储阵列的给定部份的动态判断的编程验证阶,以及一读取窗边限。一种新的多阶单元程序算法可提供跨阵列的具有动态调整程序验证阶的一固定读取窗,使用调整码概念以记录低阶临界电压界线,且对该阵列的每一部份设定更高临界电压阶的编程验证阶级。一种新的多阶单元程序算法根据该动态判断的编程验证阶包括一动态参考,该调整码信息用以预先调整该参考阶,因此,采用移动参考阶方法以增加该多阶单元读取窗。参考下列的附图、实施方式与所附权利要求范围而揭示本发明的其它目的与优点。图1A绘示用于公知存储阵列的存储单元分布与Vth的关系;图1B绘示用于一MLC存储阵列的存储单元分布与Vth的关系;图2为绘示一公知程序与读取顺序的一系统的示意图;图3A与图3B显示用于在编程后MLC存储阵列的一页的部份的该MLCVth分布,绘示通过本发明的实施例而定址一问题;图4绘示划分一MLC存储阵列的一页的编程阶分布为多个子范围;图5为根据本发明的实施例编程验证调整区块的电路示意图;图6绘示根据本发明的一实施例操作IC的MLC存储阵列的方法的流程图7为根据本发明的一实施例编程MLC存储阵列的方法的流程图8为根据本发明的一实施例的IC的示意图;图9绘示依据本发明的另一实施例用于MLC存储阵列的存储单元分布与Vth的关系;图10为依据一实施例MLC存储阵列的读取操作的流程图。主要元件符号说明0、1、2、3参考单元100、102范围202编程模式204输入缓冲器206SRAM缓冲器212存储阵列214216218220302、304、306906、908320、324322、326500502504802804806808、810809811812814816817818820、826、827821824A、B、C、DD0、Dl、D2、ICEIXIREF、IREF0Ll、L2、L3编程值数据传输区块输出缓冲器输出数据>308、312、314、316、318、400、902、904,临界电压分布编程验证阶级高界线区块感测单元评估单元输入缓冲器SRAM缓冲器区块线页存储阵列已编程值区域数据转移区域编程验证调整区域输出缓冲器、828调整码读取结果输出数据子范围D3数据值单元电流、IREF1、IREF2、IREF3参考电流编程阶PV、PV1编程验证阶级REF0、REF1、REF2参考SA0、SA1、SA2、SA3感测放大器WL、WL0、WL1、WL2、WLO隱l、WL1誦2、WL2陽3、WL1A、WL2A、WL1B、WL2B读取窗具体实施例方式以下将参照图3A至图10而详细说明本发明的用于基于多阶单元(MLC)的存储阵列的临界电压(Vth)边限査找的技术。图3A与图3B显示于在编程后,MLC存储阵列的一页的一部份的该Vth分布,绘示通过本发明的实施例所欲解决的一问题(相较于图1B)。图3A绘示在编程至阶级Ll的第一区块中MLCs的Vth分布302、在编程至阶级L1的第二区块中的分布304、在编程至阶级L2的第一区块中MLCs的分布306、在编程至阶级L2的第二区块中的MLCs的分布308。在第一区块中阶级Ll与阶级L2间的该读取窗WL1A大于第二区块中阶级Ll与阶级L2间的该读取窗WL2A。注意WL1A大于在此页中的阶级L1与阶级L2分布间的读取窗WLA(相较于图1B),同时WL2A相同于WLA。在公知技术的系统中需要设计该芯片以处理最糟的情况,例如具有狭窄读取边限的分布304与308。图3B显示在编程至阶级Ll的第三区块中MLCs的Vth分布312、在编程至阶级L1的第四区块中分布314、在编程至阶级L2的第三区块中MLCs的分布316,以及在编程至阶级L2的第二区块中MLCs的分布318。第三区块中阶级Ll与阶级L2间的该读取窗WL1B等于第四区块中阶级Ll与阶级L2间的该读取窗WL2B。注意WL1B与WL2B皆大于此页中的阶级L1与阶级L2分布间的读取窗WLB(相较于图1B与图3A)。藉由图3B中的情况,本发明具有根据该第三区块阶级Ll的Vth分布312的高界线322而在编程且验证每一区块时,动态地调整阶级L2的编程验证阶级320,且根据该第四区块阶级Ll的Vth分布314的高界线326而调整第四区块的编程验证阶级324的优点。以相似的方式,可获得阶级L3与更高阶级的的编程验证阶级。在特定实施例中,编程验证阶级在页/区块编程期间自动地调整。则每一区块的该读取窗被维持在高于公知技术所能获得的常数值,而该改善了阵列的读取效率。图4绘示已编程至一编程阶级(例如图3A的Ll或L2,或更高的编程阶级)的一MLC阵列或一部份的MLC阵列中的单元的Vt分布图400,其划分为四个子范围A、B、C、D。在此例示中,该编程阶级的分布400约400mV,且每一子范围为约100mv宽。为了简化说明起见,仅以具有L1编程验证阶级PV1的编程阶级L1为例来说明。为简化说明起见,划分Vt分布的子范围的数目将被称为"粒状体(gmmilarity)"。故在此例中具有四个粒状体。高度粒状使得在判断与设定PV调整时能更加精确,但需要更多的评估以及存储器资源。具有编程至阶级Ll的MLCs的每一区块将具有落在LlVt分布400中的区块Vt分布(参考例如图3A的参考符号302、304)。当区块中的LlMLCs编程验证完成后,则检测且评估该高界限(亦即在区块的L1MLC的最大Vt)以判断子范围A、B、C、D中的哪一个中发生高界限。根据发生区块LlVt分布(参考例如图3A的参考符号302)的高界限的子范围,配置一调整值(调整码)至该区块。使用该调整值以调整该区块的次高编程阶级(如L2)的该编程验证低界线阶级,该调整值亦用于读取电压调整。举例来说,对于区块的LlVt分布的高界线落在第一子范围A内来说,不需要调整该区块的L2编程验证阶级。假使区块的L1Vt分布的高界线落在该第二子范围B中,则需执行AD1阶级调整以增加该区块的L2编程验证阶级(L2Vt分布的低界线)。假使高界线落在该第三子范围C中,需执行AD2阶级调整以进一步增加该区块的L2低界线阶级,且依此类推。在一特定例示中,该Ll与L2编程阶级的Vt分布均为约400mV,且每一子范围为约100mV宽。假使区块的L1Vt分布的高界线落在子范围B中,将增加100mV至区块的L2编程验证阶级。在替代实施例中,该子范围将视应用细节而定,而对不同的编程阶使用不同的宽度。相似地,用于较高编程阶级的调整电压值不需要与相关于的较低编程阶级的子范围宽度相同。Vt分布400可以替代性地划分为多于四个或少于四个的子范围。较多数目的子范围提供优选的解析度,但需要额外的资源。调整区块的下一个编程阶级的编程验证(PV)阶级,可于区块的编程阶级之间提供改善的读取窗。图5为根据本发明的实施例编程验证(PV)调整区块500的电路示意图。该PV调整区块具有感测单元502与评估单元504。当Vth施加到MLC时,单元电流ICELL会供应至在感测单元中的感测放大器SA0、SA1、SA2、SA3。每一感测放大器比较ICELL与一参考电流(例如SA0的IREF0、SA1的IREF1、SA2的IREF2、SA3的IREF3)。可在制造前间通过参考单元预编程而例示性地产生一参考电流,以为如图4所示的四个界线阶级PV1、AD1、AD2与AD3的每一个产生参考电流。假使ICELL大于供应至感测放大器的参考电流,该感测放大器将输出第一数据值(例如'T')。且假使ICELL小于该参考电流,感测放大器将输出第二数据值(例如"O")。(配置的0/1数据值是随意的,且替代性地,该第一数据值可为0且该第二数据值可为1)。举例来说,假如在一编程脉冲之后该MLC临界电压小于该页编程验证阶级(例如图4中的PV1),来自感测放大器SAO、SA1、SA2、SA3的该数据值D0、Dl、D2、D3是(1,1,1,1)。假使施加额外的编程脉沖而提升MLC的临界电压至子范围C(参考图4),则自该感测单元输出的数据值为(O,0,0,1)。当检测MLC编程阶级L1时,此MLC编程阶级L1将配置于子范围A、B、C或D中。表1显示来自该感测单元502的各种数据组的评估单元504的输出<table>tableseeoriginaldocumentpage18</column></row><table>表1注意数据组(l,1,1,l)的AD码相同于(O,1,1,1),数据组(l,1,1,l)指示MLC的Vth低于该页的PV,且并无成功地编程。在区块中的MLCs的AD码用以纪录区块的最高Vth子范围,故在一MLC能够被编程至阶级L0、阶级Ll、阶级L2与阶级L3的例子中,具有六个AD码(在每一区块的最低阶级之上的每一编程阶级有两位)。举例来说,区块O(参考图8,参考符号S08)具有128位组(即1K位),且区块O具有六个位的AD码。举例来说,假使区块2的一MLC在一连串施加至区块的编程脉冲的步骤之后于子范围C中,且区块2的其它MLCs为于子范围C或低于子范围C,则区块2的AD码为指示子范围C的10。使用AD码用以设定区块的下一编程阶级的编程验证阶级。举例来说,假使一区块的编程阶级L1的AD码是01,其指示区块分布的高界线落在页Vth分布的子范围B中,则区块的编程阶级L2的编程验证阶级设定在高于子范围B的界线,该子范围B的界线高于L2的页基本PV值(例如高于200mV)。施加至PV调整区块500中感测放大器的参考电流可以由许多方式产生。举例来说,在一非编程单元方式中,假使阵列单元字线等于5V,致动参考单元0的字线阶级可为4.4V,其为读取窗保留了0.6V,致动参考单元1的该字线阶级可为4.3V(使用图4中例示的100mV)。且该字线阶级参考单元2与参考单元3可分别为4.2V与4.1V。另一方面,可使用编程参考单元方法。假使阵列单元字线为5V,则参考单元0字线阶级为5V,参考单元1字线阶级为4.9V,参考单元2字线阶级为4.8V,参考单元3字线阶级为4.7V。参考单元Vth为高于页程序验证阶级0.6V,以保持读取窗为0.6V。图6绘示根据本发明的一实施例操作一集成电路MLC存储阵列的方法600流程图。于N为整数的第一编程阶级N(步骤602),将数据编程于MLC存储阵列中的部份MLC位阵列时(亦即第一多个MLCs,例如将一页区块中的一部分设定为阶级Ll)。在一特定实施例中,MLC存储阵列(例如页)具有用以编程阶级N的一Vth(读取电压)分布,其被划分为至少有一第一子范围与一第二子范围。对于被编程至阶级N的位阵列的MLC,感领k读取)临界电压Vth(步骤604),并且使用此临界电压来设定调整码(步骤606)。在一实施例中,位阵列的临界电压Vth的分布窄于MLC存储阵列的Vth分布,且位阵列的临界电压Vth的分布具有落在MLC存储阵列的Vth分布的第一子范围或第二子范围之中的高界线(亦即在位阵列中任何MLC的最高Vth)。可根据编程至阶级Ll的单元Vth分布的高界线落在哪一个子范围来设定该调整码。编程阶级N-1的一编程验证值(例如"已调整区块PVN+l")根据由编程阶级N的Vth判断所得的该调整码(步骤608)来设定。参考图4,该已调整PV值通常大于用于整页编程阶分布400的PV1值,但假使该区块的该级阶不需要调整的话,该已调整PV值亦可相等于PV1阶。MLC存储阵列的第二位阵列(例如区块的第二部份)根据该已调整区块PVN+1而被编程至阶级N+1,其中该调整区块PVN+1根据调整码而选定(步骤610)。依此方式,当动态地移动编程验证阶级时,于阶级N与阶级N+1之间临界分布的该读取边限维持不变。在另一实施例中,额外的己调整PV值被用来判断额外的编程阶级(N+2,…,N+M)。在一例示性实施例中,位阵列为此区块的一部份,同时此过程对于该页的每一区块重复,且之后则是对MLC存储元件的每一页重复该过程。在又一实施例中,根据该调整码设定页的区块的参考读取阶级(步骤612),同样地,利用动态调整编程验证阶级的优占。"、、o图7为根据本发明的一实施例编程MLC存储阵列的方法700的流程图。载入存储元件的数据(例如使用者数据读取入SRAM中)(步骤702),部份的已载入数据编程为于第一编程阶级N(例如Ll)的第一位阵列(步骤704)。在一特别实施例中,将MLC存储阵列的页的一部份区块(区块n)编程至阶级N。一调整码载入至数据传输区块(例如图8的感测放大器816)(步骤706)。在一特定实施例中,该调整码的预设(初始)值为OO(参照表1)。对区块(区块m)的阶级N进行一评估复合的PV操作(步骤708)。所谓的"复合PV操作"指此编程验证操作使用多重参考值(参照图5)。此复合PV操作然后被评估(步骤710)且以数据位部份(参照图8,参考符号806、821)与该调整码(AD码)部份(参照图8,参考符号826、828)来更新SRAM(步骤712)。假如于阶级N有另一区块需要被编程的话(分支714),则重复步骤708、710与712。当在阶级N的此页的所有区块都已被编程时(步骤716),判断PV操作是通过或是失效(步骤718)。假使PV操作失效(分支720),则一区块一区块地施加额外的编程脉冲至此页的第N阶MLCs。假使该页通过页PV(分支722),且存在将编程的额外阶级(例如阶级L2与L3)(分支724),则增加该编程阶级(N+1),且重复步骤704至718直到已编程最高阶级(例如L3)(分支726)。在又一实施例中,用于整页(亦即对于每一区块的每一编程阶级的所有AD码)的调整码(AD码)被储存(步骤728)。在特定实施例中,使用单阶单元方法,将该整页AD码信息编程至该存储阵列中(参考图8,参考号码827),其可以确保自该页的其后数据读取操作中AD码的正确读取。图8为根据本发明的一实施例的集成电路(IC)800的示意图。一使用者输入编程图案802至输入缓冲器804。该编程图案传输至SRAM缓冲器806,其划分该编程图案(数据)为区块808、810,且进一步化分为区段,通过线809编程该数据位至MLC存储阵列812的页811。在一特定实施例中,区块中的MLCs以顺序的形式编程至连续阶级。换句话说,在区块中的某些MLCs编程至Ll,则区块中的其它MLCs编程至L2,且其后区块中的其它MLCs编程至L3。区块中的某些MLCs并不编程,即这些MLCs位于LO。在一些实施例中,存储阵列的某些区块并不具有编程至每一可能阶级的MLCs。初始AD码载入至在PV调整区域817中的数据转移区域816(例如感测放大器阵列)(参考图5)。在编程数据进入MLC存储阵列812后,通过使用一数据转移区域816来读取该已编程值区域814而执行复合的编程验证操作。该PV调整区域执行一复合PV操作(参考图7步骤708)且提供数据组(例如表1中的DO、Dl、D2、D3)至一评估单元819。该评估单元判断一调整位(AD)码,其在一具有在四阶MLC阵列的四个粒状体的特定实施例中,该调整位(AD)码为一六位AD码。更新该第二数据(亦即读取结果)821至SRAM缓冲器806且该AD码820载入至该SRAM缓冲器806,且之后在该SRAM缓冲器806的该AD码(例如826)编程至存储单元阵列812(例如AD码827)。在一特定实施例中,编程该AD码至基于一单阶单元方法的该单元存储阵列,以在读回时增进AD码信息的可靠度与准确度。在编程验证期间的读取结果应该符合该编程图案。假使该编程验证操作失效,则施加另一编程脉冲至于区段中的MLCs,直到在区块中的该已编程MLCs于所欲编程阶范围中。替代性地,一区块中的所有区段可于验证这些区段前皆先编程。参考图4与图5以及表1,当数据读取自存储单元,该评估单元指示该存储单元是否已编程至在所欲编程阶范围中(例如在页的Vth分布,参考图4的参考符号400)。假使Vth阶低于所欲的编程阶级,则施加额外的编程脉冲,且其后伴随着另一数据验证(读取)操作。假使该单元的Vth落于所欲编程阶范围中,评估单元判断已编程单元的Vth分布发生在哪一个子范围中,且产生相关的AD码。当读取额外的存储单元时,评估单元产生额外的AD码,对该区块的每一区段重复该过程。最后,区块(例如827)的最高AD码储存在单元阵列812中,可自单元阵列812读取每一区块的该AD码。重复该过程直到编程且验证整页。几个其它顺序为可能的,但通常编程一区块至一所欲阶级(例如Ll,参考图1B),且验证该区块以确认在读取对该已编程MLCs提供所欲阶级。此过程将于每一区块中进行直到整页通过编程验证,且之后对额外的(更高的)编程阶级重复此过程。替代性地,在增加至下一区段或区块之前,编程每一区段或区块至所有指定的阶级。在一读取操作期间,通过读取储存在MLC存储阵列812中的数据,使用者获得该页内容。该区段写入至该SRAM缓冲器806直到读取整个区块。传送该页数据至输出缓冲器818,且之后传送输出数据824至该使用者。图9绘示依据本发明的另一实施例用于MLC存储阵列的存储单元分布与Vth的关系。一公知的读取操作具有设定于第一阶级Ll与第二阶级L2间的一参考REF0。正常读取窗WL0公知上为阶级Ll与L2间的分隔距离,而正常参考电压REF0通常设定在读取窗WL0的中间。第一区块具有阶级Ll分布902以及阶级L2分布904,如此提供第一区块大于读取窗WL0的一读取窗WL1。相似地,该第二区块具有阶级Ll分布906与阶级L2分布卯8,阶级L2分布908提供也是宽于读取窗WL0的第二区块的读取窗WL2。根据以上所述的AD码技术编程这些区块提供增强的(较宽的)读取窗。当自第一区块区分阶级Ll与阶级L2时,介于第一区块的阶级Ll与阶级L2间的AD码用以判断参考REF1;当自第二区块区分阶级L1与阶级L2时,介于第二区块的阶级Ll与阶级L2间的AD码用以判断参考REF2。为了方便说明起见,根据每一区块的该调整结果此即称为"动态地移动"此参考值。在编程相期间产生如同上述的该调整结果,且可较该初始参考REF0来调高REF2或调低REF1。来自使用者方面的读取操作通常为基于页的(page-based)。是指说该使用者只要执行一读取命令便可自该阵列获得该页内容。来自内部设计的观点的读取操作为基于感测放大器数目宽度。举例来说,在来自64个感测放大器的每一感测脉冲之后,将在MLC系统中获致128位信息,感测放大器的数目仅为例示性,亦可替代性地使用不同数目的感测放大器。根据一实施例的一读取操作,该参考值动态地移动。参考图5,根据关于正在读取的MLC存储阵列的部分的编程阶级的AD码来调整(移动)参考电流IREF1、IREF2与IREF3。图10为依据一实施例MLC存储阵列的读取操作130的流程图。先设定一预设参考值(参考例如图9的REF0)(步骤132)。读取相关于区块的AD码(例如在图8中来自单元阵列812的AD码827)至SRAM(步骤134),且调整该预设值至一已调整参考值(参考例如图9的REF1)(步骤136)。使用该已调整参考值,数据读取自区块(步骤138)。在一实施例中,执行一连串的读取周期(步骤140)且该数据载入至SRAM(步骤142)直到已读取整个区块(分支144)。假使存在将读取的另一区块(分支146),重复经由128的步骤134,直到已读取最后区块(分支148),自该SRAM输出数据(步骤150)至使用者。在一实施例中,读取整页且数据送至该使用者,替代性地,读取页的第一部分且该第一部份送至该使用者。在另一实施例中,在来自页的第一部分的数据送至该使用者时,读取页的第二部份。在各种实施例中,通过控制施加至这些读取参考单元的字线电压,或通过提供多个预设参考单元,而调整该参考值且选定这些多个预设参考单元之一。在此所描述的技术提供于具有例如氧化硅/氮化硅/氧化硅ONO栅介质非传导电荷捕捉结构的SONOS型态的多阶存储单元,该介电质于氮化硅层中捕捉电荷,以及如此电荷捕捉存储单元的变形。参考Eitan等人所著的"每一单元具有4位的NROM可靠度",其发表于IEEE国际期干U2005年12月5日539页-542页,2005年IEDM技术摘要的电子装置会议。虽然优选实施例牵涉到具有非传导电荷捕捉结构的捕捉存储单元的电荷,该技术延伸至包括利用传导浮栅极来捕捉电荷的浮栅极存储单元。本发明已参考这些优选实施例与详述于上的例子而披露,需了解的是,这些例子仅为例示而非用以限制本发明。由于考虑到本发明的修饰与结合对本领域技术人员来讲是显而易见的,因此这些修饰与结合将落在本发明的精神与所附的权利要求书中。权利要求1、一种用以操作一集成电路的一多阶单元(MLC)存储阵列的方法,包括在第一编程阶级,将第一数据编程于所述多阶单元存储阵列的第一多个多阶单元中;感测所述第一多个多阶单元的临界电压;根据所述临界电压的读取而设定一调整码;以及在第二编程阶级,将第二数据编程于所述多阶单元存储阵列的第二多个多阶单元中,所述第二多个多阶单元具有根据所述调整码而设定的一组编程验证值。2、如权利要求1所述的方法,其中所述第一多个多阶单元位于所述多阶单元存储阵列的一页的一第一区块中,且所述第二多个多阶单元位于所述第一区块中。3、如权利要求1所述的方法,其中进一步包括下列步骤在第一编程阶级,将第三数据编程于所述多阶单元存储阵列的第三多个多阶单元中;感测所述第三多个多阶单元的第二临界电压;根据所述第二临界电压的读取而设定一第二调整码;以及在第二编程阶级,将第四数据编程于所述多阶单元存储阵列的第四多个多阶单元中,所述第四多个多阶单元具有根据所述调整码设定的一组第二编程验证值。4、如权利要求3所述的方法,其中所述第一多个多阶单元位于所述多阶单元存储阵列的一页的一第一区块中,且所述第二多个多阶单元位于所述第一区块中,所述第三多个多阶单元位于所述页的一第二区块中,且所述第四多个多阶单元位于所述第二区块中。5、如权利要求1所述的方法,还包括储存所述调整码于所述多阶单元存储阵列中的步骤。6、如权利要求5所述的方法,其中所述调整码是使用一单阶单元技术而储存的。7、如权利要求5所述的方法,其中所述第一数据储存在所述多阶单元存储阵列的一第一区块中,且所述调整码储存在所述第一区块中。8、如权利要求5所述的方法,其中所述第一编程阶级位于一第一编程验证阶级与一第一擦除验证阶级间延伸的一第一页编程阶级范围中,所述第一页编程阶级范围划分为多个子范围,所述第一多个多阶单元的临界值提供具有一第一高界线的一第一区块临界电压分布,其发生在所述第一页编程阶级范围中的一个子范围中,所述调整码根据所述子范围而设定。9、如权利要求8所述的方法,其中所述第一页编程阶级范围划分为四个子范围。10、如权利要求8所述的方法,其中所述第一页编程阶级范围的一第一子范围具有一第一子范围宽度,且一第二子范围具有所述第一子范围宽度。11、如权利要求l所述的方法,还包括下列步骤根据所述调整码,设定一第一参考电压;以及使用所述第一参考电压,读取所述第二多个多阶单元。12、如权利要求3所述的方法,还包括下列步骤根据所述调整码,设定一第一参考电压;以及使用所述第一参考电压,读取所述第二多个多阶单元;根据所述第二调整码,设定一第二参考电压;以及使用所述第二参考电压,读取所述第四多个多阶单元。13、如权利要求l所述的方法,还包括下列步骤感测所述第二多个多阶单元的第二临界电压;根据所述第二临界电压,设定一第二调整码;在第三编程阶级,将第三数据编程于所述多阶单元存储阵列的第三多个多阶单元中,所述第三编程阶级具有根据所述第二调整码而设定的一组第二编程验证值。14、如权利要求13所述的方法,其中所述第一多个多阶单元、所述第二多个多阶单元与所述第三多个多阶单元位于所述多阶单元存储阵列的一页的一区块中。15、如权利要求13所述的方法,其中一区块调整码包括所述第一调整码与所述第二调整码储存于所述多阶单元存储阵列中。16、如权利要求15所述的方法,其中所述区块调整码是使用一单阶单元技术而储存的。17、如权利要求15所述的方法,其中所述区块调整码储存在所述区块中。18、如权利要求1所述的方法,其中所述编程验证值提供在所述第一多个多阶单元的所述临界电压与所述第二多个多阶单元的第二临界电压间的一第一读取窗,其大于在所述第一编程阶级与所述第二编程阶级间的一正常读取窗。19、如权利要求3所述的方法,其中所述编程验证值提供在所述第一多个多阶单元的所述临界电压与所述第二多个多阶单元的第二临界电压间的一第一读取窗,且其中所述第二编程验证值提供在所述第三多个多阶单元的所述临界电压与所述第四多个多阶单元的第四临界电压间的一第二读取窗,每一所述第一读取窗与所述第二读取窗大于在一第一编程阶级分布与一第二编程阶级分布间的一正常读取窗。20、一种集成电路,包括一多阶单元存储阵列,以及一编程验证调整区块,包括多个感测放大器,相关于所述多阶单元存储阵列的一编程阶级的一临界电压分布所对应的多个子范围,以及一评估单元,接收对应于所述多个感测放大器的多个位,所述评估单元根据所述多个位提供一调整位。21、如权利要求20所述的集成电路,其中所述临界电压分布具有至少两个子范围,且所述多个感测放大器包括一第一感测放大器,耦接至指定所述临界电压分布的一编程验证界线的一第一参考电流;以及一第二感测放大器,耦接至指定在一第一子范围与一第二子范围间的一第一调整阶级的一第二参考电流。22、如权利要求20所述的集成电路,其中所述临界电压分布具有四个子范围,且所述多个感测放大器包括一第一感测放大器,耦接至指定所述临界电压分布的一编程验证界线的一第一参考电流;一第二感测放大器,耦接至指定在一第一子范围与一第二子范围间的一第一调整阶级的一第二参考电流;一第三感测放大器,耦接至指定在所述第二子范围与一第三子范围间的一第二调整阶级的一第三参考电流;以及一第四感测放大器,耦接至指定在所述第三子范围与一第四子范围间的一第三调整阶级的一第四参考电流。全文摘要一种用以操作集成电路的多阶单元存储阵列于第一编程阶级,在第一编程阶级,将第一数据编程于该多阶单元存储阵列的第一多个多阶单元中。感测这些第一多个多阶单元的临界电压,并根据这些临界电压的读取而设定一调整码。在第二编程阶级,将第二数据编程于该多阶单元存储阵列的第二多个多阶单元中,这些第二多个多阶单元具有根据该调整码而设定的一组编程验证值。在又一实施例中,根据该调整码而设定用以读取这些第二多个多阶单元的一参考电压。文档编号G11C16/10GK101174466SQ200710185140公开日2008年5月7日申请日期2007年10月30日优先权日2006年11月2日发明者何文乔,张坤龙,张钦鸿,洪俊雄申请人:旺宏电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1