具体实施方式
将理解实施方式部分(而非摘要和发明说明部分)意图被使用于解释权利要求。摘要和发明说明部分可以阐明由发明人深思熟虑而得的一个或多个、但并非全部的本发明的实施例,且因此,不意图以任何方式限定本发明和所附的权利要求书。
闪存为一种非挥发性存储器,于其中电荷典型地储存于「储存节点(storage node)」中,该储存节点可为但不限于浮动多晶硅栅极或电荷捕捉层(charge trap layer)。为了程序化该单元,施加相对高的电压至该电晶体控制栅极(透过该存储器的字线(word line)),其造成电荷开始在该储存节点中累积。该单元藉由施加相对中等的电压至该控制栅极(透过该存储器的字线)来读取并判断该单元是否导通电流。在实施例中,该储存节点介于该控制栅极与该氧化物层之间。因此,累积在该储存节点中的电荷有效地增大了该单元的低限电压(threshold voltage)。理想地,在程序化该单元后,该单元的低限电压增加超过在该读取操作期间所施加的中间电压(intermediatevoltage),从而创造其能够在该读取操作期间被量测的两种状态(即,导通与非导通)。
典型地藉由施加相对高的电压至该单元的控制栅极而抹除该闪存单元,该电压具有与该程序化电压相反的极性。亦可藉由施加高电压至该闪存单元的井(well)来完成该抹除操作。在如此做时,目前在该储存节点上的电荷被移出,且当在该读取操作期间施加中间电压时,该单元导通电流。因此,在程序化状态中,该单元具有0的逻辑值(非导通),且在抹除状态中,该单元具有1的逻辑值(导通)。
闪存典型地由数个固定大小的存储器区块所组成。举例而言,且不以此为限,各该区块可具有1百万位元(megabit,Mbit)的大小。在此处其他区块大小为可能且能思及的。逻辑0可被程序化为一区块的选择性的或「随机」的位元。然而,逻辑1能被写入区块的唯一方法为抹除整个区块。因此,当将资料写入至快取存储器区块时,在大多数情况下必须完成两项操作。首先,抹除该区块(例如,藉由写入逻辑1至该区块的各单元)。接着,藉由写入逻辑0至该区块的特定单元以将该区块程序化为特定状态。此成对操作,亦即抹除及程序化,称为「P/E周期」。在其写入命令仅要求由逻辑1至逻辑0的转换的不太可能发生的事件中,该写入命令可被替代为仅实施程序化操作。
理想地,闪存区块能够无限的循环。亦即,闪存区块使用相同的电压水准而能无限次的程序化及抹除。然而,事实上闪存的效能会退化。举例而言,当区块曝露于更多的P/E周期时,构成该区块的单元倾向于捕捉电荷。此些被捕捉的电荷造成该单元需要更高电压水准的电压来抹除。
为了抹除闪存的区块,典型地藉由存储器控制器输出电压脉冲列(voltage pulse train)至该区块。图1显示例示用于抹除闪存区块的静态脉冲列的图示100。如图1所示,该脉冲列包含三组脉冲:具有V1的电压者、具有V2的电压者、及具有V3的电压者。在该脉冲列的各脉冲后,该存储器控制器判断在该区块中的全部单元是否已被抹除。举例而言,该存储器控制器可将该单元的低限电压与预定电压进行比较以判断该区块是否已被抹除。若确认该区块已被抹除,则之后无额外的脉冲被输出至该区块。否则,在该脉冲列中的下一个脉冲输出至该区块。
因此,如图1的范例所示,在具有V1的电压的三个脉冲不成功后,该些脉冲的电压增加至V2。在三个此种脉冲不成功后,该些脉冲的电压增加至V3。各电压水准的数值以及在各电压水准的脉冲的数目为静态的。即,传统上,该电压水准及在各电压水准的脉冲的数目二者提前决定且不再改变的。
虽然在图1中所例示的静态方法典型地最终将造成该区块被抹除,但一些早期的脉冲可能被「浪费」。即,该脉冲列的一些早期的脉冲在该闪存区块的单元的状态上可能不具有可察觉到的效应。举例而言,请参照图1,若一区块的大部分单元具有足够的经捕获的电荷,故需要在V3的脉冲来抹除,在电压V1及V2的脉冲将可能在该区块的单元的状态上可能不具有可察觉到的效应。此些浪费的脉冲可增加抹除该区块需要的时间。当该区块老化时(即,当其经历更多P/E周期时),在脉冲具有足够电压前需要输出更多脉冲至该区块。因此,浪费的脉冲的数目增加且可能造成抹除操作未能满足基本效能需求(例如,在5ms内抹除或在一些其他规定的时间间隔内)。
在此处所述的实施例中,提供一种用于程序化或抹除闪存区块的适应性技术。举例而言,在实施例中,可判定该区块的「年龄(age)」,且该年龄可用来判定并设定脉冲列的第一脉冲的电压。在实施例中,该闪存区块的年龄指该区块所退化的程度;年龄亦为区块的用量的测量标准。闪存区块的年龄通常为其所经历的P/E周期的数目的函数。因此,通常以P/E周期量化年龄。然而,如下所提醒,可使用其他量测标准来量化该闪存区块的年龄。藉由适性调整传给将被程序化或抹除的个别闪存区块的脉冲列,此处所描述的技术能显著地降低程序化或抹除闪存区块所需要的时间。
图2显示依据本发明的实施例的闪存系统200的方块图。系统200包含存储器控制器210以及闪存220。存储器控制器210包含处理器212、唯读存储器(read only memory,ROM)214、以及电压产生器216。在实施例中,该存储器控制器210可以包含处理器212、唯读存储器214、以及电压产生器216的微控制器而实现。
在图2的例子中,该闪存220包含八个区块222a-h(全体称为「区块222」),然而本领域技术人员将了解该闪存220可包含任意数量的任何大小的区块。各区块包含其储存资讯的个别位元的单元。此些单元(例如但不以此为限)以浮动栅极金氧化物半导体(MOS)电晶体来实现。在显示于图2的实施例中,ROM 214可储存查询表(lookup table)218。额外的或替代的,该区块222的区块可储存查询表218。此外,本领域技术人员将了解虽然图2显示电压产生器216被包含在存储器控制器210中,电压产生器216亦可与该存储器控制器210分开地实施。该系统200的操作将参考流程图300而进一步的详细描述,如下所述。
闪存系统200可被包含在任何需要非挥发性存储器的系统、次系统、装置或模块中,现在已知或未来将发展的,包含但不限于计算机、智慧型手机、仪器、消费性产品、嵌入式系统、移动装置、通讯系统/装置等等,以及任何其他资料处理模块和包含此等资料处理模块的系统。应了解到本发明的实施例适用于前述内容。
图3显示依据本发明的实施例,以提供用于适应性地程序化或抹除非挥发性(例如,快闪)存储器区块的范例步骤的流程图300。基于以下叙述,其他结构上或操作上的实施例对本领域技术人员而言将为明显的。显示于图3中的步骤并不需要依所显示的顺序而发生。图3的步骤于以下详细地描述。
在步骤302中,判定该区块的年龄。举例而言,在图2中,存储器控制器210能判定该闪存220的区块222a的年龄。在实施例中,存储器控制器210可藉由输出测试脉冲至区块222a并量测在区块222a的结果来判断区块222a的年龄。量测在区块222a的结果的一种例子为在该测试电压被区块222a接收后,分析区块222a的单元的低限电压。以下提供分析区块222a的单元的低限电压的两种不同范例实施例。在第一实施例中,藉由施加一个或多个预定电压至该区块222a的字线以将多个不同的预定电压与该单元的低限电压进行比较。在第二实施例中,施加预定电压至该区块222a的字线并判定其具有高于该预定电压的低限电压的单元的数目的总数(例如,藉由判定哪些单元未导通电流)。此些实施例的各者将于以下更加详细的描述。本领域技术人员应了解在不悖离本发明的范围及精神之下,其他量测在闪存区块上的测试脉冲的影响的技术可能被使用。
注意到一单元的低限电压为其必须被施加于该单元以使该单元导通电流的电压。举例而言,在该区块222a的单元以浮动栅极MOS电晶体而实现的实施例中,该单元的低限电压为必须被施加于该控制栅极以使其导通电流的电压。如上所提醒,在浮动栅极MOS电晶体中,该电晶体的低限电压的值依据在该电晶体的该浮动栅极上的电荷的存在而改变。
在分析该区块222a的单元的低限电压的第一实施例中,存储器控制器210可将该区块222a的单元的低限电压与多个预定电压进行比较。在实施例中,ROM存储器214或该区块222a的区块(例如,区块222b)可能储存三个预定电压,此处称为Vp1、Vp2及Vp3,且Vp1<Vp2<Vp3。在此实施例中,存储器控制器210可判断该单元的低限电压落入哪个范围,例如,小于Vp1、位于Vp1及Vp2之间、位于Vp2及Vp3之间、或大于Vp3。在实施例中,指派该区块的年龄至各范围。因此,藉由判断该低限电压落入哪个范围,本发明的实施例能判断该区块222a的年龄。在实施例中,存储器控制器210可使用包含在查询表218中的资讯将所判定的范围映射至特定的年龄。替代地,该低限电压落入其中的该范围本身可被用来量化区块222a的年龄。
在实施例中,在比较该多个预定电压与该单元的低限电压的过程中,存储器控制器210执行了该些预定电压的搜寻以判定该些电压的何者大于该区块222a的全部低限电压以及该些电压的何者小于或等于该区块222a的全部低限电压。在实施例中,该搜寻可为二元搜寻(binary search)。举例而言,存储器控制器210可以Vp2开始其搜寻,依据与Vp2的比较的结果,可将该区块222a的单元的低限电压与Vp1或Vp3的任一者进行比较。
在实施例中,为了执行该单元的低限电压及该预定电压之间的比较,存储器控制器210可将该预定电压输出至该区块222a的字线。在该区块222a的单元以浮动栅极MOS电晶体而实现的实施例中,该字线耦接至该单元的控制栅极。因此,藉由施加特定电压至该字线并判定哪个单元导通电流,存储器控制器210可以判定哪个单元具有高于该预定电压的低限电压以及哪个单元具有小于或等于该预定电压的低限电压。
可依据闪存区块的效能退化模型或闪存区块的退化的真实实验来决定该多个预定电压。在实施例中,该多个预定电压可储存在存储器控制器210的ROM存储器214中或该区块222的另一区块中(例如,在制造(manufacture)中)。
在分析该区块222a的单元的低限电压的第二实施例中,并非将区块222a的单元的低限电压与多个预定电压进行比较,存储器控制器210可依据其具有在预定电压之上的低限电压的单元的数目(或等于、在预定电压之下)来判定该年龄。一旦此等单元的数目的总数被判定,存储器控制器210可使用在查询表218中的资讯将该总数映射至特定的年龄值。替代地,具有大于(或小于)该特定低限电压的低限电压的单元的数目(即,该总数)本身可被用来量化区块222a的年龄。此外,如上所提醒的,在读取操作期间,存储器控制器210可输出相对的中间电压至该区块222a的字线并判定哪个单元导通电流。因此,在实施例中,该预定电压可为在读取操作期间施加至该字线的电压。
在另一实施例中,可藉由判断该区块222a已经历的P/E周期的数目来判定该区块222a的年龄。举例而言,每次存储器控制器210在区块222a执行一个P/E周期,存储器控制器210可以增加一次计数器。该计数器可被储存在指定的多个单元中。该指定的多个单元可包含在区块222a、另一个区块(例如,区块222b)、或位于区块222外的多个单元中。在其他实施例中,该指定的多个单元可包含在上述的组合中,例如,一个或多个区块222、另一个区块、位于区块222外的多个单元的组合。
在写入区块222a前,存储器控制器210可藉由存取该指定的多个单元的内容来判定该区块222a的年龄。额外的或替代的,存储器控制器210可写入用以抹除区块222a的最后脉冲列的第一脉冲的电压及/或其开始抹除区块222a的时间(或脉冲总数)。在又另一实施例中,可储存在最后一个P/E周期所使用的脉冲列的最终脉冲的电压。如上所提醒的,抹除该区块所需要的电压增加,常造成较长的脉冲列。因此,该脉冲列的该第一脉冲的电压以及该最后一个P/E周期期间抹除区块222a所需要的时间亦可被用来量化区块222a的年龄。亦可储存该区块222a的年龄,例如,以允许用于区块222a的年龄的适应性地程序化或抹除。举例而言,区块222a的部分可用以储存区块222b的年龄。
回到显示于图3中的流程图300,在步骤304中,基于该区块的年龄判定该脉冲列的初始脉冲的电压。举例而言,在图2中,存储器控制器210可基于所判定的该区块222a的年龄判定该脉冲列的第一脉冲的电压。举例而言,存储器控制器210可使用查询表218将该区块222a的年龄映射至该脉冲列的初始脉冲的电压。举例而言,藉由使用模拟的或实验上判定的闪存区块的特性以判定抹除具有既定年龄的区块所需要的电压水准可决定在该查询表218中的资讯。举例而言,在制造程序的测试阶段期间,可测试该区块222a。所产生的测试结果可与先前设定至模型结合以判定抹除具有既定年龄的区块所需要的电压水准。
在步骤306中,输出该脉冲列至该区块的至少一部分。举例而言,在图2中,存储器控制器210可输出脉冲列至该区块222a的至少一部分。在实施例中,在程序化操作期间,可输出该脉冲列至其将被程序化的该区块222a的特定部分。另一方面,在抹除操作期间,可输出该脉冲列至整个该区块222a。
依据实施例,在该脉冲列中的第一脉冲具有在步骤304中所判定的电压。在实施例中,存储器控制器210的处理器212可控制电压产生器216以产生该脉冲列以使该第一脉冲具有所判定的电压。在实施例中,该电压产生器可包含数个电压调节器,其可藉由在电压产生器216及/或藉由处理器212中的控制电路来控制。
在实施例中,依据该区块222a的年龄,亦可增加该脉冲列的其他脉冲的电压水准。举例而言,若在该第一脉冲后,存储器控制器210判定该区块222a的内容未被完全抹除,存储器控制器可输出具有相同电压水准的另一个脉冲作为第一脉冲。在位于该第一脉冲的电压水准的数个脉冲未能完全抹除该区块222a的内容后,存储器控制器210可能输出具有关于该第一脉冲的电压水准而增加的电压的另一个脉冲。在该电压水准中的增加量可为静态的或适应性的。举例而言,存储器控制器210可基于该区块222a的年龄来判定该增加量。亦可静态地或适应性地判定对该电压水准的任何额外的增加量。此外,亦可静态地或适应性地判定各电压水准的脉冲数目。即,在特定电压水准的脉冲数目可为静态的(例如,储存在ROM 214中)或可藉由存储器控制器210基于该区块222a的年龄来判定。举例而言,查询表218可能储存识别用于依据该区块222a的年龄的脉冲序列(sequence of pulses)的脉冲数目的资讯。
如上所述,存储器控制器210可完成一个或多个步骤302至306。在实施例中,计算机程式及/或演算法可储存在存储器控制器210的ROM 214中,其使存储器控制器210能够完成步骤302至306。在另一实施例中,该计算机程式/演算法可储存在其他计算机程式/演算法产品中,包含但不限于,主要储存装置(primary storage device)(例如,任何种类的随机存取存储器)、次要储存装置(secondary storagedevice)(例如,硬碟、软性磁碟、CD ROMS、压缩碟(ZIP disk)、磁带(tape)、磁性储存装置、及光学储存装置、MEMS、奈米科技储存装置等等)。在又一实施例中,存储器控制器210可实施为硬体状态机器(hardware state machine),例如,透过可程式逻辑(programmablelogic)。
图4显示依据本发明的实施例的例示范例脉冲列的图示400,其可由存储器控制器210所产生。如图4所示,在开端时,存储器控制器210可产生测试脉冲402。如上所提醒并参考流程图300中的步骤302,可使用测试脉冲来判定该区块222a的年龄。基于该区块222a的年龄,存储器控制器210可判定该脉冲列的该第一脉冲的电压应该从V1(例如,显示在图1中的传统脉冲列所使用的值)增加至V1 *。如图4所示,存储器控制器210藉由ΔV的值有效地增加该第一脉冲的电压。在如此做时,存储器控制器210降低了该脉冲列的该第一脉冲可能被浪费的可能性。在实施例中,V1 *可能相等于V2,即,在该静态方法中的第二组脉冲的电压。此外,如图4所示,该脉冲列的其余脉冲(若需要)亦可由ΔV增加至V2 *的值或由一些其他静态地或适应性地判定的数量。
图5依据本发明的实施例的例示使用与上述的静态方法相反的包含在流程图300中的适应性方法的效果的图示510-540。图示510及520分别例示使用包含在流程图300中的适应性方法以及传统静态方法对相对年轻的区块的抹除。如图示510及520所示,该静态及该适应性方法大约同等有效率地运作。事实上,若该区块相对的「年轻」,例如,经历相对小的P/E周期的数目,在该适应性方法及该静态方法中的初始脉冲的电压在所示的例子中将为相似的。因此,在此例子中,该二方法将展现相似的效能。
图示530及540分别例示该适应性方法以及该静态方法对相对年老的区块的抹除。已判断该区块的年龄后,该适应性方法以具有V1 *而非V1的电压开始。如图示530所示,在应用V1 *的电压后,如此做造成尚未被抹除的单元的数目立即下降。反之,如图示540所示,使用静态方法,当未造成尚未被抹除的单元的数目有可察觉的降低时,该第二及第三脉冲有效地被浪费了。事实上,当该静态方法需要接近八个脉冲来达到相同程度的抹除时,藉由该第三脉冲,该适应性方法已几乎抹除了整个区块。因此,显示在图5的例子中的图示510-540显示对于相对年老的闪存区块而言,参考图3所述的该适应性方法降低了抹除一区块所需要的脉冲的数量,从而降低了抹除该区块所需要的时间。
图6显示依据本发明的实施例的进一步例示包含在图3中的适应性方法的效果的图示600及610。图示600及610例示了作为既定区块已经历的P/E周期的数目的函数的不同脉冲的电压。图示600例示该静态方法的使用,且该图示610例示该适应性方法的使用。如图示600所示,在该静态方法中的脉冲的电压静态地由V1增加至V3。即,在各电压水准的脉冲数目为常数(即,在图6的实施例为在各电压水准有二脉冲)。此外,图示600亦例示其发生在各脉冲后的验证(verification)。举例而言,如图示600所示,在该区块到达C1周期前,仅需要一个脉冲来抹除该区块。然而,当该区块老化,需要更多的脉冲来抹除该区块。事实上,一旦该区块经历过C5周期,需要6个脉冲来抹除该区块。此时,在并未可察觉地影响该区块的状态下,该第一脉冲(例如,在电压水准V1的第一及第二脉冲以及在电压水准V2的第三及第四脉冲)为浪费的。
相对于参考图示600所述的该静态方法,图示610所示的该适应性方法可以从V1至V3调整在该脉冲列中的该第一及后续脉冲的值。特别是,如图示610所示,一旦该区块经历过C2周期,需要第二脉冲来抹除该区块。然而,一旦该区块经历过C2周期,该脉冲列的该第一脉冲的电压增加至V2,且仅需要一个脉冲来抹除该区块。同样地,一旦该区块到达C3周期,再度需要第二脉冲来抹除该区块。然而,一旦该区块经历过C4周期,该第一脉冲的电压再度依据该区块的年龄而增加。以此方法,该适应性技术可依据该区块的年龄在该第一脉冲中达到电压水准V3。反之,如图示600所示,不管该区块的年龄,直到第五脉冲前该电压水准V3均不会被达成。
本领域技术人员将了解到此处所提供的图示600及610仅作为例示之用,而不意图限制该权利要求。举例而言,在其他实施例中,周期C1-C5之间的相对关可变动。举例而言,在该适应性方法中,该适应性方法中的该第一脉冲的电压可以在该区块经历C2及C4周期之前增加。在此等实施例中,当该区块到达C2或C4周期时,不需要两个脉冲来抹除该区块。更一般而言,该脉冲列的特定脉冲的电压水准可在需要额外脉冲来抹除该区块前增加。
上述的实施例着重在抹除闪存的区块。然而,本领域技术人员基于此处所揭露者将了解该适应性技术亦可使用于程序化存储器的区块。举例而言,可基于该闪存区块的年龄判定用于程序化一单元的电压。
又,虽然此处所描述的实施例以参考闪存,但本发明并不限于此些例子。反之,本发明适用于其他种类的计算机存储器。
本发明借助例示其具体功能及其关系的实行的功能性建构模块描述如上。为便于描述,本文任意定义该些功能性建构模块的边界。只要其具体功能及其关系适当执行,可以定义替代的边界。
之前具体实施方式的描述将充分揭示本发明的一般特性,使得无需过多实验,且不背离本发明一般概念的情况下,其他人可通过应用本技术领域内的知识,很容易地针对各种应用来修改和/或改变这些具体实施例。因此,基于本文给出的教示和指导,这种改变或修改意在处于所公开的实施例的等价物的涵义和范围内。需要理解的是,本文的措辞和术语是为了描述而不是限制的目的,从而本说明书的术语和措辞应由技术人员根据教示和指导来理解。
本发明实施方式的外延和范围不应受任何上述范例实施例限制,而应当仅根据所附权利要求书及其等效者来定义。
当前申请案中的权利要求书不同于任何相关申请案的权利要求书。因此,申请人废除在关于当前申请案的任何相关申请案中所做出的权利要求书的范畴的任何否认声明。因此,建议审查员可能需要重新视察任何此类先前否认声明及使其避免的引用参考。另外,亦提醒审查员在当前申请案中所做出的任何否认声明均不应被曲解于或违背于任何相关申请案。