首页> 中国专利> 具有不同于感测放大器电路的页寄存器和存储器阵列下方的感测放大器接口的3D存储器装置

具有不同于感测放大器电路的页寄存器和存储器阵列下方的感测放大器接口的3D存储器装置

摘要

非易失性存储装置包括:衬底,在衬底的一部分上方的非易失性存储元件的单片式三维存储器阵列,与非易失性存储元件通信的多个感测放大器,与感测放大器通信的多个临时存储装置,与临时存储装置通信的页寄存器及一个或多个控制电路。一个或多个控制电路与页寄存器、临时存储装置和感测放大器通信。感测放大器在衬底上、单片式三维存储器阵列下方。临时存储装置在衬底上、单片式三维存储器阵列下方。页寄存器在衬底上、在未处于单片式三维存储器阵列下方的区域中。响应于一个或多个控制电路,感测放大器从非易失性存储元件读出的数据被传送至临时存储装置,随后传送至页寄存器。响应于一个或多个控制电路,待编程到非易失性存储元件中的数据从页寄存器传送至临时存储装置。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-21

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G11C5/02 变更前: 变更后: 申请日:20101213

    专利权人的姓名或者名称、地址的变更

  • 2016-07-27

    专利权的转移 IPC(主分类):G11C5/02 登记生效日:20160706 变更前: 变更后: 申请日:20101213

    专利申请权、专利权的转移

  • 2015-09-16

    授权

    授权

  • 2012-12-19

    实质审查的生效 IPC(主分类):G11C5/02 申请日:20101213

    实质审查的生效

  • 2012-10-24

    公开

    公开

说明书

技术领域

本发明涉及用于非易失性存储的技术。

背景技术

半导体存储器已变得更加普遍地用于各种电子装置中。例如,非易失性半 导体存储器被用于蜂窝电话、数码相机、个人数字助理、移动计算装置、非移 动计算装置以及其它装置中。随着用户想要存储的数据量变大,需要更高密度 的存储。三维存储器是更高密度存储的一个示例。然而,更高的密度不应以更 低的性能为代价来实现。

附图说明

图1是存储器系统的一个实施例的框图;

图2是存储器单元的一个实施例的简化透视图;

图3是示出在存储器单元的一个示例中使用的可逆电阻切换元件的I-V特性 的图形;

图4A是三维存储器阵列的一个实施例的一部分的简化透视图;

图4B是三维存储器阵列的一个实施例的一部分的简化透视图;

图5是示出三维存储器阵列的不同层的框图;

图6是衬底的俯视图,该衬底上方实现存储器系统;

图7是示出存储器阵列的组织结构的一个示例的框图;

图8是示出存储条(memory stripe)的组织结构的一个示例的框图;

图9是用于存储器阵列的支持电路的一个实施例的框图;

图10是页寄存器的一个实施例的框图;

图11是用于存储条的支持电路的一个实施例的框图;

图12是描述对数据进行编程的过程的一个实施例的流程图;

图13是描述对数据进行编程的过程的一个实施例的时序图;

图14是描述包括跳过循环(skipping cycle)的对数据进行编程的过程的一个 实施例的流程图;

图15是描述包括跳过循环的对数据进行编程的过程的一个实施例的时序 图;

图16是描述包括跳过循环的对数据进行编程的过程的一个实施例的流程 图;

图17是描述包括跳过循环的对数据进行编程的过程的一个实施例的时序 图。

具体实施方式

这里提出了一种非易失性存储装置,该非易失性存储装置包括三维存储器 结构以增加存储密度。包括多个非易失性存储元件的三维存储器结构被布置在 衬底(或其它材料)上方。为了使来自较长信号长度的延迟最小化,在三维存储器 结构下方放置多数控制电路。然而,不是所有的控制电路都能适合在三维存储 器结构的合适部分下方,并且具有长信号线可带来RC延迟。因此,提出了在三 维存储器结构外部布置页寄存器(或其它类似的中间存储装置),并且在三维存储 器结构下方包括一组临时存储装置(例如,锁存器或寄存器)和感测放大器。由感 测放大器从非易失性存储元件读出的数据被传送至临时存储装置,并且随后传 送至页寄存器。要被编程到非易失性存储元件中的数据从页寄存器被传送至临 时存储装置。注意,该页寄存器存储数据的逻辑页,其中,逻辑页是编程单元。 也可以使用页寄存器的其它变型或不同的存储装置。

图1是示出能实现本文所述技术的存储器系统100的一个示例的框图。存 储器系统100包括:存储器阵列102,其可为二维或三维的存储器单元阵列。在 一个实施例中,存储器阵列102是单片式三维存储器阵列。存储器阵列102的 阵列终端线包括:被组织为行的不同层的字线和被组织为列的不同层的位线。 然而,也可实施其它方位。

存储器系统100包括行控制电路120,该行控制电路120的输出108与存储 器阵列102的相应字线相连。出于本文的目的,连接可以是直接连接或者间接 连接(例如经由一个或多个其它部件)。行控制电路120从系统控制逻辑电路130 接收一组M个行地址信号以及一个多个不同控制信号,并且通常可以包括例如 行解码器122、阵列驱动器124和块选择电路126等的电路,以用于读出和编程 操作。

存储器系统100还包括列控制电路110,该列控制电路110的输入/输出106 与存储器阵列102的相应位线相连。列控制电路110从系统控制逻辑电路130 接收一组N个列地址信号以及一个多个不同控制信号。在一些实施例中,列控 制电路110可以接收数据信号。列控制电路110包括例如列解码器112、驱动电 路114、块选择电路116、感测放大器118及页寄存器120等的电路。在一个实 施例中,感测放大器118向位线提供信号并且感测位线上的信号。在本文中可 使用本领域中已知的各种感测放大器。

系统控制逻辑130从控制器134接收数据和命令,并且向控制器134提供 输出数据和状态。控制器134与主机(例如,照相机、计算机、蜂窝电话等)进行 通信。系统控制逻辑130可以包括一个或多个状态机、寄存器和其它控制逻辑, 以用于控制存储器系统100的操作。在其它实施例中,系统控制逻辑130从主 机直接接收数据和命令,并且向该主机提供输出数据,这是因为系统控制逻辑 130(在本实施例中)包括控制器的功能。

在一个实施例中,系统控制逻辑130、列控制电路110、行控制电路120以 及存储器阵列102形成在同一集成电路上。例如,系统控制逻辑130、列控制电 路110、以及行控制电路120可形成在衬底的表面上;而存储器阵列102是形成 在该衬底上方(因此被形成在系统控制逻辑130、列控制电路110、以及行控制电 路120中的至少一部分上方)的单片式三维存储器阵列。在一些情况中,控制电 路的一部分与有些存储器阵列可形成在相同的层上。关于与图1所示类似的合 适实施例的更多信息可在以下美国专利中找到:美国专利6,879,505、美国专利 7,286,439、美国专利6,856,572、以及美国专利7,359,279,这些美国专利通过引 用以其全部内容并入本文中。控制器134可以与图1中示出的其它组件位于相 同的或不同的衬底上。可将控制器134、系统控制逻辑130、列控制电路110、 以及行控制电路120单独地或者以任何组合看作一个或多个控制电路。

存储器阵列102包括多个存储器单元。在一个实施例中,每个存储器单元 均包括控向元件(例如,二极管)和电阻元件。在一个示例实施方案中,存储器 单元可以是如下单元:它们能够被编程一次而被读取许多次。一个示例存储器 单元包括:在上导体和下导体之间的交叉点处形成的、层的支柱。在一个实施 例中,支柱包括与状态变更元件(例如反熔丝层)串联连接的控向元件(例如,二 极管)。当反熔丝层完整时,存储器单元在电学上为开路。当反熔丝层被破坏时, 该存储器单元在电学上是与被破坏的反熔丝层的电阻串联连接的二极管。存储 器单元的示例可在美国专利6,034,882、美国专利6,525,953、美国专利6,952,043、 美国专利6,420,215、美国专利6,951,780、以及美国专利7,081,377中找到。

在另一实施例中,存储器单元是可重写的。例如,美国专利申请公布No. 2006/0250836描述了包括与可逆电阻切换元件串联耦接的二极管的可重写非易 失性存储器单元,该申请通过引用以其全部内容并入本文中。可逆电阻切换元 件包括具有可以在两个或更多状态之间可逆切换的电阻性的可逆电阻切换材 料。例如,一旦制造后,可逆电阻切换材料可以处于初始高阻态,在施加第一 电压和/或电流时,该初始高阻态可切换至低阻态。施加第二电压和/或电流可以 使可逆电阻切换材料返回至高阻态。可替选地,一旦制造后,可逆电阻切换元 件可以处于初始低阻态,在施加合适的电压和/或电流时,该初始低阻态能够可 逆切换至高阻态。一个阻态可以表示二进制“0”而另一阻态可以表示二进制“1”。 可以使用超过两个的数据状态/阻态,以使得存储器单元存储两位或更多位数据。 在一个实施例中,将电阻从高阻态切换至低阻态的过程被称为“置位”(SET)操 作。将电阻从低阻态切换至高阻态的过程被称为“复位”(RESET)操作。高阻态 与二进制数据“0”关联,而低阻态与二进制数据“1”关联。在其它实施例中, 置位及复位和/或数据编码可被颠倒。在一些实施例中,首次对电阻切换元件进 行置位需要比正常电压更高的电压,并且被称为“形成”(FORMING)操作。

图2是存储器单元150的一个示例的简化透视图,该存储器单元150包括 位于第一导体166与第二导体168之间且串联耦接的可逆电阻切换元件162、控 向元件164以及阻挡体165。

可逆电阻切换元件162包括具有可在两个或更多个状态之间进行可逆切换 的电阻的可逆电阻切换材料170。在一些实施例中,可逆电阻切换材料170可由 金属氧化物形成。可使用各种不同的金属氧化物。在一个示例中,使用了氧化 镍。

在至少一个实施例中,通过使用选择性沉积工艺,氧化镍层可以在该氧化 镍层不被蚀刻的情况下被用在可逆电阻切换材料中。例如,可逆电阻切换元件 可以通过采用例如电镀或无电沉积等的沉积工艺来形成,以选择性地将含镍层 仅沉积在衬底上形成的导电表面上。通过这种方式,仅对衬底上的导电表面进 行图案化和/或蚀刻(在沉积含镍层之前)而不对含镍层进行图案化和/或蚀刻。

在至少一个实施例中,可逆电阻切换材料170包括:通过有选择地沉积镍 并且随后使镍层氧化而形成的氧化镍层的至少一部分。例如,Ni、NixPy或镍的 其它类似形式可以通过使用无电沉积、电镀或类似选择性工艺而被选择性沉积, 并且随后被氧化以形成氧化镍(例如,使用快速热氧化或其它氧化工艺)。在其它 实施例中,氧化镍自身可以被选择性沉积。例如,含NiO、NiOx或NiOxPy层可 以通过使用选择性沉积工艺被选择性沉积在控向元件上,并且随后被退火和/或 氧化(必要时)。

可以选择性沉积其它材料,并且随后在必要时使其退火和/或氧化,以形成 用于存储器单元中的可逆电阻切换材料。例如,可以例如通过电镀而选择性沉 积Nb、Ta、V、Al、Ti、Co、钴镍合金等的层,并且将其氧化,以形成可逆电 阻切换材料。

另一可变电阻材料是掺杂有V、Co、Ni、Pd、Fe或Mn的非晶硅,例如, 如Rose等人在美国专利No.5,541,869中更加完整描述的那样。另一类材料由 Ignatiev等人在美国专利No.6,473,332中公开:它们是例如Pr1-XCaXMnO3(PCMO)、La1-XCaXMnO3(LCMO)、LaSrMnO3(LSMO)或GdBaCoXOY(GBCO) 的钙钛矿材料。对于这个可变电阻材料的其它选择是包括(例如被混合到塑料聚 合物中的)炭黑颗粒或石墨的碳聚合物膜,如Jacobson等人在美国专利No. 6,072,716中公开的那样。另一示例是将碳纳米管用作可逆电阻切换材料。

Campbell等人在美国专利申请2003/0045054中以及Campbell在美国专利申 请2003/0047765中公开了另一材料。这个材料是掺杂质的硫属化物玻璃,具有 分子式AXBY,其中A包括来自周期表的IIIA组(B,Al,Ga,In,Ti)、IVA组 (C,Si,Ge,Sn,Pb)、VA组(N,P,As,Sb,Bi)、或VIIA组(F,Cl,Br,I, At)中的至少一个元素,其中B选自S、Se、Te及其混合物。掺杂物选自贵金属 和过渡金属,包括Ag、Au、Pt、Cu、Cd、Ir、Ru、Co、Cr、Mn或Ni。这个硫 属化物玻璃(非晶硫属化物,不为结晶状态)被形成在与移动金属离子的储蓄器相 邻的存储器单元中。一些其它固体电解质材料可能替代硫属化物玻璃。

其它可变电阻材料包括非晶碳、石墨和碳纳米管。对于本文中描述的技术 也可使用其它材料。

与使用可逆电阻切换材料来制造存储器单元有关的更多信息可在题为 ″Memory Cell That Employs A Selectively Deposited Reversible Resistance  Switching Element and Methods of Forming The Same″的美国专利申请公布 2009/0001343中找到,该美国专利申请公布通过引用以其全部内容并入本文中。 另外的信息还可在于2008年12月19日提交的题为″Reverse Set With Current  Limit for Non-Volatile Storage″的美国专利申请12/339,313中找到,该美国专利申 请通过引用以其全部内容并入本文中。

可逆电阻切换元件162包括电极172和174。电极172位于可逆电阻切换材 料170与导体168之间。在一个实施例中,电极172由铂制成。电极174位于 可逆电阻切换材料170与控向元件164之间。在一个实施例中,电极174由氮 化钛制成,并且用作阻挡层。

控向元件164可以为二极管,或者通过对跨可逆电阻切换元件162的电压 和/或流过该可逆电阻切换元件162的电流进行选择性限制而展现出非欧姆导电 的其它合适控向元件。通过这种方式,存储器单元150可以被用作二维或三维 存储器阵列的一部分,并且数据可以被写入存储器单元150和/或从存储器单元 150读出而不影响阵列中其它存储器单元的状态。控向元件164可以包括任何合 适的二极管,例如垂直多晶p-n或p-i-n二极管,无论是二极管的n区在p区上 方而朝上指向,还是二极管的p区在n区上方而朝下指向。

在一些实施例中,控向元件164可以是由多晶半导体材料(例如多晶硅、多 晶硅锗合金、多晶锗或任何其它合适材料)形成的二极管。例如,控向元件164 可以为包括重掺杂n+多晶硅区182、在该n+多晶硅区182上方的轻掺杂或本征 (无意掺杂的)多晶硅区180、以及在该本征区180上方的重掺杂p+多晶硅区186 的二极管。在一些实施例中,薄的(例如几百埃或更小)锗和/或硅锗合金层(未示 出,在使用硅锗合金层时具有约10%或更多的锗)可以形成在n+多晶硅区182上 以防止并且/或者减小掺杂物从n+多晶硅区182迁移至本征区180中,例如在 2005年12月9日提交的题为″DEPOSITED SEMICONDUCTOR STRUCTURE  TO MINIMIZE N-TYPE DOPANT DIFFUSION AND METHOD OF MAKING″的 美国专利申请公布No.2006/0087005中所述,该美国专利申请公布通过引用以 其全部内容并入本文中。应当理解,n+区和p+区的位置可以颠倒。当控向元件 164由沉积硅(例如,非晶硅或多晶硅)制造时,一个实施例可以包括在二极管上 形成的硅化物层,以将沉积硅置于低阻态。

如题为″Memory Cell Comprising a Semiconductor Junction Diode Crystallized  Adjacent to a Silicide″的美国专利申请7,176,064中所述,例如钛和/或钴的硅化物 形成材料在退火期间与沉积硅反应以形成硅化物层,该申请通过引用以其全部 内容并入本文中。硅化钛与硅化钴的晶格间距接近硅的晶格间距,并且似乎这 样的硅化物层可以在沉积硅进行晶化时用作针对邻近的沉积硅的“结晶化模板” 或“种子”(例如硅化物层在退火期间加强硅二极管的晶体结构)。从而提供了低 阻的硅。硅锗合金和/或锗二极管可以获得类似的结果。

导体166和导体168包括任何合适导电材料例如钨、任何合适金属、重掺 杂半导体材料、导电硅化物、导电硅锗化物或导电锗化物等。在图2的实施例 中,导体166和导体168是条轨形的并且以不同的方向(例如,彼此基本垂直的 方向)延伸。可以使用其它导体形状和/或构造。在一些实施例中,可以与导体166 和导体168一起使用阻挡层、粘附层和/或抗反射涂层等(未示出),以改进装置 性能并且/或者助于装置制造。

尽管在图2中可逆电阻切换元件162被示为位于控向元件164上方,但是 应当理解,在可替选实施例中,可逆电阻切换元件162可以位于控向元件164 的下方。

虽然图2示出存储器单元的一个示例,但本文中公开的技术不是需要一种 特定类型或结构的存储器单元。可使用许多不同类型的存储器单元。

图3是金属氧化物可逆电阻切换元件的一个示例实施例的电压相对电流的 图示。线250表示可逆电阻切换元件处于高阻态时的I-V特性。线252表示可逆 电阻切换元件处于低阻态时的I-V特性。为了确定可逆电阻切换元件处于哪个状 态,施加电压并且测量得到的电流。较高的测量电流(见线252)表示可逆电阻切 换元件处于低阻态。较低的测量电流(见线250)表示可逆电阻切换元件处于高阻 态。注意,对于本文中的技术,也可以使用具有不同I-V特性的可逆电阻切换元 件的其它变型。

当处于高阻态时(见线250),如果向存储器单元施加电压V置位和足够的电流, 则可逆电阻切换元件将被“置位”为低阻态。线254示出在施加V置位时的行为。 电压将保持颇为恒定并且电流将朝着I设置_限制增大。在某点处,可逆电阻切换元 件将被“置位”,并且装置行为将基于线252。注意,可逆电阻切换元件被首次 “置位”时,需要Vf(形成电压)来“置位”该装置。在这之后可使用V置位。形 成电压Vf可以大于V置位

当处于低阻态时(见线252),如果向存储器单元施加电压V复位和足够的电流 (I复位),则可逆电阻切换元件将被“复位”为高阻态。线256示出在施加V复位时 的行为。在某点处,可逆电阻切换元件将被“复位”,并且装置行为将基于线250。

在一个实施例中,V置位近似5伏,V复位近似3伏,I设置_限制近似5uA而I复位电流可以高达30uA。在一些实施例中,V置位可以比V复位低,不需要形成操作, 并且/或者“置位”或“复位”所需时间可以不同。

对可逆电阻切换材料的电阻进行“置位”和“复位”的编程操作是本领域 已知的。对可逆电阻切换材料的电阻进行“置位”和“复位”的电路的许多不 同实施方案是已知的,并且可以在本文描述的技术中使用。“置位”和“复位” 的示例可以在2008年12月19日提交的题为″Reverse Set With Current Limit for  Non-Volatile Storage″的美国专利申请12/339,313、在美国专利申请2007/0072360、 以及在美国专利申请2007/0008785中找到,这些申请通过引用以其全部内容并 入本文中。

在一些实施方案中,“置位”和“复位”操作(也被称为编程操作)后面可跟 着验证操作,以察看“置位”操作是否成功。如果没有成功,则可再次尝试编 程操作。在一个示例实施方案中,验证操作是读操作。因此,系统控制逻辑130 将首先致使一个或多个存储器单元被编程(“置位”或“复位”),并且随后将读 出所有经编程的存储器单元。如果读出的数据与要编程的数据匹配,则该过程 完成。如果一些读出的数据与被编程的数据不匹配(最大可能是由于编程没有成 功),则重复编程。在一些情况中,以一次一个逻辑页的方式对数据进行编程; 因此,如果验证操作指出编程操作没有成功,则整个页可能被重新编程。

存储器阵列102包括许多存储器单元。图4A是单片式三维阵列102的一部 分的简化透视图,该阵列102包括位于第二存储器级220下面的第一存储器级 218。在图4A的实施例中,每个存储器级218和220包括交叉点阵列形式的多 个存储器单元200。应当理解,在第一存储器级218和第二存储器220之间、上 方或下方可以存在额外的层(例如,层间电介质),但出于简化目的而未在图4A 中示出。可以使用其它存储器阵列构造,同样可以使用额外的存储器级。在图 4A的实施例中,所有二极管可以“指向”相同的方向,例如朝上或朝下,这取 决于采用了具有位于二极管下方还是二极管上方的p参杂区的p-i-n二极管,简 化了二极管的制造。存储器单元200可与存储器单元150相同或不同。

图4B是单片式三维存储器阵列102的第二实施例的一部分的简化透视图, 该单片式三维存储器阵列102包括位于第二存储器级221下面的第一存储器级 219。图4B的存储器阵列包括多个存储器单元200。关于第一存储器级219,存 储器单元200位于位线集合207和字线集合209之间并与它们相连。关于第二 存储器级221,其存储器单元200位于位线集合210和字线集合209之间并与它 们相连。第一存储器级的上导体可以被用作位于第一存储器级上方的第二存储 器级的下导体,如图4B中所示。其它信息记载在题为″High-Density  Three-Dimensional Memory Cell″的美国专利申请No.6,952,030中,该美国专利 申请通过引用以其全部内容并入本文中。

在图4B的实施例中,在相邻存储器级上的二极管(或其它控向装置)优选指 向相反方向,如在2007年3月27日提交的题为″Method to Form Upward Pointing  P-I-N Diodes Having Large And Uniform Current″的美国专利申请公开No. 20070190722中所述,该美国专利申请公开通过引用以其全部内容并入本文中。 例如,第一存储器级219的二极管可以是朝上指向的二极管,如箭头A1所示(例 如,具有在二极管底部的p区),而第二存储器级221的二极管可以是朝下指向 的二极管,如箭头A2所示(例如,具有位于二极管底部的n区),或反之亦然。

在单片式三维存储器阵列中,多个存储器级被形成在单个衬底(例如晶片) 上方,但没有中间衬底。形成一个存储器级的层直接被沉积或生长在已有的一 个级或多个级的层上方。与此形成对照,堆栈式存储器是通过在不同衬底上形 成存储器级并将该存储器级彼此上下附着而构造的,如同Leedy的题为″Three  Dimensional Structure Memory″的美国专利No.5,915,167中那样。衬底可以很薄 或者在结合之前从存储器级取出,但是由于存储器级初始形成在单独的衬底上, 因此这样的存储器并不是真正的单片式三维存储器阵列。

如上所提及的,图4A和4B示出单片式三维存储器阵列的一部分。可以看 到,位线被布置在第一方向上且字线被布置在垂直于位线的第二方向上。在具 有额外存储器单元层的存储器阵列中,可能具有额外的字线层或位线层。支持 电路(例如,列控制电路110、行控制电路120、以及系统控制逻辑130)被布置在 衬底的表面上,其中存储器阵列被制造在支持电路的至少一部分上方。示出集 成电路的不同层的图5示出了位于衬底上方的存储器阵列102。存储器阵列包括 位线层BL和字线层WL。图5仅仅示出三个位线层BL和两个字线层WL,然 而,在其它实施例中,可实现额外的位线层和字线层。实现半导体存储器系统 的集成电路还包括多个金属层,该多个金属层用于在支持电路的不同组件之间、 以及在支持电路与位线及字线之间对信号进行路由。这些金属层被布置在支持 电路(其被实施在衬底的表面上及存储器阵列下方)上方。图5示出了用于路由的 两个金属层R1和R2,然而,其它实施例可包括多于或少于两个的金属层。在 一个示例中,这些金属层R1和R2由具有相对高的电阻和电容的钨(约1.5欧姆/ 平方)形成。

在存储器阵列上方可设置有用于在存储器系统的不同组件之间对信号进行 路由的一个或多个金属层。图5示出了在存储器阵列上方的一个这样的金属层, 被标记为“顶部金属层”。在一个示例中,顶部金属层由铝或铜形成(约0.05欧 姆/平方),其具有小于层R1和层R2的电阻和电容。金属层R1和R2并不使用 与用于顶部金属层相同的材料来实施,这是因为用于R1和R2的金属需要经受 住在R1和R2的顶部制作存储器阵列的处理步骤。

可添加通孔以在相邻金属层之间生成连接。可添加过孔(zia)以在非相邻金属 层之间生成连接。过孔是多层通孔,并且可连接多于两个或更多的层(在这个情 况中,过孔看起来像阶梯形)。

图6是用于实施存储器系统100的衬底300的俯视图。图6示出了向下看 衬底300的俯视图。在一个实施例中,在衬底300的顶表面上制作用于存储器 102的支持电路。单片式三维存储器阵列102被布置在衬底300的表面上方,并 且在支持电路的一部分上方。因此,支持电路的一部分被布置在存储器阵列102 下方,并且支持电路302的一部分被布置在衬底300上,位于不在单片式三维 存储器阵列102下方的区域中。在存储器阵列102下方的支持电路在图6的视 图中由于被存储器阵列102遮蔽而无法看到。注意,所使用的术语“上方”和 “下方”是相对于衬底而使用的相对术语。因此,衬底以其侧边进行翻转将不 改变存储器阵列102仍然位于衬底上方的事实,这是因为术语“上方”的使用 与衬底的表面相关而与衬底的方位无关。支持电路包括列控制电路110、行控制 电路120、以及系统控制逻辑130。注意,图5示出了比存储器阵列102宽的金 属层R1和R2以容纳在衬底的表面上而不在存储器阵列102下方的支持电路。

存储器阵列102被分为隔区(bay),每个隔区(可选地)可被划分为多个块。对 于不同的实施方案,隔区的数量可不同。在一个实施例中,在隔区中有16个块。 然而,其它实施例可使用不同数量的块。

块是连续的一组存储器单元,其具有一般未被解码器、驱动器、感测放大 器和输入/输出电路所中断的连续字线和位线。这样做可出于各种理由。例如, 沿着字线和位线行进的、由这些线的电阻和电容引起的信号延迟(即,RC延迟) 在大阵列中可能非常显著。通过将大阵列分为一组较小子阵列,以使得每个字 线和/或每个位线的长度减小,可以减小这些RC延迟。如另一示例,与访问一 组存储器单元关联的功率会对在给定存储器周期期间可以同时访问的存储器单 元的数量规定上限。因此,大存储器阵列往往被分为较小子阵列以减小被同时 访问的存储器单元的数量。集成电路可以包括一个或多于一个的存储器阵列。

在一个实施例中,存储器阵列102被布置成条(例如16个条)。条是从存储 器阵列的一端到另一端的线性的一组存储器元件块,条可以具有一个隔区、多 于一个的隔区或者小于一个隔区。在一个实施例中,隔区包括两个条,并且每 个条包括32个块。因此,隔区包括64个块。图7是描述一个示例存储器阵列 102的组织结构的框图,该存储器阵列被布置在衬底300上方且包括M个条。

图8描述条的一个示例。可以看出,块只从一端布置到另一端。图8示出 具有N个块的条。条中的块的确切数量取决于特定实施方案,并且本文中描述 的技术不需要特定的位于条中的块的数量。

回看图6,来自存储器阵列102的支持电路可包括列控制电路110、行控制 电路120、以及系统控制逻辑130。在一个实施例中,控制器134被实施在单独 的衬底上。然而,在其它实施例中,控制器134可被实施在与存储器阵列相同 的衬底上。如上面关于图6说明的那样,支持电路的一部分会被制作在衬底300 的、在存储器阵列102下方的表面上,而支持电路的另外部分将被实施在衬底 300的、在存储器阵列102外部的表面上。图9是示出被实施在存储器阵列102 下方以及存储器阵列102外部的支持电路的示例的框图。例如,图9示出了在 不处于单片式三维存储器阵列102下方的区域中被布置在衬底300表面上的支 持电路302。图9示出了被布置在衬底300的表面上、在存储器阵列102下方的 支持电路304。在一些实施例中,支持电路的一些部分可以被实施在三维存储器 阵列102的不同级上。

图9的支持电路302包括(至少)页寄存器120和状态机306(系统控制逻辑 130的部分)。支持电路302中还可包括支持电路的其它部分。在一个实施例中, 数据的逻辑页是用于编程的最小数据单位。因而,以页的集合对存储器进行编 程和读入。页寄存器102将包括能够存储用于读出和写入的数据逻辑页的寄存 器。页通常跨多个块实现。在一个实施例中,页包括2048字节的数据和128字 节的头信息(例如包括ECC),总计2176字节。页寄存器120还会包括逻辑电路, 该逻辑电路在写入(例如数据编码)之前操作数据,并且用于验证在写过程之后被 读出的数据是否匹配旨在被写入的数据(例如,验证操作)。页寄存器相对于主机 和存储器阵列用作中间存储装置。

状态系统控制逻辑130(见图1)会包括状态机306、用于提供各种电压的电 路、以及其它控制电路。状态机306用来控制数据的读出和写入。图9示出了 与页寄存器120通信的状态机306。

在衬底300的表面上、在存储器阵列102下方实施的控制电路304被划分 成对应于各个存储条的电路集合。因此,每个存储条具有位于该存储条下方的、 为该存储条提供支持的电路集合。例如,用于存储条0的支持部包括用于存储 条0的支持电路。注意,在单片式三维存储器阵列中存储条具有多个级。在存 储器阵列102的存储条0下方是用于存储条0的支持部,在存储条1下方是用 于存储条1的支持部,在存储条2下方是用于存储条2的支持部......,在存储 条M-1的下方是用于存储条M-1的支持部。状态机306与用于存储条0的支持 部、用于存储条1的支持部、用于存储条2的支持部、...、以及用于存储条M-1 的支持部通信。页寄存器102也与用于存储条0的支持部、用于存储条1的支 持部、用于存储条2的支持部、...、以及用于存储条M-1的支持部通信。

图10是页寄存器120的框图。在一个实施例中,页寄存器120包括控制逻 辑340,该控制逻辑340可包括用于控制页寄存器120的电路(数字和/或模拟电 路)。控制逻辑340与阴影寄存器(SR)342、数据寄存器(DR)344以及错误寄存器 (ER)346进行通信。控制逻辑340与不同的支持电路304以及系统控制逻辑 130(包括状态机306)进行通信。阴影寄存器342接收数据并将数据提供给系统控 制逻辑130。在其它实施例中,去往/来自阴影寄存器342的数据可被提供给控 制器134/从控制器134提供,或直接提供给主机。数据寄存器344从支持电路 304接收数据并且向支持电路304提供数据。在一个实施例中,阴影寄存器342、 数据寄存器344以及错误寄存器346与数据页的大小相同。因此,如果数据页 包括2048字节的数据和128字节的头部,则阴影寄存器342、数据寄存器344 以及错误寄存器346可存储2176字节。

由页寄存器120接收到的数据被输入到阴影寄存器342中。控制逻辑340 可以处理该数据,以执行各种数据编码、增加ECC(纠错码)、或其它功能。此后 数据从阴影寄存器342被传送至数据寄存器344。注意,出于本文的目的,术语 “传送”包括将拷贝从源提供给目的地并且可以包括在源处留下拷贝或者从源 删除拷贝。数据可以从数据寄存器344被传送至用于适当存储条的支持电路304, 以编程至存储器阵列102中。从存储器阵列102读出的数据从用于适当存储条 的适当支持电路304提供给数据寄存器344。随后在数据寄存器344中的数据可 被传送至阴影寄存器342,在该阴影寄存器342中可执行各种解码、ECC及验 证过程。最后的数据从阴影寄存器342被传送至系统控制逻辑130、控制器134 和/或主机。控制逻辑340使用错误寄存器346以进行下列各种功能中的任一个: 确定ECC错误(在一些实施例中)、确定写入验证错误、和/或其它功能。ECC还 可在控制器中确定。

图11是示出页寄存器120和用于一个存储条的支持电路420的框图。支持 电路420是电路304的子集。例如,支持电路可以表示图9中描述的用于存储 条0的支持部、用于存储条1的支持部、用于存储条2的支持部、......、用于 存储条M-1的支持部中的任一个。在一个实施例中,用于存储条的支持电路被 分成支持电路组,其中每个块包括其自身的组。例如,图11标示了32个电路 组,其中每个组与所述块(例如块0,...块31)中的一个相关联。例如,支持电路 组400与块0相关联,并且被实施在衬底200的表面上、在块0下方。支持电 路组402与块15相关联,并且被实施在衬底300的表面上、在块15下方。支 持电路410组与块16相关联,并且被实施在衬底300的表面上、在块16下方。 支持电路412组与块31相关联,并且被实施在衬底300的表面上、在块31下 方。尽管图11的架构包括32个块,因而包括32个支持电路组,但是由于页面 的空间所限在图11中仅示出4个支持电路组。但是,“...”用于表示没有被示 出的14个支持电路组。

图11示出了双向数据总线PR_OUT[15:0],其与页寄存器120相连并且跨 越整个条,以使得每个支持电路组(400...402,410...412)与16位总线PR_OUT [15:0]中的一个位相连;在其它实施例中,总线可比16位更宽或更窄。每个支 持电路组(400...402,410...412)包括与PR_OUT[15:0]中的一个位相连的缓冲& 解码器集合。例如,与块0关联的支持电路组400连接到PR_OUT[0],与块1 关联的支持电路组连接到PR_OUT[1],与块2关联的支持电路组连接到 PR_OUT[2],...,并且与块15关联的支持电路组402连接到PR_OUT[15]。此 外,与块16关联的支持电路组410连接到PR_OUT[0],与块17关联的支持电 路组连接到PR_OUT[1],与块18关联的支持电路组连接到PR_OUT[2],..., 并且与块31关联的支持电路组412连接到PR_OUT[15]。

每个支持电路组(例如组400)还包括五锁存器的集合。还可以使用其它存储 装置(例如触发器)而不使用锁存器。这五个锁存器包括读锁存器RL、写入数据 阴影锁存器(W-Data Shadow Latch)WSL、写入数据数据锁存器(W-Data Data  Latch)、感测放大器使能阴影锁存器SSL以及感测放大器使能数据锁存器SDL。 读锁存器RL用于存储从存储器阵列读取的读出数据。要存储在存储器阵列中的 写入数据首先被存储在写入数据阴影锁存器WSL中,随后被存储在写入数据数 据锁存器WDL中,并且随后被写入到存储器阵列102中。页寄存器将感测放大 器使能信息发送给感测放大器(下面论述)。感测放大器使能信息首先被存储在感 测放大器使能阴影锁存器SSL中,随后被存储在阴影数据锁存器SDL中,并且 随后由感测放大器用作编程过程的一部分。

为了完成上面的功能,缓冲&解码器与读锁存器RL相连,以用于从读锁存 器RL接收数据。缓冲&解码器与写入数据阴影锁存器WSL相连,以向写入数 据阴影锁存器WSL提供写入数据,并且与感测放大器使能阴影锁存器SSL相连, 以将感测放大器使能信息发送至感测放大器使能阴影锁存器SSL。写入数据阴 影锁存器WSL与写入数据数据锁存器相连。感测放大器使能阴影锁存器与感测 放大器使能数据锁存器相连。写入数据数据锁存器WDL和阴影数据锁存器SDL 都连接至合适的感测放大器并将信息发送至该感测放大器。

感测放大器将其读取输出发送至读锁存器RL。作为支持电路组400的一部 分并位于块0下方的感测放大器由于与块0关联而被称为感测放大器0;作为支 持电路组402的一部分的感测放大器由于在块15下方并且与用于块15的支持 电路关联而被称为感测放大15;等等。支持电路组(400...402,410...412)中的每 个均包括关联的感测放大器。感测放大器用于将合适的信号施加给位线以对位 线进行编程,并且在读过程期间感测位线的状态以确定由与位线连接的关联存 储器单元所存储的读出数据。每个感测放大器被示为具有表示存储器操作已成 功执行的输出(MEM_OK)。这些信号通过AND门集合而串链,以使得如果所有 感测放大器都输出存储器操作已成功,则信号PR_WRT_OK将为逻辑1。这个 信号被发送至页寄存器120以表示存储器操作成功。

如上所述,数据总线PR_OUT[15:0]是16位数据总线;然而,存在32个支 持电路组和32个感测放大器。因此多个感测放大器(及关联的支持电路组)必须 共享数据总线PR_OUT[15:0]中的位。如上所述,用于块0的支持电路组400和 用于块16的支持电路组410共享位PR_OUT[0],用于块2的支持电路组和用 于块17的支持电路组共享位PR_OUT[1],...,用于块15的支持电路组402和 用于块31的支持电路组412共享位PR_OUT[15]。存储器系统使用信号 SMI_CNT_ADR来指出共享该数据总线上的位的两个块中哪个块正利用该总线 通信。如果SMI_CNT_ADR等于0,则块0-15正利用总线PR_OUT[15:0]进行 通信,如果如果SMI_CNT_ADR等于1,则块16-31正利用总线PR_OUT[15:0] 进行通信。注意,针对不同实施例的不同实施方案,所使用的块的数量可不同。 因此,如果超过了32个块,则信号SMI_CNT_ADR可能需要超过1位。例如, 如果在存储条中具有64个块,则信号SMI_CNT_ADR会具有2位以指示4个感 测放大器子集中的哪一个子集将被连接至数据总线。类似地,如果在存储条中 具有256个块,则信号SMI_CNT_ADR会需要4位宽以指示16个感测放大器子 集中的哪一个子集将被连接至数据总线。

图11还示出从状态机传送至用于存储条的支持电路420的信号集合。这些 信号包括SMI_WDXSAE、SMI_TL_WE、SMI_TL_RE、SMI_TL_RXW、 SMI_TL_CPY以及SAE。信号SMI_WDXSAE确定总线PR_OUT[15:0]是否正 用于传送数据或感测放大器使能信息。在总线PR_OUT[15:0]上传送的要被编程 的数据被送至写入数据阴影锁存器WSL,并且在总线PR_OUT[15:0]上传达的 感测放大器使能信息被送至感测放大器使能阴影锁存器SSL。由于使用总线上 的同一位来传送写入数据和感测放大器使能信息这二者,所以信号 SMI_WDXSAE(其来自状态机)被用来指示总线PR_OUT[15:0]当前正用于哪个 功能。

信号SMI_TL_RXW用于指出:数据总线PR_OUT[15:0]是正用于将读出数 据从支持电路发送至页寄存器120,还是正用于将写入数据从页寄存器120发送 至适当支持电路。对于用于特定存储条的所有组400...401和410...412,信号 SMI_TL_WE被用作用于写入数据阴影锁存器WSL以及感测放大器使能阴影锁 存器SSL的锁存器使能信号。信号SMI_TL_RE是用于整个存储条的读锁存器 RL的锁存器使能信号。信号SMI_TL_CPY是拷贝信号,用于将数据分别从写 入数据阴影锁存器WSL和感测放大器使能数据锁存器SDL拷贝至写入数据数 据锁存器WDL和感测放大器使能数据锁存器SDL。信号SAE是感测放大使能 信号,其指示存储条的所有感测放大器将数据从写入数据数据锁存器编程至单 片式三维存储器阵列102的适当存储器单元中。

图12是示出使用图1-11所示组件的编程过程的一个实施例的流程图。通过 使用这些组件,也可使用编程过程的其它实施例来对数据进行编程。在图12的 步骤502中,系统接收数据以及将该数据编程到存储器阵列102中的请求。例 如,主机会发出命令给控制器134以对数据进行编程并提供该数据。该数据首 先由主机接收,并且随后传送至系统控制逻辑130。在另一实施例中,系统控制 逻辑130或控制器134可确定需要被编程的数据并且必要时呈现该数据。例如, 控制器134可以请求对数据进行编程,作为垃圾收集过程、存储器重组过程等 等的一部分。在步骤504中,要被编程的数据被加载到页寄存器120中。例如, 数据从系统控制逻辑130、控制器134或直接从主机被加载到页寄存器120的阴 影寄存器342中。如上所述,在一个示例中,每个存储条包括数据总线PR_OUT [15:0]。在具有16个存储条的示例中,256位的数据可同时被发送至支持电路(假 设每个存储条具有其自己的数据总线PR_OUT)。如果页寄存器保留2176字节的 数据,并且每次只有传输256位,则状态机306必须确定要选择哪256位以在 16个数据总线上输出。在上面提及的示例中,具有十六个数据总线PR_OUT [15:0],即,关于十六个存储条中的每一个存储条有一个数据总线。图12的步 骤506包括状态机选择页寄存器中的哪个数据集合以在每一个数据总线 PR_OUT[15:0]上输出。

在一个实施例中,存储器阵列102中的各个存储器单元被布置成列。在每 个块中具有多个列。例如,一个块可以包括64个列。如果存储条包括32个块, 则该存储条包括32×64=2048列。如上所述,对于一个存储条只具有32个感测 放大器(在每个块下方有一个)。因此,列解码器电路112(见图1)用来解码列地址 并且将每个感测放大器连接到适当的存储器单元的列(在步骤506中)。在一个示 例中,系统每次只对一个块进行读取或写入。

一旦在步骤506中执行了从页寄存器中选择数据集合,则该数据在每个双 向数据总线PR_OUT[15:0]上输出。在步骤508中,写入数据阴影锁存器WSL 锁存来自总线的数据。在于每个存储条的数据总线PR_OUT[15:0]上发送了数据 之后,页寄存器于是会在每个存储条的数据总线PR_OUT[15:0]上发送感测放大 使能信息。感测放大使能信息会由状态阴影锁存器SSL锁存,作为步骤508的 一部分。

即使页寄存器120可能具有用于存储条的所有32个感测放大器的数据,页 寄存器或状态机也可能决定并非所有的数据都不会被编程到存储器阵列中。在 一个示例中,如果数据与寻址到的存储器单元中已有的数据匹配,则改写该数 据是没有意义的。在另一实施例中,系统可以只对第一次未被正确编程的数据 子集进行重写。也可能存在不期望写入数据的其它理由。被传送至状态阴影锁 存器SSL的感测放大器使能信息向相关联的感测放大器指示是否将经由写入数 据阴影锁存器WSL和写入数据数据锁存器WDL传送的对应数据进行写入。

在步骤510中,在每个支持电路组的阴影锁存器WSL和SSL中存储的信息 从阴影锁存器WSL和SSL传送至数据锁存器WDL和SDL。注意,上述步骤针 对所有存储条同时执行。在步骤512中,针对存储在页寄存器中的下一个数据/ 信息集合,加载阴影锁存器WSL和SSL。在步骤514中,在写入数据数据锁存 器WDL中的数据通过使用合适的感测放大器而被编程到适当寻址的存储器单 元中。如果感测放大器在其感测放大器使能数据锁存器SDL中接收到合适的感 测放大器使能信息,则感测放大器会对来自写入数据数据锁存器WDL的数据进 行编程。在编程过程结束时,在步骤516中,感测放大器会将刚刚被写入到存 储器单元的数据的拷贝提供给读锁存器RL。在一个实施例中,感测放大器会实 际上执行新的读过程来读出该数据。在另一实施例中,感测放大器会仅仅采用 其从写入数据数据锁存器接收到的数据,并且如果写操作成功(WRITE_OK=1), 则将该数据发回至读锁存器RL,或者如果写操作不成功(WRITE_OK=0),则将 该数据反转并发回至RL。在步骤518中,在读锁存器RL中的数据经由用于存 储条中的每个存储条的数据总线PR_OUT[15:0]被发回至页寄存器120。在步骤 520中,页寄存器120会将从感测放大器读回的结果发送至状态机306。如果没 有更多需要被编程的数据(步骤522),则图12的过程结束。

如果还有需要被编程的数据(该数据在步骤512的前一迭代中会已被加载到 阴影锁存器中),则图12的过程循环回到步骤510,并且将数据从阴影锁存器 WSL和SSL拷贝到数据锁存器WDL和SDL中。在下面的步骤S512中,下一 个数据集被加载到阴影锁存器中,并且重复步骤510至522的过程,直到没有 更多要编程的数据为止。注意,尽管图12的流程图示出了以连续顺序进行的步 骤,但是许多步骤实际上可同时执行。此外,还可使用其它的步骤顺序。例如, 步骤512和514可同时执行,且步骤516和518可同时执行。

图13是示出执行步骤510-518的一个迭代的时序图。图13示出信号SAE、 SMI_TL_CPY、SMI_WDATASAE、SMI_CNT_ADR、SMI_TL_RXW、SMI_CAD [4:0]、SMI_TL_WE及SMI_TL_RE的行为。注意,信号SMI_CAD[4:0]是从状 态机306至页寄存器120及其它选择电路的信号,该其它选择电路指出选择哪 列存储器单元用于编程。在一个实施例中,每个块中具有32个列,并且信号 SMI_CAD[4:0]指出选择这32个列中的哪个列用于编程。在时间T0和T1之间, 信号SMI_TL_CPY脉动至高位,并且随后保持低位直到时间T8。这个脉冲是用 于写入数据数据锁存器WDL及感测放大器使能数据锁存器SDL的锁存器使能 信号,该锁存器使能信号致使来自阴影锁存器的数据被拷贝至数据锁存器WDL 和SDL(其作为步骤510的一部分)。

从时间T1至T5,系统针对下一个数据集合加载阴影锁存器(步骤512),并 且同时根据写入数据数据锁存器WDL对适当寻址的存储器单元同时编程(步骤 514)。在时间T1处,SAE升高,以向状态机指示开始编程过程,以将来自合适 的写入数据数据锁存器WDL的数据编程至存储器阵列102中的适当寻址的存储 器单元中。在时间T1至T2之间,信号SMI_TL_WE产生脉动。在这个脉冲期 间,SMI_WDXSAE为高,表示写入数据在数据总线PR_OUT[15:0]上正从页寄 存器120传送至写入数据阴影锁存器WSL。信号SMI_CNT_ADR被设置为低, 以表示支持电路组的子集400...402被选择与PR_OUT[15:0]连接。从T1至T6, 信号SMI_TL_RXW为低,以使得总线PR_OUT[15:0]只用于将写入数据和感测 放大器使能信息从页寄存器120传送至合适的支持电路304。在时间T2至T3 之间,信号SMI_TL_WE再次产生脉动,这时,SMI_CNT_ADR被设置为逻辑 1,以使得用于第二支持电路组410...412的写入数据数据锁存器WDL将接收用 于编程的写入数据。

在时间T3和T4之间,SMI_TL_WE将接收另一脉冲,以致使感测放大器 使能阴影锁存器锁存从页寄存器120通过PR_OUT[15:0]发送的感测放大器使能 信息。在时间T3至T4之间,SMI_CNT_ADR被设置为低,以表示用于第一支 持电路组400...402的感测放大器使能阴影锁存器接收感测放大器使能信息,并 且SMI_WDATAXSAE被设置为高,以表示正在数据总线PR_OUT[15:0]上发送 感测放大器使能信息。在时间T4至T5之间,SMI_TL_WE接收另一脉冲,以 从页寄存器120经由数据总线PR_OUT[15:0]将感测放大器使能信息锁存在用于 第二支持电路组410...412的感测放大器使能阴影锁存器中。在时间T4至T5之 间,SMI_CNT_ADR被设置为高,以表示数据被锁存在用于第二支持电路组 410...412的感测放大器使能阴影锁存器中。信号SMI_WDXSAE被设置为低, 以表示正在PR_OUT[15:0]上传送感测放大器使能数据。

在T5处,SAE降低,表示写过程已经完成了将数据写入到合适的存储器单 元中。响应于SAE过渡为低,合适的感测放大器会将数据读回至读锁存器RL。 因此,数据总线PR_OUT此时会用于将数据从支持电路304发回至页寄存器120, 并且信号SMI_TL_RXW在T6处转至逻辑1,并且保持高,直到T8为止。在 T6和T8之间的时间段用来执行图12的步骤516。当执行516的同时,系统将 执行图12的步骤518,该步骤包括将读出数据发回至页寄存器120。为了执行 步骤516,信号SMI_TL_RE产生脉动两次,一次在时间T6和T7之间,而第二 次在时间T7和T8之间。对于第一次脉冲,SMI_CNT_ADR被设置为低,而对 于第二次脉冲,SMI_CNT_ADR被设置为高。这样,第一次脉冲将致使数据被 加载到用于第一支持电路组400...402的读锁存器RL中,而第二次脉冲将致使 数据被加载到用于第二支持电路组410...412的读锁存器RL中。一旦 SMI_TL_RE转至高,相应的数据被加载到锁存器RL中,并且可出现在PR_OUT [15:0]上以传送至页寄存器120。

在T8处,执行步骤510至518的过程已完成。在T8开始,将执行步骤510 至518的下一次迭代。因此,在时间T8处,SMI_TL_CPY接收另一脉冲,以将 来自阴影锁存器的数据传送至数据锁存器,并且过程继续。此外,在时间T8处, 列地址SMI_CAD[4:0]将变为下一列。

如上所述,在存储器阵列102中的存储器单元被布置成列,以使得每个块 具有其自己的列集合。例如,每个块可以具有32列存储器单元。每列存储器单 元可具有处于该列中的16、32、64或其它数量的存储器单元。数据的单个页将 跨越多个列。在对特定页的数据进行编程时,存在存储器系统未必对存储器单 元的特定的列进行编程的很多情况。例如,如果在页寄存器中的数据量小于一 页,则通过该页寻址的一些存储器单元不需要被编程。例如,如果页寄存器只 存储了80%的数据页,则20%的存储器单元不需要被编程。该页中最初80%的 位被用于用户数据,并且最后20%的位不具有用户数据。在另一示例中,有可 能接收到用于编程的一些数据已与存储器单元中的数据匹配。在这情况中,存 储有与要被编程的数据匹配的数据的这些存储器单元不需要被编程。

有可能要被编程的一系列连续的数据位与存储在整列存储器单元中的数据 匹配。在这情况中,整列存储器单元不需要被编程。例如,在图像文件中,图 像的大部分可能是白色的并且针对白色的数据可能已存储在存储器单元中。在 另一示例中,存储器系统在编程之后将读回整个页,并且验证所读回的页与期 望要编程的数据的匹配。如果不是所有数据都匹配(或者少于预定数量的位匹 配),则该页将被重新编程。当对该页重新编程时,存储器单元的许多列可被跳 过,这是因为它们的数据确实与要被编程的数据匹配。通过跳过对一列或多列 存储器单元的编程,编程过程可以更快完成并且用更少功率来完成。

一些现有系统能够跳过对存储器单元的列的编程。在这些现有系统中,当 将数据编程到第一列存储器单元中时,系统将评估其是否应该跳过第二列存储 器单元。如果系统确定其不应该跳过第二列存储器单元,则当第一列存储器单 元已经完成编程时,将对第二列存储器单元编程。如果系统确定其应该跳过对 第二列存储器单元的编程,则系统将等待,直到第一列存储器单元已经完成编 程为止。在第一列存储器单元已经完成之后,此时系统将评估是否应该跳过第 三列存储器单元。如果系统不应该跳过第三列存储器单元,则随后将对第三列 存储器单元编程。这个过程会继续。这个过程的一个缺点是:一旦确定了系统 应该跳过存储器的列,则系统保持空闲,直到存储器单元的当前列已经完成编 程为止。因此,提出了一种过程,其使得存储器系统能够在对先前的存储器单 元列编程时评估和决定跳过存储器单元的多个列。这个过程在图14的流程图中 予以说明。

在图14的步骤560中,接收一个数据页(或更多)和对该数据页进行编程的 请求。例如,可以在控制器132从主机接收数据和请求。可替选地,可在(包括 状态机306的)系统控制逻辑130接收数据和请求。在步骤562中,该数据页被 加载到页寄存器120的阴影寄存器342中。在步骤564中,在阴影寄存器342 中的数据被传送至页寄存器120的数据寄存器344。

在步骤566中,系统将对目的用于存储当前驻留在数据寄存器344中的数 据页的存储器单元进行读取。注意,编程过程和读过程这二者皆在状态机306 的指引下执行,作为系统控制逻辑130的一部分。该页数据从目标存储器单元 被读回,并且流送至页寄存器120的控制逻辑304。当控制逻辑304接收每一位 时,其与数据寄存器344中对应的位进行比较。如果这两个位匹配,则在错误 寄存器346中对应的位中存储0。如果这两个位不匹配,则在错误寄存器346中 对应的位中存储逻辑1。当从存储器单元读出的所有数据已完成流送至控制逻辑 304时,错误寄存器346将存储结果的集合,以用于在要编程的数据与已驻留在 存储器单元中的数据之间的比较(步骤570)。匹配的那些位不需要被编程。与存 储器单元中的数据位不匹配的那些数据位需要被编程。错误寄存器于是将被用 作感测放大器使能信息的源,该感测放大器使能信息将被加载到合适的感测放 大器使能阴影锁存器SSL中,以开启对各个位的编程。步骤S570还包括将列计 数器X初始化为0。

在步骤572中,对于CAD[X](其为通过X寻址的列,例如列0),针对每个 存储条的第一数据集合,加载阴影锁存器(WSL和SSL)。在上面的示例中,对 于每个条,同时传送16位的感测放大器使能信息(SSL)和16位的数据(WSL), 作为步骤572的一部分。在一个实施例中,需要四个周期:(1)传送16位的写入 数据,(2)传送16位的写入数据,(3)传送16位的感测放大器使能信息,以及(4) 传送16位的感测放大器使能信息。在具有不同数量的感测放大器和不同总线宽 度的其它实施例中,周期可能不同。

在步骤574中,在所有存储条的阴影锁存器(WSL和SSL)中的数据被拷贝 至数据锁存器(WDL和SDL)。在步骤576中,当前被寻址到的特定列的数据从 WDL锁存器被编程到合适的存储单元中。此外,变量Y被设置为变量X的值 加1。这个变量的使用将会在后面解释。如果CAD[X]是要被编程的最后一列(步 骤577),则过程完成。否则,在步骤578中,以用于下一列(由CAD[Y]寻址)的 写入数据及感测放大器使能数据来加载阴影锁存器WSL和SSL。回想在步骤572 中,列CAD[X]是被寻址到的列,并且该列在步骤576的前一迭代中被编程。变 量Y被设置为比X大1(如果X不是最后一列的话),以使得此刻CAD[Y]寻址到 CAD[X]之后的下一列。被加载到阴影锁存器中的感测放大器使能信息来自错误 寄存器346。在步骤580中,页寄存器120将评估下一列CAD[Y]的写入数据, 以查看该数据是否需要被编程。在列CAD[0]为当前正处于编程中的列的示例中, 下一列是列CAD[1]。步骤578和580可并行执行或(以任一顺序)相继执行。在 一个实施例中,页寄存器120通过查看错误寄存器346中的位来评估是否跳过 下一列。如果列的所有对应的位都被设置为0,则没有数据需要被编程至该列中, 并且页寄存器120将推断该列可被跳过。

如果确定下一列可被跳过(步骤582),则在步骤584中,页寄存器120将向 其它组件(包括状态机306)指出下一列应被跳过。在一些实施例中,将数据传送 至阴影锁存器(步骤578)可能由于不再需要而中止。该传送可能会已经完成。如 果CAD[Y]是要被编程的最后一列(步骤585),则过程完成。否则,在步骤586 中,变量Y递增,并且过程循环回到步骤578。在步骤578的下一迭代中,针 对用于后续列CAD[Y]的数据和感测放大器使能信息,加载阴影锁存器,并且如 上所述那样,所述过程继续。步骤578、580、582、584和586的循环将重复, 直到确定不跳过列为止。可以看到,当页寄存器120确定列应该被跳过时,页 寄存器120在评估下一列之前并不等待当前所寻址的列结束编程。因而,在当 前数据页正被编程并且不等待该当前页完成编程时,页寄存器120能评估多个 列,直到其发现要编程的列为止。

如果页寄存器120确定其不应跳过列(步骤582),则在步骤588中,页寄存 器120和状态机306将等待当前列(例如CAD[X])完成编程。在当前列CAD[X] 完成编程之后,在步骤590中,针对当前列CAD[X]写入的数据页将被读回至 页寄存器120。在步骤592中,状态机306将确定是否存在更多的数据集合要编 程。如果没有,则图14的过程结束。如果还有数据要编程,则变量X被设置为 等于Y,并且所述过程循环回到步骤574,如上所述那样继续。

图15是示出在步骤574-582的三次迭代期间不同信号的行为的时序图。在 图15中示出的信号包括SAE、SMI_TL_CPY、SMI_WDXSAE、SMI_CNT_ADR, SMI_TL_RXW、SMI_CAD[4:0]、SMI_TL_WE、SMI_TL_RE、SMI_CAD ARY[4:0] 及PR_SKIP。信号PR_SKIP指出页寄存器120已确定应跳过对下一列的编程(见 图14的步骤584)。信号SMI_CAD[4:0]指示正被编程的当前列。信号SMI_CAD ARY[4:0]指示当前针对跳过而正进行评估的列。因而,SMI_CAD[4:0]类似于图 14的CAD[X],并且SMI_CAD ARY[4:0]类似于图14的CAD[Y]。

在图15的时间T0处,信号SMI_TL_CPY产生脉动。这对应于步骤574, 这是因为SMI_TL_CPY是用于WDL和SDL将来自WSL和SSL的数据拷入的 的锁存器使能信号。在T1处,SMI_CAD[4:0]变为示出针对待编程数据的新的 列地址(例如CAD1)。列地址的变化类似于图14中的步骤594。同样在T1处, SAE被设置为高,以开始对于CAD[X](在该情况中为CAD[1])的编程进展。SAE 将持续为高,直到T4与T5之间的点。同样在T1处,SMI_CAD ARY[4:0]发生 变化以指出要被评估的下一列,在本示例中,该列是CAD2。SMI_CAD ARY[4:0] 的变化对应于在步骤576中将Y值设置为“X+1”。

在时间T1之后不久,针对通过SMI_CAD ARY[4:0](类似于CAD[Y])所寻 址的列加载阴影锁存器WSL和SSL。因而,在时间T1之后,信号SMI_TL_WE 脉动四次。在所有四个脉冲期间,信号SMI_TL_RXW被设置为低,以表示写入 数据正通过总线PR_OUT传送。在SMI_TL_WE的第一个和第三个脉冲期间, 信号SMI_CNT_ADR被设置为低,以示出支持电路组400...402。在SMI_TL_WE 的第二个和第四个脉冲上,信号SMI_CNT_ADR被设置为高,以选择支持电路 组410...412。在SMI_TL_WE的前两个脉冲期间,SMI_WDXSAE为高,指出 写入数据正通过总线PR_OUT传送。在SMI_TL_WE的后两个脉冲期间,信号 SMI_WDATAXSAE被设置为低,以指出感测放大器使能信息正通过总线 PR_OUT从页寄存器120传送至感测放大器使能阴影锁存器SSL。在这四个脉 冲期间,页寄存器并行地评估错误寄存器346中的数据,以确定列CAD2是否 应该被跳过。在这个示例中,页寄存器120确定要被编程到CAD2中的数据与 已经在CAD2中的数据相同;因此,可跳过对CAD2的编程。因此,在时间T2 处,页寄存器120将PR_SKIP设置为高,以指出下一列(CAD2)应该被跳过。 PR_SKIP被发送至状态机306。将PR_SKIP设置为高对应于图14的步骤584。 注意,步骤580的评估发生在T1和T2之间。

在时间T3处,SMI_CAD ARY[4:0]改变,以指出要进行估计的下一列。列 地址的这个变化类似于在图14的步骤586中变量Y的递增。响应于列地址的递 增,以针对新的列(CAD3)的数据再次加载阴影锁存器。这样,对应于步骤578, SMI_TL_WE脉动四次。如上所述,在第二个和第四个脉冲期间,SMI_CNT_ADR 被设置为高,而在第一个和第三个脉冲期间,SMI_CNT_ADR被设置为低。在 前两个脉冲期间,SMI_WDXSAE为高,而在后两个脉冲期间,该信号为低。在 T3和T5之间,页寄存器120将评估针对CAD3的数据,以确定该CAD3是否 需要被编程。在这个示例中,页寄存器120确定:在错误寄存器346中的信息 指出要被编程到CAD3中的数据与CAD3中的数据匹配,所以可跳过CAD3的 编程。这通过在时间T4处抬高PR_SKIP来示出(类似于步骤584)。

在时间T5处,PR_SKIP被降低,并且由SMI_CAD ARY[4:0]表示的地址递 增以指示CAD4(类似于步骤586)。随后,阴影锁存器将被加载(类似于步骤578), 如在T5之后不久由SMI_TL_WE的四个脉冲所示。如上所述,在第一个和第三 个脉冲期间,SMI_CNT_ADR被设置为低,而在第二个和第四个脉冲期间, SMI_CNT_ADR为高。在前两个脉冲期间SMI_WDXSAE为高,而在后两个脉 冲期间,SMI_WDXSAE为低。在T5和T6之间的这个时间段期间,页寄存器 120对针对CAD4的数据进行评估(见步骤578)。在这个示例中,页寄存器120 确定(基于错误寄存器346中的信息):要被编程到CAD4中的数据与CAD4中存 储的所有数据并不匹配。例如,一个或多个位不同。因此,PR_SKIP保持低并 且系统会等待CAD0的编程完成(步骤588)。在时间T6处,被编程到CAD0中 的数据被送回至读锁存器RL(步骤590)。这由SMI_TL_RE(RL的锁存器使能信 号)的两个脉冲表明。在SMI_TL_RE的第一个脉冲期间,信号SMI_CNT_ADR 为低,而在第二个脉冲期间,SMI_CNT_ADR为高,从而每个支持电路组将具 有被发送至适当读锁存器RL的数据。在SMI_TL_RE上的两个脉冲的时间期间, 信号SMI_TL_RXW被设置为高,以指示总线PR_OUT[15:0]上的数据是从读锁 存器RL到页寄存器120的。至时间T8时,所有读出数据已由页寄存器120接 收,并且被存储在数据寄存器344中。读出的数据将被传送至阴影寄存器342 并且(有可能)被传送至状态机306和/或控制器134。在时间T6处,CAD4的数 据(其在阴影寄存器WDL中)被传送至数据锁存器WSL(类似于步骤574)。在时 间T8处,用于编程的当前列地址SMI_CAD[4:0]递增,以指示要被编程的列。 在这个示例中,SMI_CAD[4:0]将被设置为CAD4。此外,在时间T8处,要进 行评估的列递增,以使得SMI_CAD ARY[4:0]被设置为CAD5。随后这个过程继 续,如图14所述。

在所述示例中,存储条具有32个数据块、32个感测放大器和用于关联块的 32个支持电路组。在这个示例中,总线PR_OUT[15:0]包括16位;因此,在两 个周期中须加载32个锁存器集合。一旦这两个加载周期完成,则同时由32个 感测放大器对32位进行了编程。

在另一实施例中,系统可能通过同时使用少于32个感测放大器来尝试减小 功率。例如,系统可能只同时使用32个感测放大器中的16个。在这样的示例 中,需要执行两个编程周期,以针对列而对存储条中寻址到的所有32位进行编 程。在列的第一编程周期期间,前16个感测放大器将对其相应的位进行编程, 并且在第二编程周期期间,后16个感测放大器将对其相应的位进行编程。这两 个编程周期被称为感测放大器周期。出于本文的目的,感测放大器周期将被简 称为SAD周期。

在另一示例中,系统对于给定的存储条可能只同时使用8个感测放大器。 因此,对于每个列,实施四个SAD周期。在另一示例中,系统可能限于每次只 使用4个感测放大器;因此,对于每个列将需要8个SAD周期。在其它实施例 中,可使用不同数量的感测放大器,并且会使用合适数量的SAD周期。

当对列的数据进行评估以确定是否要跳过对该列的编程时,可能有如下情 况:由于一位或多位数据不同于已存储在存储器中的数据,因而页寄存器120 确定该列不能被跳过。在这些情况中,页寄存器还可试图评估每个SAD周期的 数据,目的在于跳过下述这些SAD周期:所述SAD周期具有与已存储在对应 存储器单元中的数据匹配的、要被编程的对应数据位。因此,如果系统确定可 跳过整个列,则系统将跳过该列。如果系统确定该列不可被跳过,则系统于是 将查看每个SAD周期的数据,并且跳过如下这些SAD周期:在该SAD周期中 要被编程的对应数据与存储在存储器单元中的对应数据匹配。图16示出了描述 这种过程的流程图。

在图16的示例过程中,假设每个块具有32个列;因此,信号SMI_CAD[4:0] 将寻址CAD0-CAD31。此外,对于每个列,具有四个SAD周期:SAD1、SAD2、 SAD3和SAD4。在图16的步骤640中,执行初始的一组步骤,包括执行图14 的步骤560-574。此外,变量b被初始化为1,变量n被初始化为0,并且SM_CECK 被设置为1。变量b被用来指示当前SAD周期。变量n被用来指示当前CAD周 期或列地址。变量SMI_CHECK被用来指示是否对列(CAD)的跳过或SAD的跳 过进行评估。

在步骤642中,系统将对当前列的当前SAD周期执行编程操作。如图16 所示,系统将执行关于CAD(n)的SAD(b)的编程。在步骤644中,确定是否变 量SMI_CHECK=1。如果是,则过程在步骤660继续。如果不是,则过程继续 至步骤680。在新的列开始时,SMI_CHECK将被设置为1,以使得首先评估列 跳过。如果列跳过评估指示该列不应该被跳过,则SMI_CHECK将被设置为0, 以使得可对SAD周期跳过进行估计。在以上论述中,由于这是进行检查的第一 列,并且所述过程处于列检查的开始,所以SMI_CHECK被设置为1并且图16 的过程将继续至步骤660。

在步骤660中,变量m将被设置为n+1。页寄存器120将评估是否跳过下 一列,页寄存器120将评估CAD(m),其中m=n+1,并且n是当前的列地址。 如上所述,步骤660通过页寄存器120检查错误寄存器346来执行。在步骤664 中,针对下一列CAD(m),写入数据从数据寄存器304传送至合适的写入阴影寄 存器WSL。在一个实施例中,步骤660和664被同时执行。在其它实施例中, 它们以任一顺序被相继执行。变量d(下面描述)被初始化为1。如果页寄存器120 确定下一列应该被跳过(步骤666),则在步骤668中,页寄存器120将向其它组 件(包括状态机306)指示下一列应该被跳过。如果CAD(m)是要被编程的最后一 列(步骤669),则过程完成;否则在步骤670中变量m(列地址)递增,并且所述 过程循环回到步骤660以评估是否跳过下一列。例如,如果步骤660正评估CAD1 并且页寄存器120确定该CAD1应该被跳过,则当所述过程循环回到步骤660 时,页寄存器将评估是否跳过列CAD2。页寄存器120会在无需等待当前列结束 编程的情况下继续对列进行评估,直到不应该被跳过的列为止。当页寄存器120 确定列不应该被跳过时(660),则在步骤670中变量SMI_CHECK被重置为0(自 从步骤666),并且过程继续至步骤680。在此处,确定下一列不能被跳过。

在步骤680中,页寄存器120将评估是否要跳过下一SAD周期。下一SAD 周期被记为CAD(m)的SAD(d)。步骤680包括:比较与SAD周期SAD(d)的感 测放大器关联的、错误寄存器346的合适的位。在步骤682中,用于CAD(m) 的SAD(d)的感测放大器使能信息被传送至感测放大器使能阴影锁存器SSL。在 一个实施例中,所有SSL锁存器将接收数据。然而,该数据将指示不针对在 CAD(m)的SAD(d)的所选一组感测放大器中没有的锁存器进行编程。在一个实 施例中,步骤680和682可被同时执行。在其它实施例中,它们可以任一顺序 相继执行。

如果下一SAD周期应该被跳过(步骤684),则在步骤695中页寄存器向其它 组件指出下一SAD周期应该被跳过。在一些实施例中,不需要步骤695。在步 骤696中,确定CAD(m)的SAD(d)(即,要被跳过的SAD周期)是否是列CAD(m) 的最后SAD周期。如果SAD(d)是列CAD(m)的最后SAD周期,则在步骤697 中确定CAD(m)是否为要被编程的最后一列。如果CAD(m)是要被编程的最后一 列,则过程完成;否则,在步骤699中变量被设置为:n=m、b=1、并且 SMI_CHECK=1。这具有递增至下一列的第一SAD周期的效果。在步骤699之 后,所述过程继续至步骤644。如果在步骤696中确定SAD(d)不是列CAD(m) 的最后SAD周期,则在步骤698中d被递增1以寻址列CAD(m)的下一SAD周 期。在步骤698之后,过程继续至步骤680,并且评估下一SAD周期。

如果下一SAD周期不应该被跳过(步骤684),则在步骤6896中,系统将等 待正被编程的当前SAD周期完成编程。在步骤690中,在阴影锁存器SSL和 WSL中的感测放大器使能信息和写入数据将被传送至数据锁存器SDL和WDL。 此外,变量将被设置为如下:n=m、b=d、d=d+1(在设置b=d之后)。如果在步骤 680的前一迭代中刚刚评估的SAD周期是列的最后SAD周期,则过程继续至步 骤694,并且变量SMI_CHECK被设置为1,以使得系统将考虑下一列。如果在 步骤680的前一迭代中评估的SAD周期不是当前列的最后SAD周期,则在步 骤692处的过程将继续至步骤642,以编程下一SAD周期。在步骤694之后, 过程还将继续至步骤642以编程下一SAD周期。

图17是描述关于图16所示过程的一个示例实施方案的不同信号的行为的 时序图。更具体地,图17的信号图示示出了关于一个特定列的表现,包括步骤 660-670的一次迭代以及步骤680-684的四次迭代。在这个示例中,当针对列 CAD1的SAD周期SAD4正对数据编程时,系统评估是否跳过列CAD2和列 CAD2的四个SAD周期。作为这个示例的一部分,系统确定跳过SAD1、跳过 SAD2并且对列CAD2的SAD3编程。

图17示出下面信号的行为:SAE、SMI_TL_CPY、SMI_WDXSAE、 SMI_CNT_ADR、SMI_TL_RXW、SMI_CAD[4:0]、SMI_TL_WE、SMI_RL_WE、 SMI_CAD ARY[4:0]、PR_SKIP、SMI_CHECK和SMI_SAD ARY[1:0]。信号 SMI_SAD ARY[1:0]指出正针对跳过而进行评估的SAD周期。

在图17的时间T0处,SMI_TL_CPY产生脉动以指出来自阴影锁存器的数 据被传送至数据锁存器(WSL和SSL至WDL和SDL)。这个脉冲是步骤690针 对将要被编程的当前列的表现的一部分。在这个示例中,当前列是CAD1。在步 骤T1,SAE被抬高以开始对于CAD1的SAD4的编程过程(见步骤642)。在T1 之后,执行图16的步骤660,并且页寄存器120将评估是否跳过下一列。因为 SMI_CHECK为高,所以执行步骤660。在T1之后,SMI_TL_WE脉动两次, 以使得写入数据可被传送至阴影锁存器WSL,作为步骤664的一部分。在这个 示例中,页寄存器120将确定下一列(CAD2——如SMI_CAD ARY[4:0]所示)不 应该被跳过。因此,SMI_CHECK为低(步骤670的一部分)并且页寄存器120将 评估CAD2的SAD1是否应该被跳过。

在对CAD2的SAD1进行估计期间,信号SMI_TL_WE脉动两次(就在时间 T2之后)以将感测放大器使能信息从页寄存器120传送至感测放大器使能阴影锁 存器SSL。在第一脉冲期间,SMI_CNT_ADR为低,而在该对脉冲的第二脉冲 期间,SMI_CNT_ADR为高。在这个示例中,页寄存器120确定SAD1应该被 跳过;因此PR_SKIP被设置为高(作为步骤695的一部分),并且页寄存器于是 将评估SAD2。因而,在时间T4处,SMI_SAD ARY[1:0]被变为SAD2(类似于 步骤698)。

在T4之后,页寄存器将评估SAD2是否应被跳过。当评估SAD2时,感测 放大器使能信息将被传送至阴影锁存器SSL,如由T4时开始的SMI_TL_WE上 的两个脉冲所表明的那样。用于SAD2的感测放大器使能数据将改写用于SAD1 的感测放大器使能数据。在这个示例中,页寄存器120将确定SAD2应该被跳 过;因此,在时间T5处PR_SKIP被抬高(步骤695)。尽管图17示出SMI_TL_WE 的两个脉冲,但在一些实施例中,当维持PR_SKIP时传送将被中止。

在T6处,SMI_SAD ARY[1:0]将递增至下一SAD周期,即SAD3,并且页 寄存器120将评估SAD3以确定是否跳过SAD3的编程。当进行评估时,SAD3 的感测放大器使能信息将从页寄存器120被传送至感测放大器使能阴影锁存器 SSL,如由T4处开始的SMI_TL_WE上的两个脉冲所表明的那样。SAD3的感 测放大器使能信息将改写存储在SSL中的SAD2的感测放大器使能信息。在这 个示例中,页寄存器120将确定针对SAD3的编程不应该被跳过;因此,PR_SKIP 在T6之后将保持低。在确定SAD3应该被编程之后,系统将等待编程完成,该 编程完成发生在T7之后不久。

在时间T8处,(用于对SAD3编程的)数据从阴影锁存器WSL和SSL发送 至数据锁存器WDL和SDL,如在SMI_TL_CPY上的脉冲所示。在时间T9处, SAE被抬高以开始针对SAD2的SAD3的编程过程(见图16的步骤642)。在T9 之后并且在对SAD2的SAD3编程时,页寄存器120将评估是否跳过CAD2的 SAD4。同时,将针对SAD4传送感测放大器使能信息,如在时间T9之后 SMI_TL_WE上的两个脉冲所示。在这个示例中,页寄存器确定跳过SAD4,并 且PR_SKIP在T9和T10之间维持为高。

一个实施例包括:衬底;布置在衬底的一部分上方的非易失性存储元件的 单片式三维存储器阵列;与非易失性存储元件通信的多个感测放大器;与所述 感测放大器通信的多个临时存储装置;与所述临时存储装置通信的页寄存器; 以及一个或多个控制电路。该一个或多个控制电路与页寄存器、临时存储装置 和感测放大器通信。临时存储装置被布置在衬底上、在单片式三维存储器阵列 的下方。感测放大器被布置在衬底上、在单片式三维存储器阵列的下方。页寄 存器被布置在衬底上、在未处于单片式三维存储器阵列下方的区域中。

一个实施例包括:衬底;布置在衬底上方的多个非易失性存储元件;与非 易失性存储元件通信的多个感测放大器;与感测放大器通信的多个临时存储装 置;与临时存储装置和感测放大器通信的一个或多个控制电路;以及与临时存 储装置和一个或多个控制电路通信的中间寄存器。中间寄存器被布置在衬底上、 在未处于非易失性存储装置下方的区域中。临时存储装置被布置在衬底上、在 非易失性存储元件下方。感测放大器被布置在衬底上、在非易失性存储元件下 方。响应于所述一个或多个控制电路,由感测放大器从非易失性存储元件读出 的数据被传送至临时存储装置,并随后被传送至中间寄存器。响应于所述一个 或多个控制电路,要被编程到非易失性存储元件中的数据从中间寄存器被传送 至临时存储装置。

一个实施例包括:布置在衬底的一部分上方的非易失性存储元件的单片式 三维存储器;与非易失性存储元件通信的多个感测放大器;与感测放大器通信 的多个临时存储装置;与临时存储装置和感测放大器通信的一个或多个控制电 路;与临时存储装置和一个或多个控制电路通信的页寄存器;以及在页寄存器 与临时存储装置之间的双向数据总线。对于特定感测放大器,临时存储装置中 用于存储该特定感测放大器的编程数据的存储装置与临时存储装置中用于存储 该特定感测放大器的读出数据的存储装置使用双向数据总线的同一位。响应于 一个或多个控制电路,由感测放大器从非易失性存储元件读出的数据被传送至 临时存储装置,并随后经由双向数据总线而传送至页寄存器。响应于一个或多 个控制电路,要被编程到非易失性存储元件中的数据经由双向数据总线从页寄 存器被传送至临时存储装置。

一个实施例包括:接收数据和存储该数据的请求;将数据传送至在衬底上 但不在非易失性存储元件的单片式三维存储器下方(其中单片式三维存储器在衬 底上方)的中间寄存器,将数据从中间寄存器传送至在衬底上且在单片式三维存 储器下方的临时存储装置;将数据从临时存储装置传送至在衬底上且在单片式 三维存储器下方的多个感测放大器;并且基于在感测放大器中的数据对非易失 性存储元件的子集进行编程。

上文中提供了具体描述以用于进行阐述和说明。但并非要穷举或者将本发 明限于所公开的精确形式。根据以上教导,可实现很多修改和变型。上述实施 例被选取用于最佳地解释本发明的原理及其实际应用,从而使得本领域技术人 员能够以不同的实施例并利用适于特定预期用途的不同变型来最佳地利用本发 明。本发明的范围要由所附权利要求来定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号