可逆电阻率切换元件的分步软编程的制作方法

文档序号:6738392阅读:146来源:国知局
专利名称:可逆电阻率切换元件的分步软编程的制作方法
技术领域
本申请涉及非易失性数据存储的技术。
背景技术
各种材料显示出可逆的电阻率切换行为,这样可以适合用于存储器元件。具有可逆电阻率切换行为的一种类型的材料被称为电阻改变存储器(ReRAM)。已经提出过渡金属氧化物用于ReRAM。在施加足够的电压、电流或者其他激励时,可逆电阻率切换材料切换到稳定的低电阻状态,这有时被称为设置器件。此电阻率切换是可逆的,以便随后施加适当的 电压、电流或者其他激励可以用于将该可逆电阻率切换材料返回到稳定的高电阻状态,这有时被称为复位器件。此转换可以重复许多次。低电阻状态有时被称为“开启(on)”状态。高电阻状态有时被称为“关闭(off)”状态。对于一些切换材料,初始状态是低电阻状态而不是闻电阻。关心这些切换材料在非易失性存储器阵列中的使用。一种类型的存储器阵列被称为交叉点阵列,其是通常沿着X轴(例如字线)并沿着I轴(例如位线)布置的存储器元件的矩阵。数字值可以存储为存储器电阻(高或低)。可以通过向连接到所选存储器元件的位线和字线提供适当的电压来读取存储器单元的存储器状态。电阻或存储器状态可以作为连接到所选存储器单元的位线的输出电压被读取。例如,一个电阻状态可以对应于数据“0”,而另一电阻状态对应于数据“I”。一些切换材料可能具有多于两个稳定的电阻状态。用于解释切换机制的一个理论是通过向存储器单元施加电压来形成一个或多个导电丝极(filament)。例如,对于金属氧化物切换元件,导电丝极可以包括一个或多个系列的氧空位(vacancy)。导电丝极降低存储器单元的电阻。电阻的这种初始降低可以被称为“形成”。施加另一电压可以断开导电丝极,由此增加存储器单元的电阻。丝极的断开有时被称为“复位”。施加再另一个电压可以修复导电丝极中的断开,由此再次降低存储器单元的电阻。丝极的断开的修复有时被称为“设置”。在此,形成、复位和设置操作的任意一个可以被认为是编程操作。在对一组存储器单元的编程操作之后,可能希望该组具有紧密的电阻分布。但是,一些传统的技术不实现紧密的电阻分布。例如,在降低电阻的编程操作之后,一些存储器单元可能具有比期望更低的电阻。—些提出的编程技术可能需要高电流水平来完成编程操作。这可能要求支持电路更高的电压和电流需求并增加功耗。对于一些提出的技术,在单个存储器单元中的读取电流水平中,从一个读取到下一读取可能存在变化。例如,一些存储器单元从一个读取到下一读取在读取电流方面可能呈现出2x变化或更大变化。


图IA是具有操纵(steering)元件的存储器单元的一个实施例的简化透视图。图IB是由图IA的多个存储器单元形成的第一存储器级的一部分的简化透视图。图IC是三维存储器阵列的一部分的简化透视图。图ID是三维存储器阵列的一部分的简化透视图。图IE绘出使用FET作为操纵元件的存储器阵列的一部分的一个实施例。图2是存储器系统的一个实施例的框图。
图3绘出可以读取存储器单元的状态的电路。图4绘出编程具有可逆电阻率切换元件的存储器元件的处理的一个实施例。图5A、5B和5C是存储器单元的实施例。图6A是绘出当设置示例存储器单元时电流-电压(I-V)关系的例子的图。图6B是当降低存储器单元的电阻时确定一个或多个编程条件的处理的一个实施例的流程图。图7A是绘出当复位示例存储器单元时电流-电压(I-V)关系的例子的图。图7B是当增加存储器单元的电阻时确定一个或多个编程条件的处理的一个实施例的流程图。图8绘出具有可逆电阻率切换元件的存储器单元的存储器阵列的操作的处理的一个实施例。图9A、图9B、图9C和图9D绘出阵列偏压方案。图IOA描述可以用于部分形成的处理的一个实施例。图IOB描述可以用于形成或设置的完成的处理的一个实施例。图IOC描述可以用于复位的处理的一个实施例。图11是其中形成使用单极性并且使用双极性切换的存储器阵列的操作的处理的一个实施例的流程图。图12A是编程电压幅度和编程电压脉冲宽度之间的关系的一个实施例的图。图12B是编程效果和具有恒定电压幅度的编程电压脉冲之间的关系的一个实施例的图。图13是编程非易失性存储器的处理的一个实施例的流程图。
具体实施例方式在此描述用于操作具有带有可逆电阻率切换元件的存储器单元的非易失性存储器的方法和装置。在此公开的技术可以提供在编程操作之后的可逆电阻率存储器单元的紧密电阻分布。该技术能够对编程操作的至少一些使用较低的最大编程电压。该技术能够对编程操作的至少一些使用较低的最大编程电流。可以降低读取不稳定性。可以改进耐用性性能。当形成、复位或者设置存储器单元时,可以使用在此公开的技术。在此,措辞“编程操作”可以包括但不限于形成、复位和设置。在一些实施例中,适用于具有可逆电阻率切换元件的存储器单元的一个或多个编程条件基于其电阻而确定。一个或多个编程条件的确定还可以基于预定算法,该预定算法可能基于存储器单元的属性。该一个或多个编程条件可以包括编程电压和电流限制。例如,编程电压的幅度可以基于电阻,作为另一例子,编程电压脉冲的宽度可以基于电阻。在一些实施例中,基于存储器单元电阻确定在编程期间使用的电流限制。诸如编程脉冲的转变速率的其他编程条件也可以基于存储器单元的电阻。存储器单元和系统在讨论编程存储器单元的细节之前,将讨论示例的存储器单元和系统。图IA是存储器单元200的一个实施例的简化透视图,该存储器单元200包括在第一导体206和第二导体208之间的与操纵元件204串联耦接的可逆电阻率切换元件202。在一些实施例中,操纵元件204是二极管。在一个实施例中,二极管操纵元件204是p-i-n 二极管。在一个实施例中,P-i-n 二极管包括P掺杂区、本征区和η掺杂区。在一个实施例中,二极管操纵元件204是击穿(punch-thru) 二极管。被用作操纵元件的击穿二极管可以是N+/P-/N+器件或者P+/N-/P+器件。在一个实施例中,二极管操纵元件204是肖特基二极管。在一个实施例中,二极管操纵元件204是背对背肖特基二极管。在一些实施例中,二极管204可以由诸如多晶硅、锗或者另一半导体的多晶半导体材料形成。而且,二极管操纵元件204可以包括多 余一种类型的半导体。例如,二极管204可以由多晶硅-锗合金、多晶锗或者任何其他适当的半导体的组合形成。在一些实施例中,二极管操纵元件204的每个区域242、244、246由相同材料(但是掺杂不同)形成。但是,不要求每个区域由相同的材料形成。例如,异质结构是可能的。但是,操纵元件204不限于是二极管。在一个实施例中,操纵元件204是晶体管。例如,场效应晶体管(FET)可以用于操纵元件204。稍后将描述的图IE绘出了其中操纵元件204是FET的存储器阵列的部分的示意图。存储器单元200具有存储器元件202,该存储器元件202包括可逆电阻率切换材料230、上部电极232和下部电极234。电极232位于可逆电阻率切换材料230和导体208之间。在一个实施例中,电极232由TiN制成。电极234位于可逆电阻率切换材料230和操纵元件204之间。在一个实施例中,电极234由氮化钛制成,并且可以用作阻挡层。存储器单元200具有在存储器单元200的底部处的电极213,以促进操纵元件204和其他电路元件之间的电接触。在一个实施例中,电极213由TiN形成。注意,操纵元件204和存储器元件202的相对位置可以相反。例如,操纵元件204可以在存储器元件202以上。可逆电阻率切换元件202包括具有下述电阻的可逆电阻率切换材料230,该电阻可以可逆地在两个或多个状态之间切换。例如,该可逆电阻率切换材料可以在制造后处于初始的高电阻状态,在施加第一物理信号后,该初始高电阻状态可切换到低电阻状态。例如,可逆电阻率切换元件202可以响应于施加第一数量的能量、电荷、热、电压、电流或其他现象而切换状态。施加第二数量的能量、电荷、热、电压、电流或其他现象可以将该可逆电阻率切换材料返回到高电阻状态。或者,可逆电阻率切换元件可以在制造后处于初始的低电阻状态,在施加适当的能量、电荷、热、电压、电流或其他现象后该低电阻状态可逆地可切换到高电阻状态。当用在存储器单元中时,一个电阻状态可以表示二进制“O”,而另一电阻状态可以表示二进制“I”。但是,可以使用多于两个数据/电阻状态。例如在先前并入的美国专利申请公开2006/0250836中描述了许多可逆电阻率切换材料和采用可逆电阻率切换材料的存储器单元的操作。在一些实施例中,可以由金属氧化物形成可逆电阻率切换材料230。可以使用各种不同的金属氧化物。金属氧化物可以是过渡金属氧化物。金属氧化物的例子包括但不限于Ni0、Nb205、Ti02、Hf02、Al203、Mg0x、Cr02、V0、BN 和 AIN。在一个实施例中,由 TiN 形成存储器兀件电极 232、234。可以在题为“Memory Cell that Employs a Selectively DepositedReversibleResistance Switching Element and Method of Forming the Same,,、2007 年6月29日提交的美国专利申请公开2009/0001343中找到使用可逆电阻率切换材料制造存储器单元的更多信息,通过全部引用将其合并于此。导体206和208可以包括任何适当的导电材料诸如钨、任何适当的金属、重掺杂的半导体材料、导电硅化物、导电硅化物-锗化物、导电锗化物等。在图IA的实施例中,导体206和208是轨形(rail-shaped)并且在不同的(例如基本相互垂直的)方向上延伸。可以使用其他导体形状和/或配置。在一些实施例中,阻挡层、粘附层、增透膜等(未示出)可以与导体206和208 —起使用来改善器件性能和/或辅助器件制造。 尽管在图IA中可逆电阻率切换元件202被示出为位于操纵元件204之上,但是将理解,在替换实施例中,可逆电阻率切换元件202可以位于操纵元件204之下。图IB是由图IA的多个存储器单元200形成的第一存储器级214的一部分的简化透视图。为了简化,没有分开示出可逆电阻率切换元件202和操纵元件204。存储器阵列214是包括多个第一导体206 (例如位线)和多个第二导体208 (例如字线)的“交叉点”阵列,多个存储器单元耦合在该多个第一导体206和多个第二导体208之间(如所示)。可以使用其他存储器阵列配置,如可以使用多级存储器。图IC是单片三维阵列216的一部分的简化透视图,该单片三维阵列216包括位于第二存储器级220以下的第一存储器级218。在图IC的实施例中,每个存储器级218和220包括在交叉点阵列中的多个存储器单元200。将理解,在第一和第二存储器级218和220之间可以存在另外的层(例如级间电介质),但是为了简化未在图IC中示出。可以使用其他存储器阵列配置,如可以使用附加级别的存储器。在一些实施例中,可以如通过全部引用合并于此的美国专利No. 6,952,030“High-Density Three-Dimensional Memory Cell”中所述来形成存储器级。例如,第一存储器级的上部导体可以被用作位于该第一存储器级以上的第二存储器级的下部导体,如图ID所示。单片三维存储器阵列是其中多个存储器级形成在诸如晶片(wafer)的单个基板之上而没有中间的基板的存储器阵列。形成一个存储器级的层直接在已有的一个或多个级上沉积或生长。相对照,已经通过在分离的基板上形成存储器级并将存储器级一个在一个之上粘附来形成堆叠存储器,如在Leedy的美国专利No. 5, 195, 167 “Three DimensionalStructure Memory”中那样。基板在粘合之前可以变薄或者从存储器级移除,但是由于存储器级初始形成在分离的基板上,这样的存储器不是真正的单片三维存储器阵列。图1A-1D示出根据公开的布置的圆柱形的存储器单元以及轨形的导体。但是,在此描述的技术不限于存储器单元的任何一个具体结构。也可以使用其他结构来形成包括可逆电阻率切换材料的存储器单元。例如,以下专利提供了可以适用于使用可逆电阻率切换材料的存储器单元的结构的例子美国专利6,952,043 ;美国专利6,951,780 ;美国专利6,034,882 ;美国专利6,420,215 ;美国专利6,525,953 ;以及美国专利7,081,377。如之前所述,不要求操纵元件204是二极管。图IE绘出使用FET作为操纵元件204的存储器阵列的一部分的示意的一个实施例。每个存储器元件200包括可逆电阻率切换元件202和操纵元件204,该操纵元件204如所述是FET。每个存储器单元200存在于位线和字线之间。所选存储器单元200存在于所选字线和所选位线之间。所选存储器单元200的FET连接到所选栅极线。施加到所选栅极线的电压控制允许流经可逆电阻率切换元件202的电流。例如,可以选择栅极电压以将经过可逆电阻率切换元件202的电流限制到期望的水平。图2是绘出可以实现在此公开的技术的存储器系统300的一个例子的框图。存储器系统300包括可以是如上所述的存储器单元的二维或三维阵列的存储器阵列302。在一个实施例中,存储器阵列302是单片三维存储器阵列。存储器阵列302的阵列端子线包括各个层的被组织为行的字线以及各个层的被组织为列的位线。但是,可以实现其他定向。
存储器系统300包括行控制电路320,该行控制电路320的输出308连接到存储器阵列302的各个字线。行控制电路320接收来自系统逻辑控制电路330的一组M个行地址信号以及一个或多个不同的控制信号,并且通常可以包括如像行解码器322、阵列端子驱动器324和块选择电路326的这样的电路用于读和编程(例如设置和复位)操作两者。存储器系统300还包括列控制电路310,该列控制电路310的输入/输出306连接到存储器阵列302的各个位线。列控制电路306接收来自系统逻辑控制电路330的一组N个列地址信号以及一个或多个不同的控制信号,并且通常可以包括如像列解码器312、阵列端子接收器或驱动器314、块选择电路316这样的电路以及读/写电路和I/O复用器。在一个实施例中,列解码器312是可逆极性解码器电路。在一个实施例中,行解码器322是可逆极性解码器电路。在一个实施例中,可逆极性解码器电路具有在一个模式下的活动的低输出以及在另一模式下的活动的高输出。在通过全部引用合并于此的2006年12月31日提交的美国专利7,542,370中描述了可逆极性解码器电路的进一步细节。系统控制逻辑330接收来自主机的数据和命令并将输出数据提供给主机。在其他实施例中,系统控制逻辑330接收来自分离的控制器电路的数据和命令并将输出数据提供给该控制器电路,该控制器电路与主机通信。系统控制逻辑330可以包括一个或多个状态机、寄存器和用于控制存储器系统300的操作的其他控制逻辑。并入了存储器阵列的集成电路通常将该阵列再分为多个子阵列或块。块可以进一步一起分组为包含例如16、32或者不同数量的块的区(bay)。3-D存储器中的每个块可以具有多层存储器单元。例如,块可以包括8个层。每个层可以包括数百或数千的位线和字线。例如,层可以具有大约一千条位线和大约八千条字线。在一些实现方式中,存在与每个位线相关联的字线驱动器。注意,可以在两条或多条位线之间共享给定驱动器。而且,注意,不要求给定位线仅具有与其相关联的一个驱动器。在一些实现方式中,驱动器中的一些物理地位于位线的一端,并且其他驱动器位于位线的另一端。如经常使用的,子阵列是具有通常不被解码器、驱动器、感测放大器和输入/输出电路打断的连续的字线和位线的连续组的存储器单元。由于各种原因的任何一个而这样做。例如,由字线和位线的电阻和电容引起的向下穿过这样的字线和位线的信号延迟(即RC延迟)在大的阵列中可能是非常大的。可以通过将大的阵列再分为一组更小的子阵列以便减小每条字线和/或每条位线的长度来降低这些RC延迟。作为另一例子,与访问一组存储器单元相关联的电力可以对在给定的存储器周期期间可以同时访问的存储器单元的数量规定上限。从而,大的存储器阵列经常被再分为更小的子阵列以减少同时被访问的存储器单元的数量。但是,为了易于描述,可以与子阵列相同意义使用阵列以指代具有通常不被解码器、驱动器、感测放大器和输入/输出电路打断的连续的字线和位线的连续组的存储器单元。集成电路可以包括一个或多于一个存储器阵列。在一个实施例中,图2中绘出的所有组件被布置在单个集成电路上。例如,系统控制逻辑330、列控制电路310和行控制电路320形成在基板的表面上,并且存储器阵列302是形成在基板以上(并因此在系统控制逻辑330、列控制电路310和行控制电路320以上)的单片三维存储器阵列。在一些情况下,控制电路的部分可以与存储器阵列302的一些形成在相同的层上。图3绘出例示用于读取存储器单元的状态的一个实施例的电路。为了确定可逆电阻切换元件202处于哪个状态,可以施加电压并测量得到的电流。较高的测量的电流指示可逆电阻切换元件202处于低电阻率状态。较低测量的电流指示可逆电阻切换元件202处 于高电阻率状态。图3示出可以基于图1A、1B、1C和ID的实施例的包括存储器单元450、452、454和456的存储器阵列的一部分。在该例子中,操纵元件204是二极管。绘出了许多位线中的两条以及许多字线中的两条。用于位线之一的读取电路被绘出为经由晶体管458连接到位线,该晶体管458由列解码器312提供的栅极电压控制以便选择或者不选择相应的位线。晶体管458将位线连接到数据总线。写电路460 (其是系统控制逻辑330的部分)连接到数据总线。晶体管462连接到数据总线并且操作为由箝位控制电路464(其是系统控制逻辑330的部分)控制的箝位器件。晶体管462还连接到比较器466和参考电流源IKEF。比较器466的输出连接到数据输出端子(连接到系统控制逻辑330、控制器和/或主机)以及连接到数据锁存器468。写电路460也连接到数据锁存器468。当试图读取可逆电阻率切换元件的状态时,所有字线首先被偏压在VreacK例如近似I. 5伏)并且所有位线接地。然后所选字线被拉到地。为了示例的目的,此讨论将假设选择存储器单元450来读取。一条或多条所选位线(通过导通晶体管458)经过数据总线和箝位器件(晶体管462,其接收 I. 5伏+Vt)被拉到Vread。箝位器件的栅极在Vread之上,但是被控制为保持位线在Vread附近。电流被所选存储器单元拉动从Vsense节点经过晶体管462。Vsense节点还接收在高电阻状态电流和低电阻状态电流之间的参考电流IKEF。Vsense节点对应于单元电流和参考电流Ikef之间的电流差而行动(move)。比较器466通过比较Vsense电压与VMf_Mad电压而产生数据输出信号。如果存储器单元电流大于Ikef,则存储器单元处于低电阻状态,并且处于Vsense的电压将低于VKEF。如果存储器单兀电流小于IKEF,则存储器单兀处于高电阻状态,并且处于Vsense的电压将高于VKEF。来自比较器466的数据输出信号被锁存在数据锁存器468中。在一些实施例中,参考电流是基于存储器单元的地址。图4是使用分步(st印)初始化来编程非易失性存储器的处理500的一个实施例的流程图。编程操作可以是形成、设置或复位。在处理500的描述中,为了易于说明描述一个存储器单元的编程。注意,一次可以编程多于一个存储器单元。在步骤502,确定指示要被编程的存储器单元的电阻的信息。在一个实施例中,通过确定当在存储器单元两端施加读取电压时传导的电流来确定该信息。在一些实施例中,步骤502确定响应于施加到存储器单元的某个读取电压该存储器单元传导什么电流。例如,步骤502可以确定该存储器单元的导电电流落在几个电流范围的哪个之内。在电流水平的此确定之后,稍后的步骤可以进行。但是,注意,导电电流是存储器单元的电阻的函数。例如,参考图3,电压Vread可以施加在存储器单元两端,并且可以将传导的电流与参考电流(例如Iref)相比较。基于该比较可以确定存储器单元的电阻高于或低于某个电阻。在步骤504,基于指示电阻的信息确定编程是否完成。如果是,则处理500结束。例如,如果编程操作是形成操作,则存储器单元的电阻可以与用于形成的目标电阻相比较。如果存储器单元的电阻小于目标电阻,则可以认为形成处理完成。如果编程操作是复位操作,则可以与目标复位电阻相比较。如果存储器单元的电阻大于该目标复位电阻,则可以认为复位处理完成。如果编程操作是设置操作,则可以与目标设置电阻相比较。如果存储器单元的电阻小于该目标设置电阻,则可以认为该设置处理完成。如上所述,指示电阻的信息可以是电流。因此,可以使用电流水平而不是电阻来进行实际的比较。
·
如果编程操作还未完成,在步骤506,基于指示电阻的信息和预定算法确定一个或多个编程条件。该预定算法可以基于存储器单元的属性。对于具有不同材料的存储器单元可以使用不同的算法。例如,对于具有金属氧化物切换元件的存储器单元可以使用一个算法,并且对于具有碳切换元件的存储器单元可以使用另一算法。该算法可以是存储器单元的电阻(或者指示电阻的某些信息、比如从施加的电压得到的电流)的函数。编程条件可以包括但不限于编程电压和电流限制。例如,可以基于电阻和预定算法确定编程电压的幅度。作为另一例子,可以基于电阻和预定算法确定编程电压脉冲的宽度。在一些实施例中,在编程期间存储器单元可获得的电流被限制。可以基于存储器单元的电阻和预定算法确定电流限制。注意,不要求所有上述编程条件都基于存储器单元的电阻和预定算法。例如,这些编程条件中的一个、两个(任意组合)或所有三个可以基于电阻和预定算法。而且,还可以基于存储器单元的电阻和预定算法确定其他编程条件。例如,编程信号的其他参数、比如其转变速率(transition rate)可以是存储器单元的电阻和预定算法的函数。转变速率的一个例子是电压脉冲的斜率。在步骤508,来自步骤506的一个或多个编程条件被应用于存储器单元。因此,该一个或多个编程条件可以是存储器单元的电阻的函数。例如,编程电压的幅度和/或脉冲宽度可以是存储器单元的电阻的函数。而且如所述,在编程时存储器单元可获得的电流可以被限制为基于电阻确定的值。然后,处理500返回到步骤502以重新确定指示存储器单元的电阻的信息。处理500可以继续直到编程完成。因此,对于下一迭代,可以应用不同组的一个或多个编程条件。在一些情况下,在处理500的相继的迭代中可以应用相同的编程条件。例如,如果存储器单元的电阻不改变很多,则可以再次应用相同的编程条件。注意,一些存储器单元可能比其他存储器单元编程得更快。因此,一些存储器单元可能步进经过(step through)比其他存储器单元更快的编程处理。换句话说,一些存储器单元可能进行处理500的更少迭代。图5A、5B和5C绘出具有金属氧化物切换元件230的存储器单元202的实施例。这些例子将用于帮助说明编程条件的某个序列为何可以用于具有金属氧化物的器件。换句话说,为何可以使用某个预定算法。随着编程进行使用不同编程条件(例如使用不同的预定算法)的一般原则可以应用于具有除了金属氧化物之外的材料的存储器单元。图5A绘出可以用在存储器单元202的一个实施例中的材料的一个例子。顶部电极232和底部电极234每个是TiN。可逆电阻率切换材料是Hf02。因此,在此例子中,切换材料是金属氧化物。但是,可以使用不同的金属氧化物。图5B绘出可以用在存储器单元202的一个实施例中的材料的例子。作为一个例子,HfO2可以是大约6-8nm厚并且氧化硅(SiO2)可以是1.5-2nm厚。在一些实施例中,在一个或多个编程步骤期间SiO2层237可能被破坏。随后的编程步骤可以形成(或设置)HfO2层230。例如,编程步骤可以致使在HfO2层中形成氧空位。最终,可以从HfO2层230的顶部到底部形成一系列的氧空位。但是,以下是可能的如果编程电压脉冲的幅度太大,HfO2层230本身可能过度受压(over stressed)。HfO2层230的过度受压可能损坏存储器单元202。在一些实施例中,随着设置(或形成)进行降低编程电压的幅度以便可以避免金属氧化物层230的过度受压。注意,不要求顶部和底部电极是相同的材料。图5C绘出存储器单元202的一个实·施例,其中底部电极234是重掺杂的硅,并且顶部电极是TiN。在此实施例中,在HfO2层230和顶部电极232之间存在可选的氧化钛238的区域。注意,在此公开的用于编程的技术不限于金属氧化物切换元件。对于其他材料,可以建立与金属氧化物不同的编程条件。编程基于碳的切换元件的一个例子讨论如下。图6A是绘出当设置示例的存储器单元时电流-电压(I-V关系的例子的图。该示例曲线可以用于其中切换元件是金属氧化物的一个实施例。这些I-V曲线将用于帮助说明为何可以使用某些编程条件。如果切换元件是不同类型的材料,则I-V曲线可能具有不同的形状。因此,对不同的编程材料可以使用不同的编程条件。该图绘出四条I-V曲线551-554。每条曲线表示对于示例存储器单元的设置处理的不同阶段。对于这些曲线的至少某部分,I-V曲线的斜率可以用于近似存储器单元的电导(conductance)。例如,对于处于较低电压的曲线,可能存在在此被称为“读取区域”的区域。但是,可能存在发生在较高电压处的某些击穿(breakdown)。对于一些实施例,在编程期间,可能靠近击穿区域或在击穿区域中操作切换材料。注意,在击穿时,电流可能急剧增力口。作为例子,对于曲线551的较低电压,可以基于I-V曲线的斜率来近似存储器单元的电导。因为电压的某些可能跨其他电路元件(例如操纵元件、位线、字线)显现,这应该被计算在内。在较高电压处击穿的一个可能原因是存储器单元的金属氧化物可能在较高电压处损坏。击穿可能存在其他原因。对于一些存储器单元,可能希望在编程期间将编程电压保持在读取区域以便避免金属氧化物的击穿。这样做的一个原因是金属氧化物的电压击穿可能损害存储器单元。一个I-V曲线551可以表示当存储器单元的电阻是高时设置处理的开始的I-V关系。另一曲线552可以表示在已经施加至少一个编程信号之后的I-V关系,因此,存储器单元的电阻较低。第三和第四曲线(553,554)可以表示当存储器单元的电阻更低时设置处理的稍后的阶段。如从曲线551-554可以看出,随着设置操作前进,读取区域的斜率增加。此夕卜,随着存储器单元的电阻降低,击穿区域发生在更低编程电压处。在一些实施例中,在设置期间使用的编程电压的幅度随着存储器单元的电阻的下降而降低。绘出了四个示例的电压V1-V4。如以上讨论例示的,对于某些器件,这可以帮助防止进入存储器单元的击穿区。在编程的一些实施例中,在编程期间存储器单元可获得的电流有限。此电流限制在此可以称为“Icomp”。将再次参考图6A以说明为何这对一些器件是有益的。如果电压Vl被施加到存储器单元,则其将趋向于将存储器单元移动到具有更低电阻的曲线。例如,假设存储器单元具有会将其置于曲线551的读取区域的电阻。如果施加电压VI,则这将可以将存储器单元的电阻朝向诸如552或553的曲线移动。但是,注意,对于曲线553,击穿电压发生在比曲线552更低的电压处。因此,如果由于施加Vl存储器单元的电阻下降太多,则会发生电压击穿。但是,将电流限制到Icompl可以帮助防止存储器单元的金属氧化物的电压击穿。换句话说,存储器单元可能被移动到曲线552,但是可以防止其移动到曲线553。绘出了四个示例的补偿电流Icompl-Icomp4。在一个实施例中,当使用Vl时使用Icompl,I comp 2与V2 —起使用,等等。在一些实施例中,编程信号是具有幅度和宽度的脉冲。对于至少一些存储器单元200,在电压幅度和脉冲宽度之间可能存在关系。例如,如果使用更窄的脉冲宽度,则可以使 用更大幅度的电压来实现存储器单元电阻的相同改变。图12A是对于一个实施例的电压幅度相对脉冲宽度的关系的图。曲线1202表示可以实现大约相同的编程效果(例如存储器单元电阻的改变)的点。例如,对于脉冲宽度“t”,电压Va可以实现给定的编程效果。对于脉冲宽度10t,可以使用电压Vb。对于具有IOOt的脉冲,可以使用电压Vc。因此,对于更长的脉冲宽度,可以使用更低的编程电压。对于一些实施例,关系可以是每十进位(decade)大约.25V。但是,不同的材料可能呈现不同的关系。图12B以另一种方式示出编程电压和脉冲宽度之间的关系。在图12B中,每个曲线表示一个编程电压幅度。例如,曲线1230可以对应于图12A中的Vc,曲线1220可以对应于图12A中的Vb,并且曲线1210可以对应于图12A中的Va。如可以看出,通过适当选择电压幅度,可以使用不同的脉冲宽度实现相同的编程效果。解释基于存储器单元电阻和算法编程的益处的一种方式是传递给存储器单元的功率水平更一致。例如,随着电流水平增加,降低的电压水平(和/或更短的脉冲宽度)可以提供各个编程脉冲之间的更恒定的功率水平。以上讨论指出存储器单元的各个属性可能影响随着编程操作进行应该使用哪些编程条件。因此,存储器单元的属性可能影响在编程期间使用的预定算法应该具有的特性。图6B是基于存储器单元的电阻(和预定算法)确定存储器单元的一个或多个编程条件的处理600的一个实施例的流程图。处理600还确定编程操作是否完成。因此,处理600是图4的步骤504-506的一个实施例。在一个实施例中,当形成存储器单元时使用处理600。在一个实施例中,当设置存储器单兀时使用处理600。处理600还可以用于金属氧化物切换元件、碳切换元件或者另一类型的切换元件。图6A的示例I-V曲线可以用于帮助说明处理600。但是,注意,处理600可应用于具有不同类型的I-V曲线的器件。在处理600中,使用存储器单元的导电电流来进行电阻确定。如上所述,导电电流可以是存储器单元的电阻的函数。例如,参考图3,在读取操作期间可以在存储器单元两端施加电压Vread。此电压的部分也可以跨过操纵元件和所选字线及位线。在处理600中,存储器单元的导电电流(Iread)与四个不同的参考电流比较。在一个实施例中,进行四个不同的读操作,每次存储器单元导电电流与不同的参考电流(11-14)比较。图3的电路可以用于在每个读取操作时对不同的参考电流进行测试。在一个实施例中,进行单个读取操作,导电电流与四个不同的参考电流比较。图3的电路可以是在系统读取操作期间对四个不同的参考电流的修改的测试。通常,处理600描述其中在施加编程脉冲之后(或可能在开始编程之前)存储器单元导电电流与参考电流比较的流程。处理600中的第一测试可以对应于确定存储器单元的导电电流是否非常低的测试,导电电流非常低对应于高电阻。通常,处理600比较存储器单元的导电电流(Iread)与高达四个不同的参考水平(见步骤602、606、610、614)。可以使用不同数量的参考电流水平。按其中存储器单元可能经历编程的顺序描述处理600。当正使用编程操作来降低存储器单元的电阻时使用处理600。因此,第一测试(步骤602)是针对相对低的电流,这对应于相对高的电阻。接下来的步骤针对越来越高的电流(越来越低的电阻)。注意,其中进行测试(步骤602、606、610和614)的顺序可以是任意的。
处理600涉及四个不同的编程电压幅度V1-V4。每个编程电压对应于导电参考电流(11-14)之一。在一个实施例中,随着存储器单元的电阻降低到下一水平,编程电压的幅度可以变得更小。但是,编程电压V1-V4彼此之间可以具有任意关系。处理600涉及四个不同的编程电压脉冲宽度,宽度I-宽度4。这些宽度也对应于导电电流(11-14)之一。在一个实施例中,随着存储器单元的电阻降低,编程电压的脉冲宽度变得更宽。但是,代替地,每个相继的脉冲宽度可以更窄。在一个实施例中,每个脉冲具有相同的宽度。脉冲宽度彼此之间可以具有任意关系。处理600涉及四个不同的编程电流限制(Icompl_Icomp4)。这些也对应于导电参考电流(11-14)之一。在一个实施例中,随着存储器单元的电阻降低,编程电流限制变得更大。但是,代替地,每个相继的电流限制可以更小。在一个实施例中,每个电流限制可以相同。编程电流限制可以与存储器单元的电阻具有任意关系。电压幅度、脉冲宽度和编程电流限制的序列可以被认为是预定算法。编程条件的各种值可以存储在存储器器件上的控制逻辑中的或者非易失性存储元件中的表中。可以通过训练(exercise)存储器器件上的单元组的集合来选择算法,其中通过测试控制硬件对集合中的每组给定不同的算法,并且通过测试控制硬件选择算法并将其编码到芯片上的非易失性存储器位中。在步骤602,确定导电电流(Iread)是否大于第一参考电流(II)。如所述,Il可以是被设计用于对于相对高的电阻进行测试的相当低的参考电流。如果Iread小于II,则进行步骤604以建立一个或多个编程条件。换句话说,如果存储器单元电阻高于所针对测试的该相对高的电阻,则进行步骤604。在步骤604,编程信号可以被设置到电压幅度VI。在一个实施例中,Vl将是在处理600中使用的最高幅度的编程电压。脉冲宽度可以被设置为W1。在一个实施例中,Wl将是在处理600中使用的最窄宽度。电流限制可以被设置为Icompl。在一个实施例中,该电流限制将是在处理600中使用的最小电流限制。如果进行步骤604,处理600完成。然后,可以进行图4的步骤508以应用一个或多个编程条件。如果导电电流(Iread)不小于第一参考电流(II),则将导电电流(Iread)与第二参考电流(12)比较。第二参考电流(12)可以大于第一(II),以便针对更低的电阻进行测试。如果导电电流(Iread)小于12,则在步骤608中建立一个或多个编程条件。编程信号可以被设置为电压幅度V2。在一个实施例中,V2小于VI。脉冲宽度可以被设置为W2。在一个实施例中,W2比Wl更窄。注意,电压幅度和宽度两者在处理期间可以改变。或者,一个可以改变并且另一个(至少对于某些步骤)保持固定。例如,随着电阻变得更低,存储器单元可能需要更小的电压来进一步降低电阻。如果随着电阻下降操作电压保持相同,则可以使用更窄的脉冲宽度来提供更小的有效电压,这示出在图12A中。电流限制可以被设置为Icomp2o Icomp2可以大于Icompl。然后处理600完成。接下来,可以进行图4的步骤508以应用编程信号。如果导电电流(Iread)不小于第二参考电流(12),则将导电电流(Iread)与第三参考电流(13)比较。如果导电电流(Iread)小于13,则在步骤612建立一个或多个编程条件。编程信号可以被设置为电压幅度V3。在一个实施例中,V3小于V2。脉冲宽度可以被设置为W3。在一个实施例中,W3比W2更窄。电流限制可以被设置为Icomp3。Icomp3可以大于Icomp2。然后处理600完成。接下来,可以进行图4的步骤508以应用编程信号。
如果导电电流(Iread)不小于第三参考电流(13),则将导电电流(Iread)与第四参考电流(14)比较。如果导电电流(Iread)小于14,则在步骤616建立一个或多个编程条件。编程信号可以被设置为电压幅度V4。在一个实施例中,V4小于V3。脉冲宽度可以被设置为W4。在一个实施例中,W4比W3更窄。电流限制可以被设置为Icomp4。Icomp4可以大于Icomp3。然后处理600完成。接下来,可以进行图4的步骤508以应用编程信号。如果导电电流(Iread)不小于第四参考电流(14),则这指示不需要进一步的编程。换句话说,存储器单元的电阻已被降低到目标水平。因此,此情况是图4的步骤504的一个实施例。图7A是绘出当复位示例存储器单元时电流-电压(I-V)关系的例子的图。该例子可以对应于其中切换元件是金属氧化物的一个实施例。注意,不同类型的存储器单元可能具有不同的I-V关系。例如,如果切换元件是碳,则I-V曲线可以不同于图7A的例子。而且注意,不同类型的金属氧化物可能呈现出不同的属性。而且,存储器单元的其他元件、t匕如操纵元件可能影响曲线的形状。而且注意,一些存储器单元可能具有可能影响ι-v曲线的形状的氧化硅的区域。该图绘出四个I-V曲线751-754。每条曲线表示对于示例存储器单元的复位处理的不同阶段。对于这些曲线的至少某部分,I-V曲线的斜率可以用于近似存储器单元的电导。但是,可能存在发生在较高电压处的某些击穿。例如,对于曲线751的较低电压,可以基于I-V曲线的斜率近似存储器单元的电导。因为电压的某些可能跨其他电路元件(例如操纵元件、位线、字线)显现,这应该被计算在内。在较高电压处击穿的一个可能原因是存储器单元的金属氧化物可能在较高电压处损坏。对于一些存储器单元,可能希望在编程期间将编程电压保持在硬(hard)击穿区域以下以便避免金属氧化物的完全击穿。这样做的一个原因是金属氧化物的电压击穿可能是有损害的。一个I-V曲线751表示当存储器单元的电阻是低时复位处理的开始的I-V关系(如由读取区域中的相当高的斜率指示的)。另一曲线752表示在已经施加至少一个编程信号之后因此存储器单元的电阻较高的I-V关系(如由读取区域中的稍低的斜率所指示的)。第三和第四曲线(753,754)表示当存储器单元的电阻更高时复位处理的稍后的阶段。如从曲线751-754可以看出,随着复位操作前进,读取区域的斜率降低。此外,随着存储器单元的电阻增加,击穿区域发生在更高编程电压处。在一些实施例中,在复位期间使用的编程电压的幅度随着存储器单元的电阻的增加而增加。这可以帮助防止进入击穿区域。而且注意,可以调整Icomp以防止存储器单元将电阻降低得太快。这还可以帮助防止进入击穿区域。例如,Icomp在复位处理期间可以降低。图7B是基于存储器单元的电阻确定存储器单元的编程信号的处理640的一个实施例的流程图。可以在增加存储器单元的电阻的编程操作期间使用处理640。在一个实施例中,当复位存储器单元时使用处理640。但是,处理640不限于复位。处理640还确定编程操作是否完成,因此,处理640是图4的步骤504-506的一个实施例。通常,处理640描述其中在施加编程脉冲之后(或可能在开始编程之前)存储器单 元导电电流与参考电流比较的流程。第一测试可以对应于确定存储器单元的导电电流是否非常高的测试,导电电流非常高对应于低电阻。通常,处理640比较存储器单元的导电电流(Iread)与高达四个不同的参考水平(11-14)。注意,这些是与处理600不同的参考电流。按其中存储器单元将通常经历编程的顺序描述处理640。当正使用编程操作来增加存储器单元的电阻时使用处理640。因此,第一测试(步骤642)是针对相当高的电流,这对应于相当低的电阻。接下来的步骤针对越来越低的电流(越来越高的电阻)。注意,其中进行测试(步骤642、646、650和654)的顺序可以是任意的。注意,处理640中的参考电流是与处理600不同的参考电流。处理640涉及四个不同的编程电压幅度V1-V4。注意,这些与处理600的电压不同。每个编程电压对应于在处理640中使用的导电电流(I 1-14)之一。在一个实施例中,随着在复位操作期间存储器单元的电阻增加到下一水平,编程电压的幅度可以变得更大。但是,编程电压V1-V4彼此之间可以具有任意关系。处理640涉及四个不同的编程电压脉冲宽度W1-W4。这些宽度也对应于导电电流(11-14)之一。注意,W1-W4与处理600中使用的宽度不同。在一个实施例中,随着存储器单元的电阻增加,编程电压的脉冲宽度变得更宽。但是,代替地,每个相继的脉冲宽度可以更窄。在一个实施例中,每个脉冲具有相同的宽度。脉冲宽度彼此之间可以具有任意关系。处理640涉及四个不同的电流限制(Icompl_Icomp4)。这些也对应于导电电流(11-14)之一。注意,这些与处理600中使用的电流限制不同。在一个实施例中,随着存储器单元的电阻增加,电流限制变得更低。但是,代替地,每个相继的电流限制可以更大。在一个实施例中,每个电流限制相同。电流限制可以与存储器单元的电阻具有任意关系。在步骤642,确定导电电流(Iread)是否大于第一参考电流(II)。第一参考电流可以是相对高的电流以便针对相对低的电阻进行测试。如果Iread大于II,则进行步骤644以建立一个或多个编程条件。换句话说,如果存储器单元电阻低于被测试的该相对低的电阻,则进行步骤644。在步骤644,编程信号可以被设置到电压幅度VI。在一个实施例中,Vl将是在处理600中使用的最低幅度的编程电压。脉冲宽度可以被设置为W1。在一个实施例中,Wl将是在处理640中使用的最短宽度。电流限制可以被设置为Icompl。在一个实施例中,该电流限制将是在处理640中使用的最大电流限制。如果进行了步骤644,处理640完成。然后,可以进行图4的步骤508以应用一个或多个编程条件。如果导电电流(Iread)不大于第一参考电流(II),则将导电电流(Iread)与第二参考电流(12)比较。第二参考电流(12)可以小于第一(II),以便针对更高的电阻进行测试。如果导电电流(Iread)大于12,则在步骤648中建立一个或多个编程条件。编程信号可以被设置为电压幅度V2。在一个实施例中,V2大于VI。脉冲宽度可以被设置为W2。在一个实施例中,W2比Wl更宽。电流限制可以被设置为Icomp2。Icomp2可以小于Icompl。然后处理600完成。接下来,可以进行图4的步骤508以应用编程信号。如果导电电流(Iread)不大于第二参考电流(12),则将导电电流(Iread)与第三参考电流(13)比较。如果导电电流(Iread)小于13,则在步骤652建立一个或多个编程条件。编程信号可以被设置为电压幅度V3。在一个实施例中,V3大于V2。脉冲宽度可以被设置为W3。在一个实施例中,W3比W2更宽。电流限制可以被设置为Icomp3。Icomp3可以小于Icomp2。然后处理640完成。接下来,可以进行图4的步骤508以应用编程信号。
·
如果导电电流(Iread)不大于第三参考电流(13),则将导电电流(Iread)与第四参考电流(14)比较。如果导电电流(Iread)大于14,则在步骤656建立一个或多个编程条件。编程信号可以被设置为电压幅度V4。在一个实施例中,V4大于V3。脉冲宽度可以被设置为W4。在一个实施例中,W4比W3更宽。电流限制可以被设置为Icomp4。Icomp4可以小于Icomp3。然后处理600完成。接下来,可以进行图4的步骤508以应用编程信号。如果导电电流(Iread)不大于第四参考电流(14),则这指示不需要进一步的编程。如上所述,14可以是相对低的电流以便针对相对高的电阻进行测试。因此,如果Iread不大于14,则存储器单元的电阻已经增加到目标水平。因此,此情况是图4的步骤504的一个实施例。注意,对于不同的存储器单元材料,一个或多个编程条件可能不同。换句话说,对于不同的材料可以使用不同的预定算法。例如,对金属氧化物可以使用与对于碳不同的编程条件。表I描述了可以用于具有金属氧化物切换元件的存储器单元的编程条件。在一个实施例中,表I适用于复位。随着电阻增加的该序列可以被认为是预定算法。表I
读取电流__电压幅度_脉冲宽度_
最高最低最低最短第二高第二低第二低第二短第三高第三低第三低第三短最低_最高_最高_最长_表2描述了可以用于具有碳切换元件的存储器单元的编程条件。在一个实施例中,表2适用于复位。随着电阻增加的该序列可以被认为是预定算法。表权利要求
1.一种操作非易失性存储器的方法,该方法包括 确定指示具有可逆电阻率切换存储器元件的存储器单元的电阻的信息(502); 基于该信息确定编程操作是否完成(504); 基于该信息和预定算法确定要应用于存储器单元的一个或多个编程条件,该预定算法是基于具有可逆电阻率切换存储器元件的存储器单元的属性,如果编程操作还未完成,则进行所述确定一个或多个编程条件(506); 如果编程操作还未完成,将该一个或多个编程条件应用于存储器单元(508);以及 重复确定指示电阻的信息、确定操作是否完成、确定一个或多个编程条件以及应用一个或多个编程条件,直到确定编程操作完成。
2.如权利要求I的方法,其中基于指示电阻的信息确定要应用于存储器单元的一个或多个编程条件包括 如果指示电阻的信息在第一值和第二值之间,则确定第一编程信号,并且如果指示电阻的息在该第二值和第二值之间,则确定第二编程号。
3.如权利要求2的方法,其中该第二编程信号具有与该第一编程信号的电压幅度不同的电压幅度。
4.如权利要求3的方法,其中该第二编程信号具有与该第一编程信号不同的脉冲宽度。
5.如权利要求I到4的任意一项的方法,其中确定编程信号包括基于指示电阻的信息确定电压脉冲的一个或多个特性。
6.如权利要求I到5的任意一项的方法,其中该预定算法是基于对该可逆电阻率切换存储器元件使用的材料的类型。
7.如权利要求I到6的任意一项的方法,其中基于指示电阻的信息确定要应用于存储器单元的一个或多个编程条件包括 确定在将编程信号应用于存储器单元时存储器单元的电流限制,该电流限制是基于指不电阻的信息。
8.如权利要求I到7的任意一项的方法,其中该预定算法是基于在编程操作期间的电流-电压关系。
9.如权利要求I到8的任意一项的方法,还包括 确定已经达到尝试编程操作的次数的重试限制,该编程操作包括向存储器单元应用具有第一极性的信号;以及 向存储器单元应用具有与第一极性相反的第二极性的一个或多个编程电压。
10.一种存储系统,包括 多个非易失性存储器单元,各个存储器单元包括可逆电阻率切换存储器元件;以及 与该多个非易失性存储器单元通信的一个或多个管理电路,该一个或多个管理电路确定指示存储器单元中的第一存储器单元的电阻的信息,作为编程操作的部分,该一个或多个管理电路基于该信息确定对于该存储器单元的编程操作是否完成,该一个或多个管理电路基于指示电阻的该信息以及预定算法确定要应用于该存储器单元的编程信号,该预定算法是基于具有可逆电阻率切换存储器元件的存储器单元的属性,如果编程操作还未完成,则进行确定编程信号,如果编程操作还未完成,该一个或多个管理电路向存储器单元应用该编程信号,该一个或多个管理电路继续确定指示电阻的信息、确定编程操作是否完成、确定编程信号并且应用该编程信号,直到确定对于该存储器单元的编程操作完成。
11.如权利要求10的器件,其中作为确定编程信号的部分,该一个或多个管理电路基于指示电阻的信息确定电压脉冲的一个或多个特性。
12.如权利要求11的器件,其中该特性包括该脉冲的电压幅度。
13.如权利要求11或12的器件,其中该特性包括脉冲宽度。
14.如权利要求10到13的任意一项的器件,其中该一个或多个管理电路确定在向存储器单元应用编程信号时要使用的存储器单元的电流限制,该电流限制是基于指示电阻的信肩、O
15.如权利要求10到14的任意一项的器件,其中该预定算法是基于在编程操作期间的电流-电压关系。
全文摘要
公开了用于形成、复位和设置存储器单元的方法和系统。要应用于具有可逆电阻率切换元件的存储器单元的一个或多个编程条件可以基于其电阻确定。确定一个或多个编程条件还可以基于预定算法,该预定算法可以基于存储器单元的属性。该一个或多个编程条件可以包括编程电压和电流限制。例如,编程电压的幅度可以基于电阻。作为另一例子,编程电压脉冲的宽度可以基于电阻。在一些实施例中,基于存储器单元电阻确定在编程期间使用的电流限制。
文档编号G11C13/00GK102893338SQ201180019680
公开日2013年1月23日 申请日期2011年2月18日 优先权日2010年2月18日
发明者X.C.科斯塔, R.朔伊尔莱恩, A.班迪奥派迪亚, B.勒, X.李, T.杜, C.R.格拉 申请人:桑迪士克3D有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1