实施方式
本案发明的多种实施例将详细介绍并与图式一同参考,其中相同符号标示代表相同部分以及相同装配在数个图式中。作为参考的多种实施例并不用以限制本发明的范围,其应仅由此处所附的权利要求书所限制。另外,在本说明书所述的任何例子并不意在限制并且仅叙述许多可能的实施例中的一些,对于申请专利范围的发明。
透过说明书以及权利要求书,以下术语至少具有与此处明确关联的意义,除非文中另有指定。以下确认的意义并非该术语必要的限制,而仅提供对于该术语的举例说明。“一”、“一个”以及“该”的意义包括多个基准,以及“在…之中”包括“在…之中”以及“在…之上”。使用于本文的句子“在一实施例中,”并非必须涉及一些实施例,尽管可能有提到。同样地,使用于本文的句子“在一些实施立中,”当多次使用时,并非必须涉及一些实施例,尽管可能有提到。如本文所使用,术语“或”为包含“或”运算子,以及同等于术语“及/或”,除非文中另有清楚的指出。术语“基于…部分…之上”、“基于…至少部分…之上”,或“基于…之上”并不仅止于并且允许为基于未描述的额外因素之上,除非文中另有清楚的指出。术语“耦合”意指至少以下两个之一,在物件连接之间直接电性连接,或是通过一个或多个被动或主动中介装置间接连接。术语“信号”意指至少一电流、电压、电荷、温度、数据或是其他信号。
简单来说,本发明是相关于记忆体装置,其包括具有磁区的记忆体单元区,其中每一个磁区包括记忆体单元。该记忆体装置还包括记忆体控制器,用以控制程序运算以及对该记忆体单元抹除运算。在对于该记忆体单元抹除运算期间,发生在其中每一个未编程记忆体单元于正被抹除的磁区中的预编程,借由施加至少一个编程脉冲于程序电压予以编程,直到程序验证通过。之后,基于直到该程式验证通过为止所施加的编程脉冲的数量调整该程序电压。在该磁区中随后的程序运算期间,施加有该调整过的程序电压的编程脉冲。
图1显示记忆体环境于可能运用的本发明的实施例。并非需要绘示于该图中的所有组件以实行本发明,以及可使用各种布置以及组件种类在不悖离本发明的精神或范围内。举例来说,尽管所描述的本发明的一些实施例是于MirrorBitTMNOR快闪记忆体的背景下,本文所描述的制成品可运用在生产其他种类的微电子记忆体或装置,例如其他各种类型的快闪记忆体。
如图所示,记忆体100包括阵列记忆体110以及记忆体控制器130。记忆体控制器130经安排以越过信号路径106通信寻址数据以及程序数据。举例来说,信号路径106可提供8、16或更多I/O线路的数据。记忆体控制器130也配置成越过信号路径103存取阵列记忆体110。举例来说,记忆体控制器130可经由信号路径103在部分的阵列记忆体110读取、写入、抹除以及执行其他运算。另外,尽管显示为单一线路,信号路径130及/或信号路径106可散布跨过多个的信号线及/或总线。
阵列记忆体110包括记忆体磁区120(分别地识别为磁区1-i),其可经由记忆体控制器130被存取。举例来说,记忆体磁区120可包括256、512、1024、2048或更多个具有可分别地或统一地存取的记忆体单元的磁区。在其他的例子中,记忆体磁区的数量及/或配置可以不相同。于一实施例中,举例来说,磁区120可表示为更一般如记忆体区块及/或可配置成具有不同于位元线、字线及/或磁区拓扑的构造(configuration)。
记忆体控制器130包括解码器组件132、电压产生器组件134以及控制器组件136。于一实施例中,记忆体控制器130可位于与阵列记忆体110相同的晶片上。于另一实施例中,记忆体控制器130可位于不同的晶片上,或是部分的记忆体控制器130可位于另一晶片上或晶片外。举例来说,解码器组件132、控制器组件134以及电压产生器组件136可位于不同的晶片上,但共同位于相同的电路板上。于其他的例子中,记忆体控制器130的其他实行方式是有可能的。举例来说,记忆体控制器130可包括可编程的微控制器。
解码器组件132可经安排以经由寻址信号路径106接收记忆体位址以及根据阵列记忆体110的结构以选择个别磁区、阵列或单元。
解码器组件132包括,举例来说,多工器电路、放大器电路、组合逻辑等等,用于基于任何种类的寻址方案(addressing schemes)来选择磁区、阵列及/或单元。举例来说,记忆体的一部分(或是一组位元)可辨认阵列记忆体110中的一磁区以及另一部分(或另外一组位元)可辨认特定磁区中的一核心单元阵列。
电压产生器组件134经安排以接收一个或更多供应电压(未图示)以及提供读取、写入、抹除、预编程、软编程及/或欠抹除(under-erase)验证运算所需要的各种参考电压。举例来说,电压产生器组件134可包括一个或多个级联电路(cascade circuit)、放大器电路、调整电路(regulator circuit)及/或开关电路,其可借由控制器组件136来控制。
控制器组件136经安排以协调记忆体100的读取、写入、抹除以及其他运算。于一实施例中,控制器组件136经安排以接收并传送来自于上游系统控制器(未图示)的数据。这类的系统控制器可包括,举例来说,一处理器以及一静态随机存取记忆体(SRAM),其可载入可执行处理器指令以于信号路径106上通讯。于另外的实施例中,控制器组件136与记忆体控制器130的其他部分可嵌入或以其他方式合并进入系统控制器或系统控制器的一部分中。该记忆体控制器可包括具有处理器可执行码编码在其中的处理器可读媒体,其中当由在记忆体控制器130中的一个或多个处理器执行时,致能动作。
控制器组件136的实施例可包括状态机及/或比较器电路。状态机以及比较器电路可包括用于调用各式各样(myriad)的演算法的任何多种类电路,以执行记忆体100的读取、写入、抹除或是其他运算。状态机以及比较器电路也可包括,举例来说,比较器、放大器电路、感应放大器、组合逻辑等等。
在一些实施例中,记忆体100为包括基于快闪的记忆体单元的基于快闪的记忆体,例如基于快闪的NAND单元、NOR单元或是两者的混合。记忆体控制器130经安排以自适应方式执行抹除以及程序运算,自适应方式适应于随时间变换程序效能,以便维持住良好的读取边限位元分布。
图2显示记忆体的分离磁区的局部俯视图。核心磁区201,举例来说,可以是图1的磁区120的一部分的实施例并且可包括阵列核心记忆体单元。周边磁区202,举例来说,可以是图1的记忆体控制器110或图1的记忆体控制器110的一部分的实施例。
核心磁区201包括核心多晶硅线241、导电区242以及衬底205的一部分。部分的核心多晶硅线241耦合至个别记忆体单元(未图示于图2)的栅极并且可配置为字线、源极选择栅极线及/或漏极选择栅极线。部分的导电区242可包括,举例来说,衬底205的p型及/或n型掺杂区,以形成源极/漏极区及/或导电线。举例来说,导电区242可形成部分的位元线及/或其他信号线。还有,在一些实施例中,个别导电区242延伸至少部分地在个别核心多晶硅线241下面。
于一实施例中,核心磁区201经安排于NOR拓扑中,并且个别记忆体单元可经由个别导电区242分别地存取。在另一实施例中,核心磁区201经安排于NAND拓扑中,并且个别记忆体单元可统一地通过个别导电区242存取,而非分别地。在其他的实施例中,可运用混合结构。举例来说,核心磁区201可配置成具有一部分为基于NAND以及另一部分为基于NOR。还有,尽管图2中未显示,核心磁区201可包括任何多种类的互连及/或钝化层,例如介电、导电或其他层。举例来说,导电区242可位于介电分隔层下面。
周边磁区202包括周边多晶硅线251、导电区252以及互连253。部分的周边多晶硅线251耦合至个别周边装置(未图示于图2)。
部分的导电区252可包括,举例来说,衬底205的p型及/或n型掺杂区以形成导电特征,例如源极、漏极或是其他类型的井(well)。互连253可包括导电线,其电性互相耦合部分的周边磁区202及/或电性耦合核心磁区201与周边磁区202。举例来说,互连253可包括金属线以及通孔的结合。还有,尽管未图示于图2中,周边磁区202也可包括任何多种类的其他互连及/或钝化层。
图3说明记忆体装置300的实施例的方块图。记忆体300包括记忆体控制器330以及记忆体单元310。
记忆体单元310可包括,举例来说,包括磁区的记忆体单元区,其中每一个磁区包括记忆体单元。记忆体控制器330配置以控制程序运算以及对于记忆体单元310的抹除运算。当记忆体控制器330执行对于记忆体单元310的抹除运算,该抹除运算包括发生在实际抹除之前的编程阶段。发生在该抹除运算中的此编程阶段可表示为”预编程”。
在该预编程期间,施加至少一编程脉冲于程序电压至在正被抹除的该磁区中的每一个记忆体单元,直到程序验证通过。所施加的编程脉冲的数量(直到该程序验证通过)被存储下来。随后基于直到该程序验证通过所施加的编程脉冲数量调整该程序电压。在该抹除运算随后的编程运算期间,施加编程脉冲至被编程的每一个位元,其中使用了最近调整过的程序电压。
图4说明记忆体装置400的实施例的方块图,其可运用为图3的记忆体装置300的实施例。记忆体装置400包括记忆体阵列402以及位于记忆体阵列402中的个别记忆体单元403。记忆体单元403经安排为N+1行(row)以及M+1列(column)在记忆体阵列402中。于一实施例中,记忆体阵列402的每一行借由位元线BL0至BLN中的两条来存取。记忆体阵列402的每一列借由字线WL0至WLM中的一条来存取。因此,记忆体单元403中的每一个可借由启动该单元中对应的位元线以及对应的字线来存取。于一实施例中,记忆体阵列402的每一列定义一数据字(data word)。举例来说,如果N+1的数值为8,在记忆体阵列402的每一列中的该单元定义一位元组(byte)的数据。
记忆体单元403可为于不同的实施例中以不同方式存储位元的快闪记忆体单元。在各种实施例中,单一单元可存储一个或多个位元。举例来说,一些记忆体单元为单一单元装置,一些记忆体单元为双单元装置,以及在一些实施例中,多于一个区别等级的阈值电压可用以代表每一单元多于一个位元,于下文中将更细节讨论。在一些实施例中,快闪记忆体存储信息在由浮栅晶体管(floating gate transistor)构成的记忆体单元的阵列中。举例来说,在NOR栅极快闪中,该晶体管类似标准的金属氧化物半导体场效晶体管(“MOSFET”),除了该晶体管具有两个栅极、一浮动栅极以及一控制栅极,代替原本的一个,这点以外。在顶端为该控制栅极(“CG”),如在其他的金属氧化物半导体场效晶体管中,但这下方有浮动栅极(“FG”),其所有周围借由氧化层绝缘。该FG插入该CG以及该MOSFET通道之间。因为该FG借由绝缘层电性绝缘,任何放入其上的电子被捕获于此,并且在通常条件下,将许多年不会被释放。当该FG维持电荷,其屏蔽(部分取消)了来自该CG的该电场,这修改了该单元的阈值电压(“VT”)。MOSFET的该阈值电压通常定义为该栅极电压,其中一逆温层(inversionlayer)形成在该晶体管的该绝缘层(氧化层)及该衬底(本体)之间的介面。在读出期间,一电压施加至该CG,以及该MOSFET通道将变为导电或维持绝缘,取决于该单元的VT,其依序由该FG上的电荷所控制。流经该MOSEFET通道的电流被感测到,这允许对于该装置的阈值电压的测定,这依序提供关于存储在该装置内的二进位数据的信息。
在单一单元装置,晶体管的每一个控制栅极存储单一电荷数量,其代表了所存储的信息。在其未履行(default)或是”未编成”状态,其逻辑上同等于二进位“1”的数值,因为在施加一适当的电压至该控制栅极之下,电流将流经该通道。
在双单元装置,每一个控制栅极存储两电荷数量以表示所存储的信息。也就是说,两物理上不同数量的电荷被存储在该浮动栅极的相对侧边。读取或是写入数据发生在该浮动栅极的一个侧边上,独立于存储在该浮动栅极的相对侧边上的数据。在此技术中,该FG分为两镜像或互补的部分,其中的每一个都规划以用于存储独立信息。每一个双单元,例如传统的单元,具有栅极和源极与漏极。然而,在该双单元中,至该源极与漏极的连接在运算中可被逆转,以允许两个位元的存储。该记忆体单元中的每一个都包括多层(multilayers)。一电荷捕获介电层形成在半导体衬底上方。该电荷捕获介电层一般可由三个分离的层所构成:第一绝缘层、电荷捕获层以及第二绝缘层。字线形成在该电荷捕获介电层上方且大体上垂直于该位元线。编程电路借由施加信号至该字线,其作用如控制栅极,来控制每一单元两个位元,以及转换位元线连接,使得借由在一安排中连接该源极与漏极以存储一位元,以及借由在另一安排中连接该源极与漏极以存储互补的位元。
在单阶单元(“SLC”)装置,每一个单元仅存储一位元的信息,该单元不是“未编程”(具有数值”1”)就是”已编程”(具有数值”0”)。也存在多阶单元(“MLC”)装置,其每一单元可存储多于一个位元,是借由选择在多阶级的电子电荷之间施加至其单元的该浮动栅极。在这些装置中,感应到电流流过的数量(而不是简单的存在或不存在),以判定于该FG上更准确的电荷的阶级。
作为例子,双单元装置也可为存储每一单位四位元的MLC装置,使得一个晶体管等同于16个不同的状态。这对于该快闪装置能有更大的容量,更小的晶粒尺寸以及更低的成本。
记忆体装置400还包括温度感应装置461、控制器436、解码器481、解码器482、电压调节器483、电压调节器484、电荷泵485以及电荷泵486。
电荷泵485经安排以提供促进位元线电压。电荷泵486经安排以提供促进字线电压。电压调节器483经安排以从电荷泵485接收该促进电压,并基于控制器436的控制,提供调整的促进位元线电压。同样的,电压调节器484经安排以从电荷泵486接收该促进电压,并基于控制器436的控制,提供调整的促进字线电压。
解码器481以及解码器482可个别从控制器436接收位址总线信息并且可利用这些信息以促成存取或是选择关联于该命令的所需的记忆体单元(例如记忆体位置),并根据由控制器436所控制的时序(timing),提供需要的电压至该位元线(解码器481)以及该字线(解码器482)。
于一些实施例中,解码器481也可包括磁区解码器。例如,解码器409可安排以促成存取或于记忆体装置400中特定列或列的群组的选择。举例来说,列的群组可定义一磁区,并且另一列的群组可定义另一磁区。在另一实施例中,部分401可包括一特定的记忆体阵列404的阵列解码器。另外,阵列解码器的实施例可配置成单独地工作或与磁区解码器结合。
记忆体控制器436也配置成控制启动以及止动个别的字线WL0至WLM,以对记忆体阵列402读取、写入及/或抹除。举例来说,记忆体控制器410可提供选择信号至解码器482以选择WL1至WLM其中一列来启动该列。更进一步,记忆体控制器436可提供选择信号至解码器481以选择特定行BL0至BLN(或是磁区)以被写入至其中或从其中读取。使用一读取运算以读取所存储位元的数值但不改变该位元。一程序运算为位元改变(bit-altering)运算,其将位元从未编程数值转换为已编程数值。一抹除运算为位元改变运算,其将位元从已编程数值转换为未编程数值。
于一实施例中,程序运算对于特定的记忆体单元403的执行如下文所述。控制器436经安排以引起由电压调节器481所提供的促进电压,以耦合至对于该记忆体单元的适当的位元线,并且引起由电压调节器484所提供的促进电压,以耦合至对于该记忆体单元的适当的字线。这些电压被提供至记忆体单元403以用于特定期间。在一些实施例中,该脉冲的持续时间大约为100至200ns。在该脉冲完成之后的一时间,执行程序验证以判定该单元的阈值电压是否已到达成为已编程位元的适当电压。如果是,该位元的编程为完成。如果不是,执行同样的重复脉冲,直到程序验证成功或者是超过该运算时间两个中之一个。
在一些实施例中,一位元被同时存储在每一个记忆体单元的左侧及右侧。在这一些的实施例中,在编程运算期间,对于每一个编程通过(programming pass),一编程通过首先发生在该记忆体单元的左侧,并且随后是该右侧。当记忆体控制器403正控制该左侧位元的编程的执行,对于正在编程的每一个左侧位元,该促进字线电压被施加至该记忆体单元的该控制栅极,该促进位元线电压被施加至该记忆体单元的该左侧,以及该记忆体单元的该右侧接地。在一些实施例中,施加该促进字线电压先于该促进位元线电压。然而,该字线电压的施加,由于其本身,在该单元的编程上具有微小影响。在该字线电压施加至该记忆体单元之后,施加该位元线电压。于一些实施例中,该促进字线电压为大约8或9伏特,以及该促进位元线电压为大约5伏特。当该促进字线电压以及该促进位元线电压两者被施加至该记忆体单元,即为该编程脉冲的开始。
在这些实施例中,在被编程的该左侧位元接收编程脉冲之后,被编程的该右侧位元以大体上相同的方式接收编程脉冲,其不同之处在于,对于被编程的每一个右侧位元,该单元的右侧接收该促进位元线电压,以及该单元的左侧为接地。
在这些实施例中,在编程脉冲同时施加至该记忆体侧边中的两侧,如果所有被编程的该单元还未成功的编程,执行同样的重复脉冲(再一次,在交替左边以及右边通过下),直到程序验证成功或是超过该运算时间两个中之一个。
记忆体装置400的实施例在记忆体装置400的使用期间维持了良好的读取边限,是借由在记忆体装置400的使用期间维持紧密VT分布。每一个记忆体装置400具有VCC窗口、温度窗口以及其必须有效的装置窗口的使用期限。如果因为这些因素导致该读取边限变得太小,位元可能被不正确的读取。
在记忆体装置400的一些实施例,记忆体装置400的程序效能随着该部分的老化(age)为“浴缸曲线(bathtub curve)”。在使用期限刚开始时(BOL),有特定的程序效能,且当该装置老化,该记忆体单元明显变得更容易编程。之后该程序效能将保持相当的常量于相对长的期间,直到接近使用期限终点(EOL),该位元可编程的速度再度开始变慢。如果为了在BOL时的程序效能调整记忆体装置400并且为了达成该程序效能的可接受读取边限,当记忆体装置400循环并老化,在没有采用该自适应调整下,该读取边限将会降级。记忆体装置400的一些实施例采用了自适应调整,其随着该部分的老化追踪记忆体装置400的程序效能,使得该读取边限维持住。
在记忆体装置400的一些实施例中,在逐磁区(sector-by-sector)基础上执行抹除运算。在该抹除运算开始的时候,在该磁区上执行了大量的程序运算,编程在该磁区中的每一个未编程位元以确保在该大量程序运算完成之后,在该磁区中的每一个位元为已编程的状态。发生在该抹除运算的部分的这个大量编程阶段可表示为”预编程”。在该预编程之后,控制器436控制该抹除运算的执行以引起在该磁区中的每一个位元被抹除,以从该已编程状态转换为该未编程状态。
在该预编程期间,该位元中的一些从该未编程状态转换为该已编程状态,并且施加脉冲直到程序验证通过,如上所述。在该磁区中所施加的脉冲的数量被存储下来。
对于该磁区所存储的脉冲数量被使用在之后对于该磁区的编程运算。使用这所存储的数量以调整后续编程运算来调整该程序电压,如果需要的话。该“程序电压”一般为施加至该记忆体单元的该促进字线电压,尽管在某些实施例中它可能是该位元线电压。转换该程序电压将转换该编程速度。
对于每一个记忆体装置400,有最佳的编程脉冲数量用于施加。如果在相对上小数量的编程脉冲之后位元变为已编程,例如仅有一个或两个编程脉冲,则该读取边限将减低。所存储的在该最后预编程阶段所需要的脉冲数量是用以调整用在后续程序运算中的该程序电压。如果少于所需要的该最佳的脉冲数量直到该程序验证通过,则编程发生得太快,因此减低该程序电压。如果多于所需要的该最佳的脉冲数量直到该程序验证通过,则编程发生得太慢,因此增加该程序电压。如果恰好使用该最佳的脉冲数量,该程序电压维持不变。举例来说,一程序电压在BOL时可为9.5V,可能随着该装置的老化逐渐减少至大约8.5V,并且再次增加接近记忆体装置400的EOL时。在每一个例子中,该转换是基于在该最后的抹除运算的预编程阶段期间,所存储的程序验证所需要的脉冲数量。于一些实施例中,在该第一次抹除运算出厂调整(factory-tuned)之前使用起始数值。
在一些实施例中,在接近EOL时,编程电压的值返回到接近其在BOL时的开始值,这可被用于发送有关接近EOL且该装置应尽快更换的警告或指示信号给用户。
在一些实施例中,记忆体装置400为单片,并且绘示在图4中所有的装置在相同晶片上位于一起。在其他的实施例中,绘示在图4中的一些组件可位在不同的晶片上,或是该装置的一部分可位在不同的晶片上。该装置中的一些可位于不同的晶片上但相同位于同样的电路板上。
在记忆体装置400的一些实施例中,在逐磁区的基础上执行抹除运算,当编程以及预编程运算被执行为按位元(bitwise)运算。如上所述,“在该预编程期间,该位元中的一些从该未编程状态转换为该已编程状态,并且施加脉冲直到程序验证通过,如上所述。在该磁区中所施加的脉冲的数量被存储下来。对于该磁区所存储的脉冲数量被使用在之后对于该磁区的编程运算”。既然该预编程为按位元运算,在不同的实施例中对于该磁区所存储的该脉冲数量可能不同。在一些实施例中,追踪了最快以及最慢位元。在一些实施例中,该调整匹配该浴缸曲线,以便,在该浴缸曲线下滑过程,如果该最快位元太快,为了下一个程序减少该程序电压。在该浴缸曲线上升过程,如果该最慢位元太慢,该程序电压向上调整。追踪完整磁区的刚好最小以及最大脉冲数量允许这样的调整。因此,在一些实施例中,“在该磁区中所施加的该脉冲数量被存储下来”意指该最小以及最大脉冲数量(对于在该磁区中所有的位元)被存储下来。在其他的实施例中这可能以别的方法完成。
现代的半导体装置通常生产为在半导体材料的衬底的表面上制造的集成电路。该制程由长成一晶圆开始,这通常使用柴可斯基法(Czochralski process)来完成。各种装置使用一系列的步骤形成在该晶圆上,一系列的步骤包括沉积、移除制程(例如蚀刻)、图案化以及掺杂。一些步骤或是数百种这样的步骤可使用在各种设计中。该图案化步骤可由光刻法(photolithography)或是其他平版印刷(lithographic)方法执行。举例来说,该晶圆可以光阻剂来涂布,此曝露出的装置曝露在通过光遮罩的光线下,该晶圆的曝露部分并未由该光遮罩遮挡光线。曝露部分被移除使得光阻剂仅保留未暴露在光线下的区域。这允许一个层根据在该光遮罩上的该图案被蚀刻。在该装置形成在该晶圆上之后,执行各种后端制程以及封装,包括适当的互连该装置以及引进金属线至该晶片边缘用以附加为导线。
设计者根据该制造者所提供的一组设计规则产生该装置设计,并且基于该设计产生一系列的设计档案。各种设计工具可由该设计者使用在产生设计、模拟该设计以及检查该设计对于布局规则的违反当中。当完成时,该设计档案被提供至该制造者,其用以产生光遮罩以使用在制造该装置中。该设计档案可用各种不同的方式沟通,包括在网路上。
图4的记忆体装置400的实施例可合并进各种组件及/或系统中的任何一种,包括举例来说,处理器以及其他组件或这类组件的系统。图5显示系统590的一个实施例,其中可合并记忆体520,其为图4的记忆体装置400的一实施例。记忆体520可直接地或间接地连接至处理器592、输入装置593及/或输出装置594中的任何一个。于一实施例中,记忆体520可配置为可从系统590移除。于另一实施例中,记忆体520可永久性的连接至该组件或者是系统590的该组件的一部分。
在许多实施例中,系统590的记忆体520、处理器592、输入装置593及/或输出装置594配置成与更大系统的一部分功能结合。举例来说,系统590可合并进手机、手持装置、笔记型计算机、个人计算机及/或伺服器装置。额外或可替换的,系统590可执行任何各种程序、控制器及/或数据存储功能,例如相关联于感测、成像或其他功能。因此,系统590可合并进任何广泛种类的运用这类功能的装置(例如数字摄影机、MP3播放器、GPS部件等等)。
上文的说明书,范例以及数据提供了本发明的制成品的描述以及组成的使用。即使本发明的多种实施例在不悖离本发明的精神与范围下可达成,但本发明也保留至所附的权利要求书内。