用于编程/擦除非易失性存储器的方法和设备的制作方法

文档序号:6777118阅读:96来源:国知局
专利名称:用于编程/擦除非易失性存储器的方法和设备的制作方法
技术领域
本发明涉及非易失性存储器,更具体地,涉及用于编程/擦除非易 失性存储器的方法和设备.背景技术能够被多次编程和擦除的非易失性存储器(NVM)通常被使用于各 种各样的应用。通常,NVM具有在保证满足数据保持技术规范的同时 可以执行的编程/擦除循环的最大数目。


本发明借助于附图作为例子被示出了,但并不由附图限制,图中 相同的附图标记表示相同的单元,并且附图中图1以框图形式示出了根据本发明的一个实施例的集成电路; 图2以框图形式示出了根据本发明的一个实施例的图1的NVM14;图3以流程图形式示出了根据本发明的一个实施例的用于擦除 NVM的方法;图4以曲线图形式示出了根据本发明的一个实施例的被编程的和 被擦除的位的分布;以及图5以曲线图形式示出了根据本发明的一个实施例的各种擦除脉冲。本领域技术人员将会看到,图中的单元是为了简化和清晰而示出 的,并不一定按比例画出。例如,图中的单元的一些尺寸可能相对于 其它单元被放大,以帮助增进对本发明的实施例的理解。
具体实施方式
NVM单元的数据保持力(data retention)是预定的数据值保持正 确地被存储使得可以从NVM单元将其检索的时间量。NVM单元的持 久性(endurance)是在NVM单元的状态不再可以可靠地改变之前可以 执行的最大数目的编程/擦除循环。应当注意,有各种各样的技术可被 用来在测试期间或使用(例如,冗余性、纠错码等等)期间当一个或多 个NVM单元失效(发生故障)时扩展NVM阵列的耐久性(viability)。NVM可以以任何期望的粒度被编程。虽然许多NVM按字节被编 程,但替换的实施例可以按位、字、长字、扇区、块、或任何其它期 望的方式被编程。NVM可以以任何期望的粒度被擦除。虽然许多NVM 按扇区被编程,但替换的实施例可以按位、字节、字、长字、块、或 任何其它期望的方式被擦除。当单个NVM阵列30(见图2)必须满足对于由第 一组客户所要求的 时间保持力的最大技术规范,而同时也满足对于由第二组客户所要求 的持久性的最大技术规范时,引起一个问题。作为一个例子,第一组客户可能正在存储软件代码,例如用于处 理器12的指令(见图1),它们必须在产品的寿命内(例如,二十年)保持 为被存储的。这样的产品的一个例子是使用NVM来存储用来执行引 擎控制的软件代码的汽车。这个第一组客户可能不需要NVM执行许 多编程/擦除循环。在本例中,如果NVM存储软件代码,则一旦软件 代码初始地被存储在NVM中,软件代码可能就从不需要被擦除和重 写。大多数应用中通常不使用自修改软件代码。作为第二个例子,第二组客户可以存储数据值,例如非易失的但 可变的数据,它们需要在相对较短的时间期间内(例如, 一个月到五年) 保持为被存储的。这样的产品的一个例子是使用NVM来存储用来代 表引擎调整信息的数据值的汽车。这个笫二组客户将需要NVM执行 许多编程/擦除循环(例如,每当汽车点火被关断和接通时进行一次编程 /擦除循环)。在本例中,如果NVM存储数据值,则很可能数据值将被 新的编程/擦除循环刷新,因此不需要具有长的数据保持时间。另外, 一些客户在同一个应用中将需要两种类型的NVM。例如, 上述的汽车客户将需要一些NVM具有对于软件代码的长的数据保持 力,并且还需要一些NVM具有对于频繁被重写的数据值的高持久性。图1以框图形式示出了根据本发明的一个实施例的集成电路 (IC)IO。在所示出的实施例中,IC10具有处理器12、 NVM14、可选 的其它存储器16、 一个或多个可选的其它模块18、和可选的外部总线 接口 20,它们每个都被双向地耦合到总线22。正如这里使用的,术语 总线是指可被用来传送一种或多种类型的信息如数据、地址、控制或 状态的多个信号或导体。在一些实施例中,IC10是独立的NVM,并且没有实施电路12、 16和18。在这种情形下,外部总线接口 20包括用于NVM14的地址 与数据总线驱动器。在其它实施例中,IC IO是微控制器,它具有NVM 14作为在微控制器上可得到的仅仅一个电路。任何一个或多个电路 12、 14、 16、 18和20可被耦合到一个或多个集成电路端子(未示出), 它们可被用来与IC10的外部通信。在一些实施例中,外部总线24可 被用来与在IC IO的外部的电路(未示出)通信。其它存储器16可以是 任何类型的存储器。其它模块18可包括被用于期望的目的的电路。在 其它模块18中的电路的一些例子包括定时器电路、通信接口电路、显 示器驱动器电路、模拟-数字转换器、数字-模拟转换器、电源管理电 路等等.图2以框图形式示出了才艮据本发明的一个实施例的图1的NVM 14。在一个实施例中,NVM14包括具有N块的NVM阵列42,其中 N可以是大于或等于1的整数。虚线被用来表示NVM阵列42的块。 这些块可以具有任何尺寸。对应于每个块的控制信息可被存储在每个 块内。NVM 14还包括控制电路32、读电路40、验证电平发生器26、验 证电平选择器28、'读验证电路30、电压发生器36、电压选择器48、 编程/擦除脉冲发生器64、和其它NVM电路38,验证电平发生器26 把多个验证电平经由导体51-53提供到验证电平选择器。验证电平选平之一经由导体46提供到读验证电路30。读电路40被双向耦合到 NVM阵列42并把实际读电流经由导体60提供到读验证电路30。读 验证电路30被双向耦合到控制电路32并把验证结果经由导体62提供 到控制电路32。控制电路32被双向耦合到验证电平发生器26、其它 NVM电路38、电压发生器36和编程/擦除脉冲发生器64。电压发生 器36把多个电压经由导体54-56提供到电压选择器48。电压选择器 48根据从控制电路32经由导体50接收的选择信号把这些电压之一经 由导体58提供到编程/擦除脉沖发生器64。控制电路32包括编程/擦 除脉冲计数器34、每个电压的最大脉冲计数68和最大总脉冲计数70。 每个电压的最大脉冲计数68和最大总脉冲计数70可被存储在控制电 路32内或在NVM14或IC10内的存储电路,例如寄存器。编程/擦除循环可包括编程NVM阵列42的全部或一部分,或擦 除NVM阵列42的全部或一部分。在一个实施例中,擦除是指把位设 置为逻辑电平1,而编程是指把适当的位按需要设置为逻辑电平1或 逻辑电平0,用来代表要被存储在NVM阵列42中的期望的信息。在 一个实施例中,编程NVM阵列42的一部分包括用来首先擦除要被 编程的部分的所有位的擦除循环,随后改变需要被改变的那些位的状 态,以代表要被存储的期望的信息。另外,应当注意,正如这里所使 用的,编程/擦除循环可以仅仅包括擦除操作。在一个实施例中,整个 块可以一次擦除,或替换地,可以一次擦除多于或少于一个块。另外, 在替换实施例中,擦除可以指把位设置为逻辑电平0,而不是逻辑电 平l,在编程或擦除NVM阵列42的一部分后,执行随后的验证,以确 定编程/擦除循环是成功的。为了进行验证,执行对被编程/擦除的位的 读取,并与验证电平进行比较,以确定位是否被正确地编程/擦除。例 如,读验证电路30可被用来验证在NVM阵列42中所选择的位单元 的正确的擦除。读电路40包括多个读出放大器(未示出),它们被用来 读出要被验证的所选择的位单元,读电路40感测每个所选择的位单元,并把实际读电流经由导体60提供到读验证电路30。(应当注意, 读电路40的电路和操作在本领域是已知的,所以这里不作更详细地描 述。)读验证电路30然后比较经由导体60接收的实际读电流与经由导 体46提供的所选择的验证电平,并确定实际读电流是否大于或等于所 选择的验证电平。如果是的话,则相应的擦除位单元的所存储的数值 被验证为逻辑电平l,表示该擦除是成功的。在一个实施例中, 一次可以验证一组位单元的擦除。例如,在其 中NVM阵列42的一部分的所有的位单元被擦除的场合下,在擦除后 它们读被预期为逻辑电平1。在本例中,读电路40可以感测NVM阵 列42的该部分的每个位单元,并仅仅把最小实际读电流提供到读验证 电路30。如果在这种情形下的最小实际读电流大于或等于所选择的验 证电平,则在擦除部分中所有的位单元的擦除是成功的。图4以曲线图形式示出了可以在NVM阵列42中存在的零("O") 位和一('T,)位的示例性分布以及各种不同的验证电平VL1-VLN。 y轴 代表位数,而x轴代表位的位单元电流。所以,在"O,,位(存储有逻辑 电平零的位单元)的情形下,每个位单元的位单元电流小于0/1读阈值 电流。在"l,,位(存储有逻辑电平1的位单元)的情形下,每个位单元的 位单元电流大于0/1读阈值电流(否则,其电流小于0/1读阈值电流的 任何"1"位会被误读为"0"位)。所以,具有小于0/1读阈值电流的电流 的任何位单元被读为存储"O",而具有大于0/1读阈值电流的电流的任 何位单元被读为存储"l"。然而,为了保证强的一位,希望"l"位位单 元电流比0/1读阈值电流大预定的量。例如,在图4上,对于最佳操 作,"l,,位的位单元电流应当大于验证电平VL1。所以,如图4所示, "l"位的分布出现在VL1的右面。然而,随着时间消逝,"l"位的分布 开始向左面移动,更接近于0/l读阈值,这是由于例如由编程/擦除循 环造成的对于器件氧化物的损坏。如图4所示,应当注意,"1"位的分布可能移到更接近于0/1读阈 值,但仍旧至少远离预定的量,正如由各个其它验证电平VL2-VLN 表示的(其中N可以是任何整数值)。如果例如验证电平VL4,而不是VL1,被用来验证"l"位,则更多的位将"通过",有效地存储"l",这 是因为需要较小的位单元电流来认为是有效的"l"位。然而,如果位单 元电流仅仅超过VL4,而不超过VL1-VL3,贝'j"l"位实际上是在NVM 恶化到不再能被可靠地编程的程度之前剩下较短的寿命的较弱的"l" 位。所以,在一个实施例中,尽可能用验证电平VL1来验证"l"位, 并且当不再可能时,可以代之以使用较小的验证电平如VL2-VLN来 验证"1"位。因此,有可能扩展NVM阵列42的寿命。回到图2,应当注意,读验证电路30可以^吏用各种验证电平之一 (由验证电平选择器28提供)来验证"1"位。例如,验证电平发生器26 可以生成N个验证电平(例如,对应于图4的VL1-VLN),并把它们经 由导体51-53提供到验证电平选择器28.然后,电平选择器28可以根 据经由导体44从控制电路32接收的选择信号选择这些验证电平之一, 并把所选择的验证电平经由导体46提供到读验证电路30,以用于实 际进行验证。然后,读验证电路30比较从读电路40接收的实际读电 流与这个所选择的验证电平,并把结果经由导体62提供到控制电路 32。控制电路32的操作将参照图3的流程图更详细地讨论。现在参照图2和5描述执行擦除操作来擦除NVM阵列42的一部 分的编程/擦除循环的例子。在一个实施例中,例如通过编程/擦除脉冲 发生器64生成多个擦除脉冲,以擦除NVM阵列42的一部分。这些 脉冲的例子示出于图5中。在一个实施例中,施加具有近似第一擦除 电压(EV1)的多个脉沖(例如脉冲100),随后施加具有近似第二擦除电 压(EV2)的多个脉冲(例如脉冲102),随后施加具有近似第三擦除电压 (EV3)的多个脉冲(例如脉沖l(M),等等。在一个实施例中,在第一擦 除电压(例如EV1)的每个脉冲后,执行验证,以确定擦除脉沖是否成 功。如果不成功,则提供具有相同的擦除电压的另一个擦除脉沖,然 后再次进行验证。在进行的验证过程验证了该擦除成功的任何时候, 编程/擦除循环结束。然而,如果在执行同一个擦除电压下预定数目的 脉冲(例如所有的脉冲IOO)之后,擦除仍旧不成功,则提供更高擦除电 压(例如EV2)的脉冲,再次地,在这个更高的擦除电压下的每个脉沖之后,执行验证,以查明擦除是否成功,以及如果是的话,则编程/ 擦除循环在这时成功地结束。然而,如果在执行这个较高的擦除电压下预定数目的脉冲(诸如所有的脉冲102)之后,擦除仍旧不成功,则提 供还更高的擦除电压(例如EV3)的脉冲。这个过程继续进行,直至成功的擦除被验证为止或直至达到最大 的总脉冲计数值为止。例如,如果已完成所有的脉沖106(意味着,已 完成所有的脉冲100,102,104,... 106),而验证仍旧不能表示成功的擦 除,则编程/擦除循环以没有成功的擦除结束(即,失败的擦除)。在一 个实施例中,在移到更高的擦除电压之前按每个擦除电压提供的脉冲 的预定数目是相同的。例如,对于每个擦除电压可以提供5个脉沖的 最大值,最大总脉冲数是20。然而,在替换实施例中,在移到更高的 擦除电压之前按每个擦除电压提供的脉冲的数目是不同的。这些数值 可以被存储在例如图2的每个电压的最大脉冲计数62和最大总数脉沖 计数70。可替换地,这种类型的信息可被存储在NVM阵列42的每个 块内,其中每个块可以使用不同的计数。另外,擦除脉冲计数器34可 包括任何数目的计数器或其它电路来跟踪每个擦除电压的脉沖数目和 总脉冲数。应当注意,具有越来越高的擦除电压的脉沖的使用可以导 致对于NVM阵列42较小的损害。所以,应当注意,每个编程/擦除循环可以使用多个不同的擦除电 压和多个不同的验证电平。例如,验证电平选择器28可以在编程/擦 除循环的第 一部分期间选择笫 一验证电平,然后在编程/擦除循环的笫 二部分(它在时间上出现在第 一部分之后)期间选择第二验证电平(如果 例如在笫一验证电平下的擦除脉冲是不成功的)。所以,在编程/擦除循 环的笫一部分期间,读验证电路30可以比较笫一实际读电流与第一验 证电平,并且在编程/擦除循环的第二部分期间,读验证电路30可以 比较笫二实际读电流与笫二验证电平。在所示出的实施例中,图2的其它NVM电路38包括NVM 14的 操作所需的所有其它电路。在一个实施例中,其它NVM电路38具有 电荷泵、高压稳压器、高压开关、字线驱动器、源线驱动器、行解码器、列解码器、到总线22的接口 、寄存器和对于NVM 14的功能所期 望的任何其它电路(未示出)。应当注意,对于一个实施例,其它NVM 电路38可以以传统的方式操作。另外,应当注意,类似于读验证电路 30的电路可被用来验证"O"位,其中把"O"位的位单元电流与典型地小 于0/1读阈值电流的验证电平进行比较,以便确定正确性。另外,在 替换实施例中,具有小于0/1读阈值电流的电流的位单元可以对应于 "1,,位,而具有大于0/1读阈值电流的电流的那些位单元可以对应于"O" 位。图3以流程图形式示出了根据本发明的一个实施例的擦除和验证 过程。可以用在NVM阵列42外部的激励源来发起流程80的擦除操 作。这样的外部的激励源的一个例子可以是发起NVM 14内的擦除的 处理器12(见图1)。流程从方框82开始,其中选择初始擦除电压和初 始验证电平。例如,初始地,控制电路32可以指示验证电平选择器 28(例如经由导体44)从验证电平发生器选择第一验证电平(例如,图4 的VL1)。同样地,控制电路32可以指示电压选择器48(例如经由导体 50)从电压发生器36选择第一擦除电压(例如,EV1)。流程然后前进到方框84,在其中通过使用所选择的擦除电压(在方 框82选择的)提供擦除脉冲。例如,编程/擦除脉冲发生器64可以使用 由电压选择器48提供的擦除电压来生成脉冲,例如,如图5所示。应 当注意,控制电路32还可以把诸如与脉冲持续时间有关的控制信息提 供到编程/擦除脉冲发生器64。这个第一脉沖被提供到NVM阵列42, 以便擦除NVM阵列42的所选择的部分(其中所选择的部分可以由其 它NVM电路38指示,如本领域所已知的)。回到图3,流程然后前进到方框86,在其中通过使用所选择的验 证电平来验证该擦除。例如, 一旦由脉沖发生器64提供脉冲,读验证 电路30就可以验证该擦除,正如以上参照图2描述的。例如,读电路 40可以把实际读电流提供到读验证电路30,读验证电路30把该实际 读电流与来自验证电平选择器28的所选择的验证电平进行比较。流程 然后前进到判定菱形框88 ,其中确定实际读电流是否大于或等于所选13择的验证电平。如果是的话,则流程前进到方框90,它表示成功的擦 除,并因此而完成编程/擦除循环。也就是说,在方框90,完成流程 80的擦除操作80。如果在判定菱形框88中,确定实际读电流不大于 或等于所选择的验证电平,则流程前进到判定菱形框92。
在判定菱形框92,确定是否达到所选择的电压电平下擦除脉沖的 最大数目。如果不是的话,流程回到方框84,在其中提供在相同的所 选择的电压电平下的另一个擦除脉冲,并以相同的验证电平执行验证 (在方框86)。如果在判定菱形框92,确定已达到在第二电压电平下擦 除脉冲的最大数目,则流程前进到判定菱形框94。例如,为了作出判 定菱形框92的判定,控制电路32可以比较跟踪在当前擦除电压下的 脉冲数目的第一擦除脉冲计数器的计数值与对于当前的擦除电压的最 大脉冲计数(例如它可以作为每个擦除电压的最大脉沖计数68的一部 分而被存储)。
在判定菱形框94,确定是否达到最大总擦除脉冲数。例如,控制 电路32可以比较跟踪在当前的编程/擦除循环中总的脉冲数目的第二 擦除脉冲计数器的计数值与最大总脉冲计数70,以作出这个判定。如 果已达到最大总擦除脉沖数,则流程前进到方框96,这表示当前的编 程/擦除循环以不成功的擦除(即,失败的擦除)结束。应当注意,在擦 除或编程期间的失败可以是由于在NVM阵列42中和/或其它NVM电 路38中的电路。
然而,如果在判定菱形框94中还没有达到最大总擦除脉沖数,则 流程前进到方框98,其中继续进行当前的编程/擦除循环。在方框98, 选择较高的擦除电压和较低的验证电平,然后流程回到方框84。例如, 如果在方才医82的初始擦除电压和验证电平分别对应于EV1和VL1, 则在方框98,更高的擦除电压和更低的验证电平可以分别对应于EV2 和VL2。利用这个新的更高的擦除电压,更强的擦除脉冲被提供到 NVM阵列42以执行擦除。而且,在这个更高的擦除电压下每个擦除 脉冲之后,使用较低的验证电平来执行验证。这个较低的验证电平可 以使得读验证电路30更容易验证成功的擦除。也就是说,每个编程/擦除循环可以使用多个不同的擦除电压和多个不同的验证电平。通过
使用逐渐增高的擦除电压(例如,EV1,EV2,…,EVN)和逐渐降低的验证 电平(例如,分别为VL1, VL2,…,VLN),擦除可以以这样的方式被执 行和验证,该方式使得无论什么应用,由编程/擦除循环造成的损害最 小化并保证对于NVM阵列中每个位单元达到最佳数据保持和持久性 能。
应当注意,可以选择擦除电压和验证电平的任何序列。例如,在 要被使用的擦除电压的序列中的每个擦除电压可以均匀地间隔开。可 替换地,它们可以不等地间隔开,使得例如从EV1到EV2的跳跃可 以小于从EV2到EV3的跳跃。同样地,每个擦除电压可能不一定大 于先前的擦除电压。类似地,在要被选择的验证电平的序列中的每个 验证电平可以均匀地间隔开,或不均匀地间隔开。同样地。每个验证 电平可能不一定低于先前的验证电平。在一个实施例中,擦除电压的 序列在13伏开始,每次递增200毫伏直到14伏,如下13伏,13.2 伏,13.4伏…14伏(分别对应于EV1,EV2,EV3,…EVN),而验证电平 的序列在30微安开始,每次增减4微安直到IO微安,如下30微安, 26微安,22微安,...IO微安(分别对应于VL1,VL2,VL3,…VLN)。然 而,如上所述,对于每个擦除电压和验证电平可以使用许多不同的序 列。
还应当注意,对于一个实施例,验证电平是参考电流,把它与来 自NVM单元的实际读电流进行比较。替换实施例可以使用不同于参 考电流的某个其它的量来代表验证电平。例如,验证电平可以是参考 电压。另外,参考值可以与不同于读电流的某个其它的量进行比较. 例如,验证电平可以是参考电压,它与NVM单元电压(例如,晶体管 阈值电压)进行比较。替换实施例可以使用任何期望的电路特性来代表 验证电平。所以,在一个实施例中,验证电平可被称为读电流/电压阈 值,而实际读电流可被称为实际读电流/电压。另夕卜,在一个实施例中, 验证电平选择器28可被称为阈值选择器。
应当注意,NVM 14可包括不同于图2所示的结构的其它的结构。例如,验证电平发生器26和验证电平选择器28可以以各种方式被实 施。在一个实施例中,验证电平发生器26可以能够生成任何数目的验 证电平(电流或电压,取决于期望的比较类型),并且验证电平选择器 28然后可以根据来自控制电路32的选择信号选择这些验证电平之一。 例如,验证电平选择器28可以从各种所生成的验证电平中进行选择, 或可以选择在验证电平发生器26内的要被使能的电路以生成所选择 的验证电平。可替换地,这些功能可以被合并到单个模块中。在一个 实施例中,每个后继的验证电平可以根据初始的验证电平或任何其它 先前的验证电平生成。参照验证电平发生器26和验证电平选择器28 描述的相同的替换例也分别适用于电压发生器36和电压选择器48。 另夕卜,控制电路32可以根据需要提供任何类型的控制信号以表示选择 和生成哪个验证电平和擦除电压。
另外,任何类型的已知的电路可被用来实施NVM14的部分。例 如,任何类型的电流/电压电平发生器可被用来实施验证电平发生器26 和电压发生器36。类似地,任何类型的电路可被用来实施选择器28 和48的选择功能(例如,多路复用器)。另外,已知的电路可被用来实 施编程/擦除脉沖计数器34的计数器,以及实施编程/擦除脉冲发生器 64。另外,控制电路32可以以在处理器12上运行的软件被实施,或 作为实现例如流程80的控制的硬件而被实施,或作为硬件和软件的组 合而被实施。控制电路32的部分也可以在整个NVM 14中分布和定位, 并且可能没有如图2所示被集中。控制电路32也可以被用来提供控制 信息和信号到与NVM 14的任何功能有关的NVM 14的任何部分。另 外,应当注意,这里描述的NVM 14的特定部分,例如发生器26和 36、选择器28和48、读验证电路30、编程/擦除脉冲发生器64、和控 制电路32,也可以执行或帮助执行NVM14的其它功能,例如编程或 验证"O"位。还应当注意,本发明的实施例可适用于可被编程和擦除多 次的任何类型的NVM。
本发明的一个实施例涉及一种用于编程/擦除非易失性存储器 (NVM)的方法,包括使用第一擦除电压发起NVM的至少一部分的擦除操作,选择第一读电流/电压阈值,确定该NVM的至少一部分的 第一实际读电流/电压,和比较第一实际读电流/电压与第一读电流/电 压阈值。如果第一实际读电流/电压低于第一读电流/电压阈值,则该方 法还包括把至少一个擦除脉沖施加到NVM的该至少一部分,选择第 二读电流/电压阈值,确定该NVM的至少一部分的第二实际读电流/ 电压,和比较第二实际读电流/电压与第二读电流/电压阈值。如果第二 实际读电流/电压不低于第二读电流/电压阈值,则完成擦除操作。笫一 读电流/电压阈值与第二读电流/电压阈值是不同的。
在另一个实施例中,该至少一个擦除脉沖包括第一组多个第一擦 除脉冲。第一组多个第一擦除脉沖包括N个擦除脉冲,其中N可以由 被存储在NVM中的数值确定。第一组多个第一擦除脉冲中的每一个 可以具有大约第一电压。
在再一个实施例中,如果第二实际读电流/电压不低于第二读电流 /电压阈值,则该方法还可包括把第二组多个第二擦除脉沖施加到 NVM的该至少一部分,其中每个第二擦除脉冲可以具有大约第二电 压,第二电压不同于第一电压。第二电压可以大于第一电压。第二组 多个可以与第一组多个具有相同的数目。如果第一组多个加上第二组 多个达到预定的最大总擦除脉冲数,并且如果第二实际读电流/电压低 于第二读电流/电压阈值,则NVM可被认为有故障的。
在另一个实施例中,第二读电流/电压阈值小于笫一读电流/电压阈值。
另外的实施例涉及一种具有非易失性存储器(N VM)的集成电路, 包括阈值选择器,它在编程/擦除循环的第 一部分期间选择多个读电流 /电压阈值中的第一读电流/电压阈值,并且它在所述编程/擦除循环的 第二部分期间选择多个读电流/电压阈值中的第二读电流/电压阈值,其
中多个读电流/电压阈值中的第一读电流/电压阈值与多个读电流/电压 阈值中的第二读电流/电压阈值是不同的。
在另一个实施例中,编程/擦除循环的第一部分在时间上发生在编 程/擦除循环的第二部分之前,并且多个读电流/电压阈值中的第二读电流/电压阈值小于多个读电流/电压阈值中的第一读电流/电压阈值。
在再一个实施例中,该集成电路还包括用于在编程/擦除循环的第 一部分期间比较第一实际读电流/电压与多个读电流/电压阈值中的第 一读电流/电压阈值的读验证电路,所述读验证电路还在所述编程/擦除 循环的第二部分期间比较第二实际读电流/电压与多个读电流/电压阈 值中的笫二读电流/电压阈值,其中所述读验证电路被耦合到所述阈值 选择器。在再一个实施例中,集成电路还包括擦除脉冲发生器,如果 第一实际读电流/电压低于多个读电流/电压阈值中的第一读电流/电压
阈值,则所述擦除脉沖发生器把至少一个第一擦除脉沖施加到NVM, 如果第二实际读电流/电压低于多个读电流/电压阈值中的第二读电流/ 电压阈值,则所述擦除脉冲发生器还把至少一个第二擦除脉沖施加到 NVM。在再一个实施例中,该至少一个第一擦除脉冲包括具有第一电 压的第一组多个擦除脉冲,该至少一个第二擦除脉冲包括具有第二电 压的第二组多个擦除脉沖。第二电压可以高于笫一电压。
另一个替换实施例涉及一种非易失性存储器(NVM),包括NVM 阵列;用于生成多个读电流/电压阈值的装置;用于在编程/擦除循环的 第一部分期间选择多个读电流/电压阈值中的第一读电流/电压阚值和 用于在编程/擦除循环的第二部分期间选择多个读电流/电压阈值中的 第二读电流/电压阈值的装置;用于在编程/擦除循环的第一部分期间比 较第一实际读电流/电压与多个读电流/电压阈值中的笫一读电流/电压 阈值和在编程/擦除循环的第二部分期间比较笫二实际读电流/电压与 多个读电流/电压阈值中的第二读电流/电压阈值的装置;以及用于如果 笫一实际读电流/电压低于多个读电流/电压阈值中的第一读电流/电压 阈值则提供第一组多个第一擦除脉冲到NVM阵列并且如果第二实际 读电流/电压低于多个读电流/电压阈值中的第二读电流/电压阈值则提 供第二组多个第二擦除脉沖到NVM阵列的装置。
在再一个实施例中,编程/擦除循环的第一部分在时间上发生在编 程/擦除循环的第二部分之前,并且多个读电流/电压阈值中的第二读电 流/电压阈值小于多个读电流/电压阈值中的第一读电流/电压阈值。在另一个实施例中,第一组多个第一擦除脉冲具有笫一电压,并且第二 組多个第二擦除脉沖具有第二电压。在再一个实施例中,第二电压高
于第一电压,以及在又一个实施例中,第二组多个与第一组多个具有 相同的数目。
在以上的说明书中,参照具体的实施例描述了本发明。然而,本 领域技术人员将会看到,可以作出各种修改和改变,而不脱离如在所 附权利要求中阐述的本发明的范围。因此,该说明书和附图被视为说 明性的,而不是限制性的,并且所有的修改都打算包括在本发明的范 围内。
以上通过具体的实施例描述好处、其它优点和对于问题的解决方 案。然而,好处、优点、对于问题的解决方案和可以使得任何好处、 优点、或解决方案出现或变为更显著的任何单元,并不被视为任何的 或所有的权利要求的关键的、所需要的、或必要的特征或单元。正如 这里使用的,术语"包括"或它的任何其它变例,期望覆盖非排他的包 括,使得包括一系列单元的过程、方法、物品、或设备不仅仅包括那 些单元,而且还可包括没有明显列出的或对于这样的过程、方法、项 目或设备固有的其它单元。
权利要求
1.一种用于编程/擦除非易失性存储器(NVM)的方法,包括使用第一擦除电压发起NVM的至少一部分的擦除操作;选择第一读电流/电压阈值;确定NVM的所述至少一部分的第一实际读电流/电压;比较第一实际读电流/电压与第一读电流/电压阈值;如果第一实际读电流/电压低于第一读电流/电压阈值,则执行以下步骤把至少一个擦除脉冲施加到NVM的所述至少一部分;选择第二读电流/电压阈值;确定NVM的所述至少一部分的第二实际读电流/电压;比较第二实际读电流/电压与第二读电流/电压阈值;以及如果第二实际读电流/电压不低于第二读电流/电压阈值,则完成擦除操作,其中第一读电流/电压阈值与第二读电流/电压阈值是不同的。
2. 如权利要求l所述的方法,其中所述至少一个擦除脉冲包括第 一组多个第一擦除脉冲。
3. 如权利要求2所述的方法,其中所述第一组多个笫一擦除脉沖 包括N个擦除脉冲,其中N可以由存储在NVM中的值确定。
4. 如权利要求2所述的方法,其中所述第一组多个第一擦除脉冲 中的每一个具有大约笫一电压。
5. 如权利要求4所述的方法,还包括如果第二实际读电流/电压低于第二读电流/电压阈值,则执行以下 步骤把第二组多个第二擦除脉冲施加到NVM的所述至少一部分, 其中每个第二擦除脉冲具有大约第二电压,并且其中第二电压不同于第一电压。
6. 如权利要求5所述的方法,其中第二电压大于笫一电压。
7. 如权利要求5所述的方法,其中第二组多个与第一组多个具有 相同的数目。
8. 如权利要求5所述的方法,其中如果第一组多个加上第二组多 个达到预定的最大总擦除脉冲数,并且如果第二实际读电流/电压低于 第二读电流/电压阈值,则NVM被认为已发生故障。
9. 如权利要求1所述的方法,其中第二读电流/电压阈值小于笫 一读电流/电压阈值。
10. —种具有非易失性存储器(NVM)的集成电路,包括 阈值选择器,它在编程/擦除循环的第一部分期间选择多个读电流/电压阈值中的第一读电流/电压阈值,并且在所述编程/擦除循环的笫 二部分期间选择多个读电流/电压阈值中的第二读电流/电压阈值,其中多个读电流/电压阈值中的第一读电流/电压阈值与多个读电 流/电压阈值中的第二读电流/电压阈值是不同的。
11. 如权利要求10所述的集成电路,其中编程/擦除循环的笫一 部分在时间上发生在编程/擦除循环的第二部分之前,并且多个读电流 /电压阈值中的第二读电流/电压阈值小于多个读电流/电压阈值中的笫 一读电流/电压阈值。
12. 如权利要求10所述的集成电路,还包括读验证电路,用于在编程/擦除循环的第 一部分期间比较第 一 实际 读电流/电压与多个读电流/电压阈值中的第一读电流/电压阈值,所述 读验证电路还在所述编程/擦除循环的第二部分期间比较第二实际读 电流/电压与多个读电流/电压阈值中的第二读电流/电压阈值,其中所 述读验证电路被耦合到所述阈值选择器。
13. 如权利要求12所述的集成电路,还包括 擦除脉冲发生器,如果第一实际读电流/电压低于多个读电流/电压阈值中的第一读电流/电压阈值,则所述擦除脉冲发生器把至少一个第 一擦除脉沖施加到NVM,如果第二实际读电流/电压低于多个读电流/ 电压阈值中的第二读电流/电压阈值,则所述擦除脉冲发生器还把至少 一个第二擦除脉冲施加到NVM。
14. 如权利要求12所述的集成电路,其中所述至少一个第一擦除 脉冲包括具有第一电压的第一组多个擦除脉冲,其中所述至少一个笫 二擦除脉冲包括具有第二电压的第二組多个擦除脉沖。
15. 如权利要求14所述的集成电路,其中第二电压高于第一电压。
16. —种非易失性存储器(NVM),包括 NVM阵列;用于生成多个读电流/电压阈值的装置;用于在编程/擦除循环的笫 一部分期间选择多个读电流/电压阈值 中的第 一读电流/电压阔值并用于在编程/擦除循环的第二部分期间选 择多个读电流/电压阈值中的第二读电流/电压阈值的装置;用于在编程/擦除循环的第 一部分期间比较笫 一 实际读电流/电压与多个读电流/电压阈值中的第 一读电流/电压阈值并在编程/擦除循环 的第二部分期间比较第二实际读电流/电压与多个读电流/电压阈值中的第二读电流/电压阈值的装置;以及用于如果第一实际读电流/电压低于多个读电流/电压阈值中的第一读电流/电压阈值则提供第一组多个第一擦除脉沖到NVM阵列并且 如果第二实际读电流/电压低于多个读电流/电压阈值中的第二读电流/电压阈值则提供第二组多个第二擦除脉冲到NVM阵列的装置。
17. 如权利要求16所述的NVM,其中编程/擦除循环的第一部分 在时间上发生在编程/擦除循环的第二部分之前,并且其中多个读电流 /电压阈值中的第二读电流/电压阈值小于多个读电流/电压阈值中的第 一读电流/电压阈值。
18. 如权利要求16所述的NVM,其中第一组多个第一擦除脉冲 具有第一电压,并且第二組多个第二擦除脉冲具有笫二电压。
19. 如权利要求18所述的NVM,其中第二电压高于第一电压。
20. 如权利要求19所述的NVM,其中第二组多个与第一组多个 具有相同的数目。
全文摘要
一种具有非易失性存储器(NVM)(14)的集成电路(10),包括阈值选择器(28),它在编程/擦除循环的第一部分期间选择多个读电流/电压阈值中的第一读电流/电压阈值,并且它在所述编程/擦除循环的第二部分期间选择多个读电流/电压阈值中的第二读电流/电压阈值,其中多个读电流/电压阈值中的第一读电流/电压阈值与多个读电流/电压阈值中的第二读电流/电压阈值是不同的。编程/擦除循环的第一部分在时间上发生在编程/擦除循环的第二部分之前。多个读电流/电压阈值中的第二读电流/电压阈值小于多个读电流/电压阈值中的第一读电流/电压阈值。
文档编号G11C11/34GK101317231SQ200680044254
公开日2008年12月3日 申请日期2006年11月8日 优先权日2005年11月30日
发明者M·苏海尔 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1