半导体存储器中的可编程芯片使能和芯片地址的制作方法

文档序号:6747736阅读:683来源:国知局
专利名称:半导体存储器中的可编程芯片使能和芯片地址的制作方法
技术领域
本发明涉及用于制造诸如基于半导体的存储器器件之类的集成电路的技术。
背景技术
基于半导体的存储器,包括诸如动态或静态随机存取存储器之类的易失性存储器和诸如闪存存储器之类的非易失性存储器,在各种各样的电子设备中得到了更普遍的使用。例如,非易失性半导体存储器用在蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其他设备中。包括闪存EEPROM的电可擦可编程只读存储器(EEPR0M)和电可编程只读存储器(EPROM)属于最受欢迎的非易失性半导体存储器。
与大多数存储设备一样,半导体存储器件可能具有有缺陷的组件或存储区域。例如,半导体存储器阵列的个体存储元件或存储器单元可能是有缺陷的。另外,包括字线、位线、译码器等的存储器阵列的外围电路可能是有缺陷的,致使相关联的存储元件也有缺陷。不可避免地,在任何商业制造的半导体存储器器件中,存储器阵列的某部分将会有缺陷。
大多数缺陷管理方案依靠于冗余的存储器单元来取代被确定为有缺陷的主要存储器单元。在例如图l所示的典型的半导体存储器制造工艺期间,在封装(package)存储器芯片(chip)以形成存储器器件之前进行晶圆(wafer)级测试12。晶圆可以包括成百上千的存储器芯片,每个存储器芯片将包括存储器阵列和诸如用于访问阵列的存储器单元的控制和逻辑电路之类的外围组件。在晶圆级测试12期间,测试存储器芯片的功能,使得有缺陷的组件不会不必要地集成到封装的器件中。通常以升高的和/或降低的温度(例如85t:和/或-30°C )进行晶圆级测试,来保证在极端条件下的功能并且保证对电路施压(stress)之后的功能。可以用来自芯片的冗余存储器单元来替代功能测试不合格的存储器单元。取决于正被制造的存储器的类型,可以采用不同的冗余方案。例如,可以替代个体存储器单元,可以替代整个列或位线的存储器单元,或者可以替代全部的存储器单元块。
在晶圆级测试12之后,将晶圆分割为个体存储器芯片,并且封装14一个或多个存储器芯片来形成存储器器件。然后,封装后的存储器器件经历老化(burn-in)工艺16来施压(stress)芯片的存储器阵列和外围电路。典型地,在甚至比晶圆级测试高的温度(例如125°C)下进行老化。在每个芯片的各种部分施加高电压来施压并识别不耐用的(weaker)元件。设计老化工艺的施压条件来导致不耐用元件的故障,该不耐用的元件之后可以在封装级测试18期间检测出来,在一些制造工艺中,不执行老化。 封装级测试通常由各种功能测试组成,以确定在老化后哪些单元是有缺陷的。最
近几年,已将诸如反熔丝(anti-fuses)之类的技术合并到了制造工艺中,使得可以由来自
存储器芯片的冗余存储器来替代老化之后被发现有缺陷的存储器单元。 在一些情况下,封装级测试18导致识别出整个存储器芯片有缺陷。例如,阵列中
的有缺陷的存储器单元的数量可能超过晶片(die)的冗余容量,或者某个外围电路可能出
故障而致使晶片不可用。当这种情况发生时,通常包含缺陷晶片的整个存储器封装不可用
并被丢弃20,导致制造工艺的成品率损失。如果存储器封装包含多个存储器芯片,则单个晶片的故障将导致封装被丢弃。

发明内容
存储器晶片配备有可编程芯片使能电路,以允许在封装之后隔离并禁止 (disable)特定存储器晶片。在多芯片存储器封装中,可以通过可编程电路来从存储器封装 中禁止和隔离在封装级测试中不合格的存储器晶片。典型地,在多芯片封装中的每个存储 器晶片的芯片使能管脚被绑在一起,使得响应于主(master)芯片使能信号来使能每个晶 片。可编程芯片使能电路可以覆盖(override)从控制器或主机设备接收的主芯片使能信 号。提供可编程芯片地址电路来允许在封装之后重新编址(readdress)特定存储器晶片。 例如,可以使用可编程电路来重新编址一个或多个无缺陷的存储器晶片,以替代由焊盘连 接(pad bonding)提供的唯一芯片地址,来提供连续的地址范围。在封装之后,还可以独立 于检测不合格的存储器晶片来重新编址存储器晶片。 在一个实施例中,一种制造非易失性存储器的方法包括将多个非易失性存储器 芯片和控制器封装在存储器封装中,其中存储器封装包括耦接到控制器和每个非易失性存 储器芯片的公共芯片使能线。响应于在公共芯片使能线上提供的芯片使能信号,来使能多 个非易失性存储器芯片。在封装之后,执行测试以确定所述非易失性存储器芯片中的任一 个是否是有缺陷的。如果存储器芯片是有缺陷的,则将它隔离于响应于芯片使能信号被使 能。 在一个实施例中,一种非易失性存储器系统包括多芯片封装,其中每个芯片具有 多个非易失性存储元件和一个或多个芯片使能管脚。每个存储器芯片的一个或多个芯片使 能管脚耦接到公共线。控制器与公共线通信,以及每个存储器芯片上的选择电路响应于由 控制器提供的芯片使能信号。每个选择电路响应于芯片使能信号来使能它相应的存储器芯 片。每个芯片上的一个或多个可编程电路的组(set)与该芯片的芯片使能管脚和选择电路 通信。在封装非易失性存储器系统之后,可编程电路的组是可配置的,以将相应的存储器芯 片隔离于响应于芯片使能信号被使能。 每个存储器芯片还可以包括一个或多个器件选择管脚和一个或多个额外的可编 程电路。器件选择管脚耦接到一个或多个焊盘的组,以及该额外的可编程电路在耦接在器 件选择管脚和选择电路之间。作为封装的一部分,使用针对焊盘的组的预定配置来定义每 个存储器芯片的唯一地址。每个存储器芯片的选择电路将把从控制器接收的地址与在器件 选择管脚的组上接收的唯一地址相比较,以确定是否要选择该存储器芯片。通过将额外的 可编程电路配置为向芯片的选择电路提供不同的地址以替代从所述焊盘的组接收的地址, 可以用不同的地址取代存储器芯片的唯一地址。


图1是描述根据现有技术的制造存储器的方法的流程图。 图2是示例性存储器封装的框图。 图3是根据一个实施例的存储器封装的框图。 图4是描述根据一个实施例的制造半导体存储器的方法的流程图。
图5是描述用于重新编址封装的存储器晶片的示例性技术的表格。
6
图6是根据一个实施例的存储器晶片的选择电路的框图。 图7是一个实施例的可编程芯片使能电路的一部分的电路图。 图8是一个实施例的可编程芯片地址(address)电路的一部分的电路图。 图9是描述用于重新编址来自多个封装的存储器晶片以从每个更小封装的存储
器晶片形成封装的示例性技术的表格。 图10是非易失性存储器系统的框图。 图11是NAND (与非)串的俯视图。 图12是图11的NAND串的等效电路图。 图13描绘了存储器阵列的示例性组织结构。 图14是描述编程非易失性存储器的方法的流程图。 图15是描绘存储器单元阵列的阈值电压的示例性分布和全序列编程的技术的示 意图。 图16是描绘存储器单元阵列的阈值电压的示例性分布和当每个存储器单元存储
两页的数据时用于两遍(two-pass)编程的技术的示意图。 图17是用于读非易失性存储器的方法的流程图。 图18是用于从非易失性存储器读取数据页的方法的流程图。
具体实施例方式
图2示意性地图示了具有多个个体存储器晶片(die) 102和控制器110的非易失 性存储器系统100。每个存储器晶片是安装在衬底或印刷电路板104上的集成电路存储器 芯片或晶片。控制器110也是安装在它自己的印刷电路板124上的集成电路芯片或晶片。 可以将这两个印刷电路板安装到第三印刷电路板(未示出)。在其他实施中,可以将控制器 和存储器晶片安装在相同的板上。 每个存储器器件包括由个别的非易失性存储器单元形成的非易失性存储器阵列 106。存储器阵列可以包括但不限于使用诸如NAND或NOR(或非)体系架构之类的体系架 构布置的闪存存储器单元。每个存储器晶片102包括用于编址(address)和控制它们各自
的存储器阵列的外围电路。控制器iio被包括在存储器系统中以控制主机设备和个体存储
器晶片102之间的存储器操作。控制器能够独立编址系统的每个存储器晶片。在存储器系 统中包括控制器不是必需的。例如,一些实现方式可能让控制器功能由主机设备处理,例如 由基于标准处理器的计算系统的处理器处理。而且,可以将多个存储器晶片102封装在单 一封装中而无需控制器,并且随后与其他封装和控制器组合来形成存储器系统。
每个存储器晶片102包括两组外部引脚(pinout)或管脚(pin)。每个晶片的第一 组引脚116是一组器件选择管脚。器件选择管脚为存储器器件提供针对封装的存储器系统 的唯一芯片地址。每个晶片的器件选择管脚连接到针对该晶片的一组焊盘连接114。在该 具体配置中,每个存储器晶片102具有连接到五个相应焊盘114的五个器件选择引脚116。 通过选择性地把存储器晶片的特定焊盘接地,该存储器晶片被配置了或键控(key)地址。 可以为个体存储器晶片提供焊盘的预定接地配置,来为它分配封装内的唯一芯片地址。衬 底104可以包括具有预定焊盘配置的底座(mo皿ts)。从而当将晶片安装到衬底时,为它们 分配相应的芯片地址。每个存储器晶片将从所应用到焊盘的配置来确定它的地址。器件选择管脚向器件内的选择电路提供焊盘(pad)的接地配置。当使能器件时,选择电路将由控 制器110提供的地址与接地配置相比较,来确定它是否应该选择和处理请求。
在图2中,假设地(ground)代表逻辑"O"并且图中的"x"描绘接地的焊盘,向存储 器器件1分配地址"ll"。向存储器器件2分配地址"10",向存储器器件3分配地址"Ol", 以及向存储器器件4分配地址"00"。如图2所示,仅仅需要两个焊盘来编址四个个体存储 器晶片,尽管对于每个晶片示出了总共五个器件选择引脚和接地焊盘。
第二组引脚118是用于将每个存储器晶片连接到公共器件总线120的器件总线引 脚。在第一端将器件总线120连接到控制器110,而在另一端将器件总线120连接到每个个 体存储器晶片102。根据实现方式,特别是根据系统中相应总线的要求,器件总线引脚118 的数量将改变。将每个存储器晶片连接到公共总线来接收和响应由控制器iio发出的各种 各样的控制和地址命令。控制线122被与器件总线120分离描绘,尽管在各种实施例中它 可能被视作器件总线120的一部分。控制线122是主芯片使能线。通常,响应于由控制器 110提供的主芯片使能信号来使能每个存储器器件。响应于该芯片使能信号,每个器件使能 器件内的输入寄存器组。当被使能时,晶片或阵列地址被从控制器传到在器件总线120上 并在每个器件处移入寄存器中。每个器件中的选择电路130将接收的阵列地址与由焊盘组 114的接地的预定配置提供的唯一地址相比较,来确定是否将选择存储器器件。如果是,则 存储器晶片的控制电路将通过从阵列读数据或向阵列写数据来处理请求。
如上所述,在封装存储器晶片来形成诸如图2所示的封装之后检测到的某些缺陷 可能导致整个存储器封装的不合格。在封装内在内部将每个存储器晶片的器件总线引脚 118绑在一起。例如,每个引脚可以连接到公共焊盘连接。 一旦晶片被封装在了一起,就不 可能物理改变内部布线来断开坏的晶片。另外,在封装时每个存储器晶片的焊盘连接114 就固定了。作为封装工艺的一部分,施加焊盘的预定配置并经由器件选择管脚连接存储器 晶片。 一旦封装了晶片,则不能改变固定的焊盘连接的配置。从而,当单一晶片没有通过封 装级测试时,封装不合格并通常被丢弃。因为芯片使能和器件选择管脚在检测到晶片不合 格之前即被固定,所以晶片不能被禁止或者映射到器件的地址范围之外。即便只有单一晶 片不合格,封装也是不可用的。 在非易失性存储器系统内为个体存储器晶片提供可编程芯片使能和可编程芯片 地址来克服这样的缺点。当在封装之后检测到它们的不合格时,隔离多芯片配置中的不合 格晶片。在不合格晶片打断存储器系统的连续地址范围的情况下,可以经由可编程芯片地 址来重新编址封装内的其他晶片,从而尽管有不合格的晶片也提供连续的地址范围。
图3示意性地图示了根据本公开的实施例的非易失性存储器系统200。图3的系 统200包含许多与图2相同的组件。将多个存储器器件202提供在具有控制器210的封装 中。每个存储器器件202包括连接到晶片的焊盘连接214的相应组的第一组管脚216。第 二组管脚或引脚218是用于将每个存储器晶片连接到公共器件总线220的器件总线引脚。 如前,每个存储器晶片经由它们的芯片使能管脚连接到控制线222,可以将控制线视为器件 总线220的一部分。 图3中的每个存储器晶片的控制电路包括第一可编程电路240,用于替代或重新 编程由接地焊盘的组提供的唯一地址;以及第二可编程电路242,用于将存储器晶片与在 控制线222上提供的主芯片使能信号相隔离。尽管将电路240和242描绘为与每个存储器
8晶片的相应选择电路230分离,但是可以包括这些电路作为选择电路的部分。每个可编程 电路包括一个或多个熔丝(fuse)或者其他合适的可编程电路,来为相应的存储器晶片重 新编程芯片使能信号和/或唯一阵列地址。 可以使用许多类型的可编程电路,以便存储为用来重新编程特定存储器晶片的芯 片使能信号和/或唯一地址所需的数据。通常,提供某类型的熔丝电路来存储在编程晶片 的芯片使能信号和/或芯片地址中所使用的逻辑数据。因为在器件封装之后编程熔丝电 路,所以熔丝电路应该在其封装状态中是可写的。反熔丝提供了用于存储逻辑数据的方便 手段,并且被用在一个实施例中。对比于标准熔丝的初始低电阻状态,反熔丝具有相应于 高电阻的第一逻辑状态和相应于低电阻的第二逻辑状态。在一些实例中,使用激光退火 (annealing)处理或电气处理(electrical process)来写或烧断(blown)反熔丝,以将器 件置于与第二或编程逻辑状态相应的其较低的电阻状态中。这些类型的反熔丝因为通常它 们要求直接作用(access)到熔丝,所以可能不适合封装后的编程,而仅仅可以被合并到晶 圆级测试中。 ROM熔丝特别适于封装后的编程,因为它们能够在成型(molding)和封装工艺之 后被写。ROM熔丝包括处于包括未编程的、高电阻状态或编程的、低电阻状态的两种逻辑状 态之一中的反熔丝元件。ROM阵列或寄存器中的未编程的反熔丝链路(link)可能具有千兆 欧姆级的电阻,而编程的反熔丝链路可能具有几百欧姆级的电阻。为了编程典型的反熔丝, 施加高电压信号来将链路从它的初始高电阻状态转移到它的编程的、低电阻状态。这用于 存储单个比特的逻辑数据。可以利用经受封装后的编程的其他电可编程熔丝。例如,一些 电可编程熔丝利用传统可编程非易失性存储器元件来将数据存储在逻辑状态中。通常,电 可编程熔丝既可以在器件封装之前也可以在之后访问(access)和编程。在使用可编程熔 丝的一个实施例中,可以使用存储器晶片的存储器单元的主要阵列的一部分。
可编程芯片使能电路242可以将熔丝或反熔丝置于如下初始状态,该初始状态使 得芯片使能信号直接传递到存储器晶片的选择电路。在该状态中,存储器晶片照常操作,在 它的芯片使能管脚上接收来自控制器(或主机设备)的主芯片使能信号。在封装器件之后 可以将第二值设置到熔丝中,以使得对于该特定存储器晶片根本上覆盖(overridden)芯 片使能信号。可以将R0M反熔丝(通常仅称作R0M熔丝)设置到它的低电阻状态,使得代 替器件总线上提供的芯片使能信号而提供替代(alternate)信号。 假设响应于芯片使能线上的低电压或地,每个存储器晶片202可操作来被它的选 择电路使能。如图3所示,在芯片使能管脚和选择电路之间提供可编程芯片使能电路。当将 可编程电路设置到第二值时,可以替代芯片使能信号在选择电路的输入处驱动高电压。因 此,芯片将不会响应于由控制器或主机提供的芯片使能信号而被使能。
可编程芯片地址电路240的一个或多个熔丝可以存储和提供用于它相应的存储 器晶片的替代的唯一地址。在图3中,每个唯一的芯片地址由两个比特组成,以分别地编址 四个存储器晶片,从而可以将两个熔丝用来分配替代的地址。第三熔丝可以用来存储表示 是否应该使用由熔丝提供的地址取代来自焊盘连接的标准地址的值。例如,可以通过编程 第三熔丝来致使激活芯片地址电路以替代芯片地址,而重新编程存储器晶片的芯片地址。 响应于第三熔丝被设置到其编程状态,可以将由前两个熔丝存储的逻辑值提供给选择电 路,以取代来自焊盘连接的在器件选择管脚上提供的唯一地址。例如,在其初始状态中的熔
9丝可以相应于逻辑"0",而在其编程状态中的熔丝可以相应于逻辑"1 "。如果第三熔丝被置 位(set),则提供来自前两个熔丝的值作为选择电路的输入,以取代焊盘连接地址。
图4中图示了制造非易失性半导体存储器器件的工艺,由此利用了可编程芯片使 能和/或可编程芯片地址。在步骤302处,对于半导体晶圆组执行晶圆级测试,每个半导体 晶圆典型地具有许多未分割的存储器阵列晶片,该存储器阵列晶片包括存储器阵列和用于 控制存储器阵列的外围电路。在晶圆级测试之后,在步骤304处,分割和封装晶圆的个体的 存储器晶片。在步骤304处,可以封装单芯片封装、多芯片封装,具有以及不具有控制器芯 片均可。可以使用大量种类的封装配置。典型地,将晶片安装在具有蚀刻在一侧或两侧的 导电层的衬底上。在晶片和一个或多个导电层之间形成电连接,其中一个或多个导电层提 供用于将晶片集成到电子系统中的电引线(lead)结构。 作为在晶片和一个或多个导电层之间形成电连接的一部分,在步骤306处,将每 个存储器阵列的芯片使能管脚连接到主芯片使能线或公共总线以从控制器或主机设备接
收芯片使能信号。在步骤308处,将预定配置应用到针对每个晶片的器件选择管脚的焊盘 连接的组,从而为每个晶片分配其自身的唯一芯片地址。可以将所选择的管脚配置到接地 的焊盘以定义地址,如图3的例子所示的那样。例如,一些晶片配备有晶片上的焊盘连接, 该焊盘连接可以连接到引线框架(leadframe)的电引线,以定义唯一芯片地址。典型地,一 旦进行了晶片和衬底之间的电连接,组合件被封闭在成型化合物(moldingcompound)中以 提供保护性封装。 在步骤310处,可以执行先前针对图l所述的可选的老化工艺,以对包括一个或多 个存储器阵列、外围电路、控制器等的封装施压(stress)。在老化之后,在步骤312处,在封 装上执行测试。可以应用许多类型的封装级测试,包括例如位线和字线测试来检测故障、短 路等,针对读、写和数据保持的存储器单元测试,外围电路测试等。在一些实施例中,在封装 之后,在步骤312处,使用冗余存储器单元来单个地或按个体存储器晶片的块或按个体存 储器晶片的列等地替代有缺陷的存储器单元。 如果没有晶片被确定为有缺陷,则该工艺完成,并在步骤316处交付具有全容量 的被封装的器件。如果一个或多个存储器晶片是有缺陷的,则在步骤318处,可以将它们与 封装中的其他存储器晶片隔离。在一个实施例中,步骤314可以包括确定有缺陷的晶片的 个数是否是可管理的,并且仅仅在该晶片的个数是可以由可编程电路处理的情况下才前进 到步骤318。如果所有的晶片或大于另一预定数目的晶片不合格,则可以丢弃该封装。
步骤318禁止有缺陷的晶片,如之前在一个实施例中所述的那样。存储器晶片上 的可编程电路可以覆盖在封装的公共器件总线上提供到晶片的芯片使能信号。例如,可以 将ROM熔丝编程到指定晶片被禁止的逻辑状态。作为响应,电路可以在芯片使能输入(例 如芯片使能管脚)处提供替代偏置,其覆盖(override)芯片使能信号。如果芯片使能信号 变低来使能器件,则可编程电路可以在晶片内部的芯片使能线上输出高电压来一直禁止晶 片。 在步骤320处,确定是否将重新编址芯片的一个或多个无缺陷的存储器晶片。在 一些情况下,仅仅禁止有缺陷的晶片,以及存储器封装提供相应减少的容量。在下文中更全 面描述的其他情况下,重新编址一个或多个无缺陷的(non-defective)存储器晶片来为存 储器封装提供无缺陷的连续地址范围。例如,如果四芯片存储器封装中的第二个被禁止,则可以用晶片1的地址重新编址晶片0来提供与晶片2和3连续的地址范围。如果将重新编 址一个或多个晶片,则使用可编程电路来提供晶片的替代地址以取代由焊盘连接提供的唯 一地址。 图5是图示用于在四芯片封装中重新编址存储器晶片的示例性方案的表格。所图 示的方案仅仅是用于重新配置存储器晶片的芯片地址的一个例子。在所提供的例子中,没 有提供三芯片封装,所以即使只有一个晶片有缺陷,也至少两个晶片是禁止的。可以这样做 以便例如提供标准尺寸的存储器封装。在另一例子中,仅仅禁止单个有缺陷的晶片,并且可 以提供三芯片封装。 如果所有的芯片是好的,则不需要重新编址,并且全容量封装是可交付的。如果芯 片3是坏的,则隔离芯片2和3,并且该封装提供一半的容量。因为芯片0和1提供了连续 的地址范围,所有没有芯片被重新编址。如果芯片2是坏的,则再次隔离芯片2和3,并且没 有芯片被重新编址。如果芯片1是坏的,则隔离芯片1和3,并且用芯片1的芯片地址重新 编程芯片2。这提供了与芯片0和1的原始地址相应的连续地址范围。如果芯片1和3是 坏的,则隔离它们,并且用芯片1的芯片地址重新编程芯片2。如果芯片l和2是坏的,则隔 离它们,并且用芯片1的地址重新编程芯片3。如果芯片1、2和3是坏的,则禁止它们,并 且芯片0保持它的原始地址。如果芯片0是坏的或者如果芯片0和3是坏的,则禁止芯片 0和3,并且用芯片0的地址编程芯片2。如果芯片0和2是坏的,则禁止它们,并且用芯片 0的地址编程芯片3。如果芯片0、2和3是坏的,则禁止它们,并且用芯片0的地址编程芯 片l。如果芯片0和1是坏的,则禁止它们,并且用芯片0的地址编程芯片2。如果芯片0、 1和3是坏的,则禁止它们,并且用芯片0的地址编程芯片2。如果芯片0、1和2是坏的,则 隔离它们,并且用芯片0的地址编程芯片3。如果所有的芯片是坏的,则丢弃封装。
图6示意性地图示了一个实施例中的选择电路230。在图6中,将可编程电路作 为选择电路230的一部分描绘,不过它不需要在所有的实现方式中都如此。选择电路通常 包括移位寄存器352、比较器354、地址匹配锁存器356和S-R寄存器358。选择电路具有 来自器件选择管脚216和包括芯片使能线222的器件总线220的输入。选择电路具有输出 DS来选择或取消选择它控制的器件(存储器晶片)。 比较器354和地址匹配锁存器356实现针对存储器晶片的地址匹配。在图6的例 子中,将两比特地址从器件总线220的串行线SO和Sl移位到移位寄存器352中。在由通 过反相器368反相的主芯片使能线222上的LOW信号门控使能的(gate-enabled)控制线 P/D上携带时钟信号。在图6中,将主芯片使能线222示作器件总线220的一部分。然后, 将两比特的唯一芯片地址从移位寄存器352传递到比较器354。 在可编程芯片地址电路处于其初始状态的情况下,比较器接收作为第二输入的从 器件选择引脚216获得的唯一芯片地址。如前所述,通过焊盘连接214的接地配置或"键 控"来定义阵列内的每个位置(location)的地址。例如,依靠连接到板上特定底座的存储 器晶片,经由器件选择引脚将由底座的焊盘定义的地址传递到存储器器件上。
比较器将在串行线S0和Sl上接收的地址与在器件选择管脚上获得的地址相比 较。如果地址匹配,则比较器输出360变HIGH。通过芯片使能线CE222(连接未示出)上 的芯片使能信号的下降沿将该输出记录(clock)到地址匹配寄存器356中。这导致S-R寄 存器358被设置为HIGH,使得输出DS也是高并且选择器件。当地址不匹配时,DS将为LOW并且不选择该器件。 可编程芯片使能电路242用于将特定存储器晶片从封装隔离。这通过将晶片隔离于主芯片使能线以禁止存储器晶片来完成,使得它仍然是未选择的。在封装之后,可以编程该可编程芯片使能电路以禁止相应的存储器晶片。在它的初始状态中,该可编程芯片使能电路将简单地把经由主芯片使能线222接收的芯片使能信号直接传递到反相器368来控制门362。选择电路在它的正常模式中操作,使得芯片使能信号使能时钟信号P/D来将串行线SO和Sl上的地址移位到移位寄存器352中。 如果可编程电路被设置到第二状态,则相应的存储器晶片被隔离于芯片使能线222。通过变L0W(低)的主芯片使能信号来使能门362。因此,可编程电路可以在线370上驱动HIGH(高)信号而不是通常将在其上传递的芯片使能信号。以这种方式,不考虑在芯片使能线上由主机或控制器提供的芯片使能信号,门将保持关闭,并且时钟信号将不使能移位寄存器352来接收串行线SO和Sl上的唯一芯片地址。通过禁止输入移位寄存器352,相应的存储器晶片被禁止并且将保持这样,而独立于芯片使能信号。 可编程器件选择电路240用于重新编程封装中的特定存储器晶片的唯一芯片地址。器件选择输入管脚连接到可编程器件选择电路,该可编程器件选择电路当可编程电路处于它的初始操作状态中时将向比较器240直接传递其上的信号。第一熔丝可以存储单个比特来表示在器件选择管脚上接收的芯片地址将被覆盖。当该比特被赋值(assert)时,可编程器件选择电路向比较器354提供不同的唯一地址,从而覆盖由物理绑定提供的芯片地址。与唯一芯片地址中的比特数目相应的数目的熔丝用于提供不同的地址。例如,熔丝的初始电阻状态可以相应于逻辑"0",而编程的低电阻状态可以相应于逻辑"1 ",反之亦然。可以选择性地调节地址熔丝来存储新的芯片地址。然后,可编程电路在总线364提供该地址到比较器。这样,在封装之后,用新的唯一芯片地址重新编程了存储器晶片。
图7是根据一个实施例的可编程芯片使能电路242的示意图。R0MRD定时信号被提供作为门402的第一输入。来自ROM熔丝的数据信号作为第二输入提供。该数据信号携带该电路的来自ROM熔丝的单个比特数据的信号。如果ROM熔丝处于它的初始状态,则该门并不响应于定时信号被使能。在各种实施例中,例如,可以在上电或掉电时赋予(assert)定时信号,以使得来自ROM熔丝的数据被读取。如果该门没有被编程的熔丝使能,则该门输出保持L0W,并且输出CE_f0rce保持L0W。这样,主芯片使能信号被传递到如图6所述的选择电路。 如果编程了 ROM熔丝,则当发出R0MRD定时信号时CE_R0M将是高的,并且门402
的输出变HIGH(高)。响应于定时信号i_RRD和o_RRD,由触发器406采样来自0R(或)门
的输出的HIGH值。然后,将所采样的HIGH值作为输出CE_force提供。 连同来自芯片使能管脚的芯片使能信号的采样值,该输出CE_f0rCe被提供给NOR
门408。针对采样值,可以使用输入缓冲器(未示出)。如果通过编程R0M熔丝CE_force
变HIGH,则NOR门408的输出是L0W。该输出由反相器410翻转并作为内部的芯片使能信
号CE_internal提供。HIGHCE_internal输出将被提供给反相器368,反相器368向门362
提供L0W输出(图6)。从而,禁止移位寄存器352,导致禁止的存储器晶片。 图8是一个实施例中的可编程器件选择电路240的示意图。R0MRD定时信号和第
一 ROM熔丝(被称作选择熔丝)的输出被提供给门420。当定时信号R0MRD变HIGH时,将来自ROM熔丝的数据提供给该门。如果没有编程该熔丝,则该门输出保持低并且触发器424的输出是低。如果编程了该熔丝,则门420的输出变HIGH并且0R门输出422变HIGH。然后,响应于定时信号i_RRD和o_RRD,触发器424的输出CADD_SEL变HIGH。
图8中电路的较低部分用于选择由焊盘连接提供的原始芯片地址或由可编程电路提供的编程的地址。第一多路复用器MUX1426接收两个输入,即针对芯片地址的第一比特的CADD0_ori和CADD0_R0M。 CADD0_ori是针对芯片地址的第一比特的、来自焊盘连接的信号。CADDO—ROM是针对第一地址比特的、来自第一ROM熔丝的信号。第二多路复用器MUX2428接收两个输入,即针对芯片地址的第二比特的CADDl_ori和CADD1_R0M。 CADDl_ori是针对芯片地址的第二比特的、来自焊盘连接的信号。CADD1—R0M是针对第二地址比特的、来自第二 ROM熔丝的信号。如果CADD_SEL是低,相应于用于可编程器件选择电路的未编程的选择ROM熔丝,则从多路复用器提供原始的芯片地址。MUX1提供来自焊盘连接(CADDO_ori)的、针对芯片地址的第一比特的输出CADD0,而MUX2提供来自焊盘连接(CADD2_ori)的、针对芯片地址的第二比特的输出CADD1。如果CADD—SEL是高,相应于编程的选择ROM熔丝,则提供来自每个ROM熔丝的、编程的芯片地址。MUX1在输出CADDO上提供来自第一地址ROM熔丝的CADD0_R0M值,而MUX2在输出CADD1上提供来自第二地址ROM熔丝的CADD1_ROM值。 图6-8的示例性实施例利用了两比特的地址。因此,多路复用器接收两个输入并且使用两个ROM熔丝,用于替代的芯片地址。如果对于芯片地址利用更多的比特,则额外的ROM熔丝可以用于该地址的额外比特。 注意的是,可以独立于可编程芯片使能来使用可编程芯片地址。例如,封装级测试可能揭示特定芯片比其他芯片更好或具有更好的性能特性。如果要求或者期望封装的芯片0 "更干净"或者是较好性能的芯片,则可以重新编址选择芯片。例如,如果芯片3具有特别好的特性,则可以将它的地址与芯片0的地址交换,以将更好的芯片放在阵列的头部,在该情况下,没有芯片被禁止。 如已经描述的,一些存储器系统可以包括多个封装。例如,存储器卡可以包括两个或多个存储器封装。图9是图示用于重新编址选择存储器晶片来提供连续的地址范围的另一示例性实施例的表格。在图9中,将两个存储器封装组合来形成更大的存储器封装(例如存储器卡)。每个封装包含四个存储器阵列晶片。所组合的存储器封装组合的每个包括至少一个有缺陷的晶片。通过组合两个封装每个封装具有有缺陷的晶片提供了单个良好的四晶片的封装。 如果第一封装的芯片3是坏的,并且第二封装的芯片0、1和2是坏的,则可以组合这两个封装来形成由四个存储器晶片构成的具有连续地址范围的存储器封装。如上所述,可以隔离来自第一封装的芯片3以及来自第二封装的芯片0、1和2。然后,用来自第一封装的芯片3的地址重新配置来自第二封装的芯片3。 一些实施例利用单独的封装地址或用于封装的特定比特以及内部的晶片地址。在该情况下,重新配置封装2的芯片3可能仅仅要求重配比特来指定封装1。在其他情况下,可以使用更复杂的重新编址。
图10是诸如图3中描绘的非易失性存储器系统的另一视图,示出了可能在一些实现方式中包括的额外组件。存储器器件510包括一个或多个存储器晶片或芯片512。存储器晶片512包括二维的存储器单元阵列500、控制电路520以及读/写电路530A和530B。
13在一个实施例中,在阵列的相对侧上对称地实现通过各种外围电路对存储器阵列500的访问,使得每一侧上的访问线和电路的密度被减半。读/写电路530A和530B包括允许并行读或编程存储器单元页的多个感测块550。通过字线经由行译码器540A和540B以及通过位线经由列译码器542A和542B,存储器阵列500是可寻址的。在典型的实施例中,将控制器544作为一个或多个存储器晶片512包括在相同的存储器器件510 (例如,可移动存储卡或封装)中。在主机和控制器544之间经由线532以及在控制器和一个或多个存储器晶片512之间经由可以是器件总线220的线534来传输命令和数据。 控制电路520与读/写电路530A和530B合作来对存储器阵列500执行存储器操作。控制电路520包括状态机522、片上地址译码器425和功率控制模块526。状态机522提供存储器操作的芯片级控制。片上地址译码器524提供由主机或存储器控制器使用的地址和由译码器540A、540B、542A和542B使用的硬件地址之间的地址接口 。功率控制模块526控制在存储器操作期间提供给字线和位线的功率和电压。 在一个实施例中,选择电路230是控制电路520的一部分。控制电路可以形成状态机的一部分或者可以是独立的电路组件。这样,也可以将可编程电路240和242包括在控制电路和状态机中。控制电路可以包含或者可以不包含可编程熔丝元件。例如,在一些情况下,可以在控制电路内提供专用R0M熔丝。在其他情况下,实际的存储器阵列500可以用于可编程元件,从而在控制电路520和阵列之间划分可编程电路。 在一个实施例中,将存储器单元阵列500组织为NAND闪存存储器阵列。图11是示出示例性NAND串600的俯视图。图12是其等效电路。在图11和12中描绘的NAND串包括在第一选择栅极612和第二选择栅极622之间串联的晶体管610、612、614和616。在一个实施例中,晶体管610 、 612 、 614和616每个形成了 NAND串的个体存储器单元。在其他实施例中,NAND串的存储器单元可以包括多个晶体管,或者可以与图11和12中所描绘的不同。在此的讨论不限于NAND串中特定数目的存储器单元。选择栅极612将NAND串连接到位线626。选择栅极622将NAND串连接到公共源极线628。通过将合适的电压经由选择线SGD施加到控制栅极620CG来控制选择栅极612,以及通过将合适的电压经由选择线SGS施加到控制栅极622CG来控制选择栅极622。每个晶体管具有控制栅极和浮置栅极。晶体管610包括控制栅极610CG和浮置栅极610FG。晶体管612包括控制栅极612CG和浮置栅极612FG。晶体管614包括控制栅极614CG和浮置栅极614FG。晶体管616包括控制栅极616CG和浮置栅极616FG。控制栅极610CG与字线WL3相连,控制栅极612CG与字线WL2相连,控制栅极614CG与字线WL1相连,以及控制栅极616CG与字线WL0相连。
作为图13中示出的一个例子,描述了被划分为1024块的NAND闪存EEPR0M。每个存储器单元块包括形成列的一组位线和形成行的一组字线。典型地,每个块被分为许多页。典型地,页是编程或读的最小单位,尽管在单个操作中可能编程或读多于一页。在另一实施例中,个体的页可以被分为片段(segment),并且片段可以包含作为基本编程操作一次所写的最少数目的单元。典型地,将一页或多页的数据存储在存储器单元的一行中。 一页可以存储一个扇区(sector)或多个扇区的数据,其大小通常由主机系统定义。扇区包括用户数据和开销(overhead)数据。典型地,开销数据包括从扇区的用户数据计算出的纠错码(ECC)。控制器(在下面描述)的一部分在数据正被编程到阵列中时计算ECC,并且还在正从阵列读取数据时校验ECC。可替代地,将ECC和/或其他开销数据存储在不同的页中,或
14者甚至不同的块中,而不是它们所附属于的用户数据的页。典型地,一个扇区的用户数据是512字节,相应于通常在磁盘驱动中使用的扇区的尺寸。典型地,开销数据是额外的16-20个字节。大量的页形成块,例如,从8页直至32、64或更多的页不等。在一些实施例中,NAND串的一行组成一块。 图13示出了串联的四个存储器单元形成NAND串。尽管示出在每个NAND串中包括四个单元,但是可以使用多于或少于四个(例如,16、32或另一数目)。NAND串的一端经由第一选择晶体管或栅极(与选择栅极漏极线SGD相连)与相应的位线相连,而另一端经由第二选择晶体管(与选择栅极源极线SGS相连)与公共源极(c-source)相连。可以同时擦除每个块中存储的数据。在图13中的例子的每个块中,存在8512列,其被分为偶数列和奇数列。位线被分为偶数位线(BLe)和奇数位线(BLo)。在奇/偶位线体系架构中,沿着公共字线并连接到奇数位线的存储器单元被一次编程,而沿着公共字线并连接到偶数位线的存储器单元被在另一次编程。因此,可以同时读或编程532字节的数据。这些同时读或编程的532字节的数据形成逻辑页。因此,在该例子中,一块可以存储至少八页。当每个存储器单元存储两比特的数据(例如多电平单元)时,一块存储16页。也可以在实施例中使用其他大小的块和页。 在其他实施例中,不将位线分为奇数和偶数位线。通常将这样的体系架构称作全位线体系架构。在全位线体系架构中,在读和编程操作期间同时选择块的所有位线。同时编程沿着公共字线并连接到任意位线的存储器单元。在其他实施例中,可以将位线和块分解为其他的群(例如,左和右,多于两个的群等)。 在一个例子中,当编程存储器单元时,漏极和p阱接收OV,而控制栅极接收具有增加的幅度的一系列编程脉冲。在一个实施例中,系列中的脉冲的幅度范围为从12V到24V。在其他实施例中,系列中脉冲的范围可以不同,例如,具有高于12V的起始电平。在编程存储器单元期间,在编程脉冲之间的时段中执行验证操作。也就是说,在各个编程脉冲之间读取正被并行编程的一群单元的每个单元的编程电平,来确定它是否达到或超过了正将它编程到的验证电平。验证编程的一种手段是在特定比较点处测试导电。把验证为充分编程的单元针对所有后续的编程脉冲封锁(lock out),例如,在NAND单元中,通过将位线电压从0升高到VDD (例如1. 8V-3. 3V)而实现封锁,从而终止对这些单元的编程处理。在一些情况下,脉冲的数目将被限制(例如20个脉冲),并且如果给定的存储器单元没有被最后的脉冲充分编程,则认为发生了错误。在一些实现方式中,在编程之前擦除存储器单元(以块或其他单位)。 图14是描述用于编程非易失性存储器的方法的一个实施例的流程图。在步骤700处,擦除将被编程的存储器单元。步骤700可以包括擦除比将被编程的存储器单元多的存储器单元(例如以块或其他单元)。在步骤702处,执行软编程来使被擦除的存储器单元的被擦除的阈值电压的分布变窄。作为擦除过程的结果,一些存储器单元可以处于比需要更深的擦除状态中。软编程可以施加小的编程脉冲来将被擦除的存储器单元的阈值电压移动得更靠近于擦除验证电平。在步骤704处,"数据装载"命令由控制器544发出并被输入到控制电路520,允许数据输入到数据输入/输出缓冲器。输入数据被识别为命令,并经由输入到控制电路520的命令锁存信号(未示出)由状态机522锁存。在步骤706处,将指明页地址的地址数据从控制器或主机输入到行控制器或译码器540A和540B。输入数据被识别为页地址,并且受到输入到控制电路的地址锁存信号的影响,经由状态机522锁存。在步骤708处,将针对所寻址的页的编程数据的页输入到数据输入/输出缓冲器,以供编程。例如,在一个实施例中,可以输入532字节的数据。将该数据锁存在对于所选择的位线的合适的寄存器中。在一些实施例中,还将数据锁存在对于所选择的位线的第二寄存器中,以用于验证操作。在步骤710处,"编程"命令由控制器发出,并被输入到数据输入/输出缓冲器。经由输入到控制电路的命令锁存信号,由状态机522锁存该命令。 由"编程"命令触发,使用施加到合适的字线的步进脉冲编程电压,在步骤708中所锁存的数据将被编程到由状态机522控制的所选择的存储器单元中。在步骤712中,将施加到所选择的字线的编程脉冲电压电平V皿初始化到起始脉冲(例如12V),并将由状态机522保持的程序计数器PC初始化为0。在步骤714处,将第一 VreM脉冲施加到所选择的字线。如果逻辑"O"存储在特定的数据锁存器中,表示应该编程相应的存储器单元,则将相应的位线接地。另一方面,如果逻辑"l"存储在特定的锁存器中,表示相应的存储器单元应该保持在它当前的数据状态中,则将相应的位线连接到VDD以禁止编程。
在步骤716处,验证所选择的存储器单元的状态。如果检测到所选择的单元的目标阈值电压达到了合适的电平,则将存储在相应的数据锁存器中的数据改变到逻辑"1"。如果检测到阈值电压没有达到合适的电平,则不改变存储在相应的数据锁存器中的数据。以这种方式,逻辑"l"存储在它相应的数据锁存器中的位线不需要被编程。当所有的数据锁存器存储逻辑"l"时,状态机知道编程了所有所选择的单元。在步骤718处,检查是否所有的数据锁存器存储逻辑"l",如果是,则编程处理完成并且成功,因为所有所选择的存储单元都被编程了并验证到了它们的目标状态。在步骤720处报告"PASS(通过)"状态。注意在一些实施例中,在步骤718处,不是所有的数据锁存器都必须存储逻辑"l"。可能如果至少预定数目的数据锁存器存储逻辑"1"就足够了 。仍然存储逻辑"O"的数据锁存器与还没被编程的单元(慢编程单元)相关联或与有缺陷的单元相关联。可以容忍有限数目的未充分编程的单元或有缺陷的单元,这是因为在随后的读操作期间,可以应用错误纠正(ECC)来纠正与慢编程或有缺陷的存储器单元相关联的受损数据。 在步骤718处,如果确定不是所有的数据锁存器都存储逻辑"1",则编程处理继续。在步骤722处,相对于编程限制值(program limit value)来检查程序计数器PC。编程限制值的一个例子是20,然而,可以使用其它值。如果程序计数器PC不小于20,则在步骤724处确定未成功编程的单元数量是否等于或小于预定数量。如果未成功编程的比特数量等于或小于预定数量,则在步骤726处将编程处理标示为通过并报告通过的状态。在读处理期间,可以使用错误纠正来纠正未成功编程的比特。然而,如果未成功编程的比特数量大于预定数量,则在步骤728处将编程处理标示为失败并报告失败的状态。如果程序计数器PC小于20,则在步骤730处将VreM电平增加步长大小并递增程序计数器PC。在步骤730之后,过程返回到步骤714来施加下一 VreM脉冲。 图14的流程图描绘了可以应用于二进制存储的单遍(pass)编程方法。在可以应用于多电平存储的两遍编程方法中,例如,在流程图的单次迭代中可以使用多个编程或验证步骤。对于编程操作的每遍,可以执行步骤712-730。在第一遍中,可以施加一个或多个编程脉冲,并且验证其结果以确定单元是否在合适的中间状态中。在第二遍中,可以施加一个或多个编程脉冲,并且验证其结果以确定单元是否在合适的最终状态中。
在成功编程处理的最后,存储器单元的阈值电压应该恰当地在编程的存储器单元 的阈值电压的一个或多个分布内或者在擦除的存储器单元的阈值电压的分布内。图15图 示了当每个存储器单元存储两比特的数据时存储器单元阵列的阈值电压分布。图15示出 了针对擦除的存储器单元的第一阈值电压分布E。也描绘了针对编程的存储器单元的三个 阈值电压分布A、B和C。在一个实施例中,E分布中的阈值电压为负,而A、B和C分布中的 阈值电压为正。 图15的每个不同的阈值电压范围相应于该组数据比特的预定值。编程到存储器 单元中的数据与单元的阈值电压电平之间的特定关系依赖于单元所采用的数据编码方案。 在一个实施例中,使用格雷码赋值来向阈值电压范围分配数据值,使得如果浮置栅极的阈 值电压错误地移动到它邻居的物理状态,则将仅影响一个比特。 一个例子向阈值电压范围 E(状态E)分配"11",向阈值电压范围A(状态A)分配"10",向阈值电压范围B(状态B)分 配"00",以及向阈值电压范围C(状态C)分配"01"。然而,在其它实施例中,不使用格雷码。 尽管图15示出了四个状态,但是本发明还可以用在其它多状态结构,包括包含多于或少于 四个状态的那些结构在内。 图15还示出了用于从存储器单元读数据的三个读参考电压Vra、 Vrb和Vrc。通 过测试给定存储器单元的阈值电压在Vra、 Vrb和Vrc之上还是之下,系统可以确定存储器 单元在什么状态中。图15还示出了三个验证参考电压Vva、 Vvb和Vvc。当将存储器单元 编程到状态A时,系统将测试那些存储器单元是否具有大于或等于Vva的阈值电压。当将 存储器单元编程到状态B时,系统将测试存储器单元是否具有大于或等于Vvb的阈值电压。 当将存储器单元编程到状态C时,系统将确定存储器单元是否具有大于或等于Vvc的它们 的阈值电压。 在图15所示的已知为全序列(full sequence)编程的一个实施例中,可以将存储 器单元从擦除状态E直接编程到编程的状态A、 B和C中的任一个。例如,可以首先擦除将 被编程的一群存储器单元,使得该群中的所有存储器单元处于被擦除的状态E中。然后,图 15中描绘的处理将用于将存储器单元直接编程到状态A、 B或C中。当一些存储器单元正 从状态E编程到状态A时,其他存储器单元正从状态E编程到状态B和/或从状态E编程 到状态C。在这样的实施例中,针对存储器单元的特定存储器状态编码的两个比特两者均可 以被视作数据的单个页的一部分。 图16图示了编程存储用于不同两页,下页(lower page)和上页(upperpage),的 数据的多状态存储器单元的两遍技术的例子。描绘了四种状态状态E(11)、状态A(10)、状 态B(OO)和状态C(Ol)。对于状态E,两页均存储"1"。对于状态B,两页均存储"O"。对于 状态C,下页存储"1"且上页存储"0"。注意,尽管将特定比特样式分配到了每个状态,但是 也可以分配不同的比特样式。在第一编程遍中,根据将被编程到下逻辑页的比特设置单元 的阈值电压电平。如果该比特是逻辑"1",则不改变阈值电压,因为作为之前擦除的结果,它 处于恰当的状态中。然而,如果将被编程的比特是逻辑"O",则将单元的阈值电平增加到状 态A,如箭头750所示。那结束了第一编程遍。 在第二编程遍中,根据将被编程到上逻辑页中的比特设置单元的阈值电压电平。 如果上逻辑页比特将存储逻辑"1 ",则不发生编程,因为取决于下页比特的编程,单元处于 状态E或A——这两者均携带上页比特"l"——的一个中。如果上页比特将是逻辑"O",则移动阈值电压。如果第一遍导致单元保持在擦除状态E中,则在第二阶段中编程该单元使 得阈值电压增加到处于状态C内,如箭头754所示。如果作为第一编程遍的结果,单元被编 程到了状态A中,则在第二遍中进一步编程存储器单元使得阈值电压增加到处于状态B内, 如箭头752所示。第二遍的结果是将单元编程到指定的状态以来存储上页的逻辑"O"而不 改变下页的数据。在读或验证期间,存在许多方式来测量存储器单元的导电电流。在上面 的例子中,所选择的存储器单元的导电电流允许(或未能允许)包括所选择的存储器单元 的NAND串放电位线。在一时间段之后测量位线上的电压来确定它是否被放电。在另一例子 中,存储器单元的导电电流是通过其放电在感测放大器中的专用电容器的速率来测量的。
图17是描述用于从非易失性存储器单元读数据的一个实施例的流程图。图17提 供了系统级的读处理。在步骤802处,响应于在步骤800处接收的读数据的请求,对于特定 页执行读操作。在一个实施例中,当编程数据的页时,系统也将创建纠错码(ECC)并与该页 的数据一起写那些ECC。 ECC技术在本领域中是公知的。所使用的ECC处理可以包括本领 域中已知的任意恰当的ECC处理。当从页读数据时,ECC将用于确定是否在数据中存在任 何错误(步骤804)。可以在系统中的控制器、状态机或任何地方上执行ECC处理。如果在 数据中没有错误,则在步骤806处向用户报告数据。如果在步骤804处发现了错误。则在 步骤808处确定该错误是否是可纠正的。错误可能是由于浮置栅极到浮置栅极耦合效应或 者可能是由于其他物理机制引起的。各种ECC方法具有纠正数据集合中预定数量的错误的 能力。如果ECC过程可以纠正数据,则在步骤810处使用ECC处理来纠正该数据,并在步骤 812中向用户报告纠正了的数据。如果数据不能通过ECC处理纠正,则在步骤814中执行数 据恢复处理。在一些实施例中,在步骤814之后,将执行ECC处理。在恢复数据之后,在步 骤816处报告该数据。注意,图16的处理可以用于使用全位线编程或奇/偶位线编程所编 程的数据。 图18是描述用于执行页的读操作的处理的一个实施例的流程图。可以针对包括 块的所有位线、仅仅包括块的奇数位线、仅仅包括块的偶数位线或者包括块的其他子集的 位线的页,执行图18的处理。在步骤850中,将读参考电压Vra施加到与页相关联的合适 的字线。在步骤852中,感测(sensed)与该页相关联的位线,以确定所寻址的存储器单元 是否基于对其控制栅极施加Vra而导电。导电的位线指示该存储器单元导通了 (turn on); 因此,那些存储器单元的阈值电压在Vra之下(例如在状态E中)。在步骤854中,将位线 的感测的结果存储在对于那些位线的合适的锁存器中。在步骤856中,将读参考电压Vrb施 加到与正被读取的页相关联的字线。在步骤858中,感测位线,如上所述。在步骤860中, 将结果存储在对于位线的合适的锁存器中。在步骤862中,将读参考电压Vrc施加到与页 相关联的字线。在步骤864中,感测位线以确定哪些存储器单元导电,如上所述。在步骤 866中,将从感测步骤得到的结果存储在对于位线的合适的锁存器中。在步骤868中,确定 每条位线的数据值。例如,如果存储器单元在Vra处导电,则存储器单元在状态E中。如果 存储器单元在Vrb和Vrc处而不是Vra处导电,则存储器单元在状态A中。如果存储器单 元在Vrc处而不是Vra和Vrb处导电,则存储器单元在状态B中。如果存储器单元在Vra、 Vrb或Vrc处均不导电,则存储器单元在状态C中。在其他实施例中,感测各种电平(Vra、 Vrb和Vrc)可以以不同的顺序发生。 在各种实施例中,基于采用的编码和/或体系架构,可能需要施加不同数量的参
18考读电压。例如,当采用上页/下页体系架构时,可以简单通过使用Vrb读参考电压电平以 确定存储器单元是在状态E和A(上页比特二 1)的一个中还是在状态B和C(上页比特二 0)的一个中来完成上页读取。可以通过使用Vra和Vrc读参考电压电平以确定存储器单元 是在状态E和C(下页比特二 1)的一个中还是在状态A和B(上页比特二O)的一个中来完 成下页读取。 尽管为了示例性目的而主要描述了 NAND类型的闪存存储器。但是本公开不限于 此,并且适用于众多类型的集成电路。原则上,实施例可以用在包括可寻址的晶片的任何类 型的电路中。其他实施例可以包括N0R类型闪存存储器和易失性存储器,诸如SRAM和DRAM。 而且,前述的详细描述是为了说明和描述的目的给出的。而不试图穷尽或将本发明限制到 所公开的精确形式。根据上面的教授,许多修改和变型是可能的。选择所描述的实施例是 为了最佳地解释本发明的原理及其实际应用,从而使本领域技术人员可以最佳地在各种实 施例中以及用适于所期望的具体使用的各种修改来利用本发明。旨在由所附权利要求限定 本发明的范围。
19
权利要求
一种制造非易失性存储器的方法,包括将多个非易失性存储器芯片和控制器封装在存储器封装中,所述存储器封装包括耦接到所述控制器和所述非易失性存储器芯片的每个的公共芯片使能线,响应于在所述公共芯片使能线上提供的芯片使能信号来使能所述多个非易失性存储器芯片;在所述封装之后,确定所述多个非易失性存储器芯片中的所述非易性存储器芯片是否是有缺陷的;以及如果在所述确定期间确定所述多个非易失性存储器芯片的特定存储器芯片是有缺陷的,则将所述特定存储器芯片隔离于响应于所述芯片使能信号被使能。
2. 根据权利要求1所述的方法,其中隔离所述特定存储器芯片包括对于所述特定存储器芯片覆盖所述芯片使能信号。
3. 根据权利要求1所述的方法,其中每个存储器芯片包括芯片使能管脚、选择电路以及耦接在所述芯片使能管脚和所述选 择电路之间的一个或多个可编程电路,在所述芯片使能管脚上接收所述芯片使能信号;隔离所述特定存储器芯片包括编程所述一个或多个可编程电路来独立于所述芯片使 能信号从所述芯片使能管脚向所述选择电路提供基本恒定的偏置。
4. 根据权利要求3所述的方法,其中所述一个或多个可编程电路是一个或多个第一可编程电路;每个存储器芯片还包括一个或多个器件选择管脚和一个或多个第二可编程电路的组, 所述一个或多个器件选择管脚耦接到一个或多个焊盘的组,所述一个或多个第二可编程电 路耦接在所述一个或多个器件选择管脚和所述选择电路之间;所述方法还包括使用所述一个或多个焊盘的组的预定配置来定义所述存储器芯片的 每个的唯一地址,每个存储器芯片的所述选择电路将从所述控制器接收的地址与在所述一 个或多个器件选择管脚的组上接收的所述唯一地址相比较,以确定是否要选择所述每个存 储器芯片。
5. 根据权利要求4所述的方法,其中所述方法还包括如果确定所述特定存储器芯片是有缺陷的,则将第二存储器芯片的所 述唯一地址用不同的地址替代,所述替代包括配置所述第二存储器芯片的所述一个或多个 第二可编程电路,来向所述第二存储器芯片的所述选择电路提供所述不同的地址,以取代 从所述焊盘的组经由所述一个或多个器件选择管脚接收的所述唯一地址。
6. 根据权利要求5所述的方法,其中配置所述第二存储器芯片的所述一个或多个第二 可编程电路包括编程一个或多个熔丝来定义所述不同的地址,所述不同的地址从所述一个或多个熔丝 提供给所述选择电路,并且覆盖从所述焊盘的组接收的所述唯一地址。
7. 根据权利要求3所述的方法,其中 所述一个或多个第一可编程电路是一个或多个熔丝。
8. 根据权利要求7所述的方法,其中所述一个或多个熔丝包括反熔丝、激光熔丝和电 可吹断熔丝中的至少一个。
9. 根据权利要求1所述的方法,其中所述存储器芯片的每个包括非易失性NAND存储器阵列。
10. —种非易失性存储器系统,包括多个非易失性存储器芯片,每个包括多个非易失性存储元件和一个或多个芯片使能管 脚,每个存储器芯片的所述一个或多个芯片使能管脚耦接到公共线; 与所述公共线通信的控制器;响应于所述公共线上由所述控制器提供的芯片使能信号的、在每个存储器芯片上的选 择电路,每个选择电路响应于所述芯片使能信号来使能相应的存储器芯片;以及每个芯片上的一个或多个可编程电路的组,所述可编程电路的组与相应的存储器芯片 的芯片使能管脚和选择电路通信,所述可编程电路的组在封装所述非易失性存储器系统之 后是可配置的,以将相应的存储器芯片隔离于响应于所述芯片使能信号被使能。
11. 根据权利要求10所述的非易失性存储器系统,其中所述可编程电路的组通过在所述芯片使能信号到达所述相应的存储器芯片的所述选 择电路之前覆盖所述芯片使能信号,来隔离所述相应的存储器芯片。
12. 根据权利要求10所述的非易失性存储器系统,其中所述可编程电路的组通过独立于所述芯片使能信号从所述一个或多个芯片使能管脚 向所述选择电路提供基本恒定的偏置,来隔离所述相应的存储器芯片。
13. 根据权利要求10所述的非易失性存储器系统,其中每个存储器芯片包括耦接到所述每个芯片的一个或多个焊盘的组的一个或多个器件 选择管脚,所述每个芯片的所述焊盘的组具有用于定义所述每个芯片的唯一地址的预定配置;每个芯片上的所述一个或多个可编程电路的组是一个或多个可编程电路的第一组;以及每个芯片还包括与所述每个芯片的所述一个或多个器件选择管脚和所述选择电路通 信的一个或多个可编程电路的第二组,每个存储器芯片的所述一个或多个可编程电路的第 二组在封装所述非易失性存储器系统之后是可配置的,以定义所述每个存储器芯片的不同 的地址。
14. 根据权利要求13所述的非易失性存储器系统,其中所述多个存储器芯片包括有缺陷的存储器芯片和第一无缺陷的存储器芯片; 所述有缺陷的芯片的所述一个或多个可编程电路的第一组被配置为将所述有缺陷的存储器芯片隔离于响应于所述芯片使能信号被使能;以及所述第一无缺陷的存储器芯片的所述一个或多个可编程电路的第二组被配置为将所述第一无缺陷的存储器芯片的所述唯一地址用不同的地址替代。
15. 根据权利要求14所述的非易失性存储器系统,其中所述第一无缺陷的存储器芯片的所述不同的地址是所述有缺陷的存储器芯片的所述 唯一地址。
16. 根据权利要求13所述的非易失性存储器系统,其中特定存储器芯片的所述一个或多个可编程电路的第二组被配置为通过存储不同的地 址来定义所述不同的地址,将所述不同的地址提供给所述特定存储器芯片的所述选择电 路,以取代由所述特定存储器芯片的所述焊盘的组的所述预定配置定义的所述唯一地址。
17. 根据权利要求16所述的非易失性存储器系统,其中所述一个或多个可编程电路的第一组是一个或多个熔丝。
18.根据权利要求17所述的非易失性存储器系统,其中 所述一个或多个熔丝包括反熔丝、激光熔丝和电可吹断熔丝中的至少一个。
全文摘要
存储器晶片提供有用于在封装之后允许禁止特定存储器晶片的可编程芯片使能电路,和/或用于在封装之后允许重新编址特定存储器晶片的可编程芯片地址电路。在多芯片存储器封装中,可以通过覆盖从控制器和主机设备接收的主芯片使能信号的可编程电路来把在封装级测试中不合格的存储器晶片从存储器封装中隔离和禁止。为了提供连续的地址范围,可以使用另一可编程电路来重新编址一个或多个无缺陷的存储器晶片,以取代由焊盘连接提供的唯一的芯片地址。在封装之后,还可以独立于检测不合格的存储器晶片来重新编址存储器晶片。
文档编号G11C16/08GK101779249SQ200880025636
公开日2010年7月14日 申请日期2008年6月6日 优先权日2007年6月14日
发明者亚历克斯·马克, 法姆·朗, 洛克·涂, 郭天辰, 陈健 申请人:桑迪士克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1