3-D非易失性存储器中的部分坏的块的操作的制作方法

文档序号:14420857阅读:289来源:国知局
3-D非易失性存储器中的部分坏的块的操作的制作方法

本申请涉及可重新编程的非易失性存储器(例如半导体闪存存储器)的操作。



背景技术:

能够对电荷进行非易失性存储的固态存储器(特别是以封装为小形状因数卡的eeprom和闪存eeprom的形式)已经成为各种移动和手持设备(尤其是信息电器和消费电子产品)中的存储的选择。与同样为固态存储器的ram(随机存取存储器)不同,闪存存储器是非易失性的,并且即使在电源被关断之后也保留其存储的数据。另外,与rom(只读存储器)不同,闪存存储器类似于磁盘存储装置是可重写的。

闪存eeprom类似于eeprom(电可擦除且可编程只读存储器),在于它是可以被擦除并且将新数据写入或“编程”到它们的存储器单元中的非易失性存储器。两者都利用在场效应晶体管结构中的、设置在半导体基板中的沟道区域之上的、在源极区域与漏极区域之间的浮置(未连接的)导电栅极。然后控制栅极设置在浮置栅极之上。晶体管的阈值电压特性由保留在浮置栅极上的电荷量控制。换言之,对于浮置栅极上的给定的电荷水平,存在要在晶体管被导“通”之前施加到控制栅极的对应的电压(阈值),以允许其源极区域与漏极区域之间的传导。闪存存储器(例如闪存eeprom)允许同时擦除存储器单元的整个块。

浮置栅极可以保持一定范围的电荷,并且因此可以被编程到阈值电压窗口内的任何阈值电压电平(thresholdvoltagelevel)。阈值电压窗口的大小由装置的最小和最大阈值电平界定,装置的最小和最大阈值电平进而对应于可以编程到浮置栅极上的电荷的范围。阈值窗口通常取决于存储器装置的特性、操作条件和历史。原则上,窗口内的每个不同的、可分辨的阈值电压电平范围可以用于指定单元的有限存储状态。

非易失性存储器装置还由具有用于存储电荷的电介质层的存储器单元制造。使用电介质层,而不是之前描述的导电浮置栅极元件。ono电介质层跨越源极扩散(diffusion)与漏极扩散之间的沟道延伸。一个数据位的电荷被局域化在邻接漏极的电介质层中,并且另一数据位的电荷被局域化在邻接源极的电介质层中。通过单独地读取电介质内的空间分离的电荷存储区域的二进制状态来实现多状态数据存储。

许多非易失性存储器沿着基板(例如,硅基板)的表面形成为二维(2d)或平面存储器。其他非易失性存储器为三维(3-d)存储器,其单片形成在具有设置在基板上方的有源区的存储器单元的一个或多个物理级中。



技术实现要素:

三维非易失性存储器中的块可以包含多个可单独选择的串的集合。在一些示例中,这样的串的集合中的一个或多个可能是不可操作的并且可能测试失败,而相同的块中的其他串的集合是可操作的并且可以通过测试。可以映射来自两个或更多个这样的部分坏的块的可操作的串的集合,以形成虚拟块,虚拟块被分配虚拟块地址并且作为单元进行操作。虚拟块在大小上与好的物理块相等。这允许存储器管理系统以相等数据存储容量的块来操作,虽然用来形成虚拟块的部分坏的块各自具有缩小的数据存储容量。可以以比在好的块中存储的数据更高的冗余来存储虚拟块中的数据。虚拟块中的数据可以仅存储为slc格式(其中好的块存储至少一些mlc数据)。虚拟块中的数据可以储存特定类型的数据,或可以以与好的块不同的方式来操作。

一种操作3-d块可擦除非易失性存储器的方法的示例,3-d块可擦除非易失性存储器形成在基板上方设置的存储器单元的多个级中,每个块具有并行连接的n个可单独选择的nand串的集合,方法的示例包括:识别多个部分坏的块,每个部分坏的块具有一个或多个不可操作的可单独选择的nand串的集合和一个或多个可操作的可单独选择的nand串的集合;在部分坏的块内识别可操作的nand串的集合;从两个或更多个块映射可操作的可单独选择的nand串的集合,以形成一个或多个虚拟块,每个虚拟块由n个可单独选择的nand串的集合构成;将虚拟块地址独立地分配到一个或多个虚拟块;随后,在列表中维护虚拟块地址;以及随后,由虚拟块地址存取虚拟块。

存储器还包含好的块,好的块仅含有可操作的可单独选择的nand串的集合。列表可以是可用块列表,可用块列表包含好的块的地址,好的块和虚拟块对于数据的存储是同样可用的。可以使用第一冗余方案将数据存储在虚拟块中,并且可以使用第二冗余方案将数据存储在好的块中,第一冗余方案具有比第二冗余方案更强的纠错能力。数据可以仅以单级单元(slc)格式存储在虚拟块中,并且数据可以以多级单元(mlc)格式存储在好的块中的至少一些中。存储器还可以包含坏的块,坏的块含有多于阈值数量的不可操作的可单独选择的nand串的集合。可以维护存储器中存储的数据的逻辑到物理映射,逻辑到物理映射可以包含每个好的块的条目、每个部分坏的块的条目,并且不包含任何坏的块的条目。独立虚拟块可以作为单元被标记为废弃,并且可以随后在多个擦除操作中被擦除,多个擦除操作针对含有形成独立虚拟块的可单独选择的nand串的集合的部分坏的块。列表是便笺(scratch-pad)块的列表,便笺块仅用于之后被复制到其他位置的小部分数据的短期存储。

一种操作3-d非易失性存储器的方法的示例,3-d非易失性存储器形成为设置在基板上方的以物理块可擦除的存储器单元的多个级,每个物理块具有n个可单独选择的垂直nand串的集合,方法的示例包含:从不能满足测试标准的块之中识别多个部分坏的块,每个部分坏的块具有一个或多个不可操作的可单独选择的nand串的集合和一个或多个可操作的可单独选择的nand串的集合;在部分坏的块内识别可操作的nand串的集合;从两个或更多个块映射可操作的可单独选择的nand串的集合,以形成虚拟块,虚拟块由n个可单独选择的nand串的集合构成;将虚拟块地址分配到虚拟块;随后,在备用块列表中维护虚拟块地址;以及随后,仅当满足测试标准的块不可用时,由虚拟块地址存取虚拟块。

物理块的n个可单独选择的垂直nand串的集合可以从位置1至n物理地排序,并且形成虚拟块的可单独选择的垂直nand串的集合可以被选择为包含来自每个位置1至n的一个可单独选择的垂直nand串的集合。物理块的n个可单独选择的垂直nand串的集合可以从位置1至n物理地排序,并且可以在不考虑物理位置的情况下选择形成虚拟块的可单独选择的垂直nand串的集合。数据可以以比满足测试标准的块中存储的数据更低密度的格式存储在虚拟块中。数据可以以比满足测试标准的块中存储的数据更高的冗余度储存在虚拟块中。

一种非易失性存储器系统的示例,包含:三维非易失性存储器阵列,三维非易失性存储器阵列单片地形成在基板上方设置的存储器单元的多个物理级中,并且包含多个可单独擦除的物理块,每个物理块具有n个可单独选择的垂直nand串的集合;多个物理块的满足预定标准的第一子集;多个物理块的不满足预定标准的第二子集;多个物理块的第三子集,多个物理块的第三子集不满足预定标准并且各自被发现为含有至少一个可操作的可单独选择的垂直nand串的集合;多个虚拟块,独立虚拟块由来自两个或更多个块的可操作的可单独选择的垂直nand串的集合形成,两个或更多个块来自多个物理块的第三子集,每个虚拟块具有唯一的虚拟块地址;以及映射单元,映射单元将虚拟块地址映射到形成虚拟块的可单独选择的垂直nand串的集合,使得针对虚拟块地址的存取操作被重新映射到形成虚拟块的可单独选择的垂直nand串的集合。

物理块的n个可单独选择的垂直nand串的集合可以从位置1至n物理地排序,并且形成虚拟块的可单独选择的垂直nand串的集合可以包含来自每个位置1至n的一个可单独选择的垂直nand串的集合。块选择单元可以选择可用块以存储新的数据,块选择单元配置为仅当没有来自多个块的第一子集的块可用时选择虚拟块。冗余单元可以配置为对在多个物理块的第一子集中存储的数据应用更低级别的冗余,并且配置为对多个物理块的第三子集中存储的数据应用更高级别的冗余,更高级别的冗余具有比更低级别的冗余纠正更大量的错误的能力。三维非易失性存储器阵列可以位于第一裸芯上,并且映射单元和冗余单元可以位于第二裸芯上。第一裸芯和第二裸芯可以安装在存储器系统中的印刷电路板上,存储器系统是通用串行总线(usb)存储器、存储器卡,或固态驱动器。

各个方面、优点、特征和实施例包含在对其示例性示例的以下描述中,该描述应当结合附图进行。

附图说明

图1示意性地图示了存储器系统的主要硬件部件。

图2示意性地图示了非易失性存储器单元。

图3图示了浮置栅极可以存储的四种不同电荷q1-q4的源-漏电流id与控制栅极电压vcg之间的关系。

图4a示意性地图示了组织成nand串的存储器单元的串。

图4b图示了由例如图4a中示出的nand串50构成的存储器单元的nand阵列210的示例。

图5图示了以nand配置组织的存储器单元的页,其被并行地感测或编程。

图6a至图6c图示了编程存储器单元的群的示例。

图7示出了3-dnand串的物理结构的示例。

图8示出了了u形3-dnand串的物理结构的示例。

图9示出了在y-z平面中具有u形nand串的3-dnand存储器阵列的截面的示例。

图10a至图10c图示了在块中具有多个可单独选择的串的集合的3-dnand存储器的示例。

图11图示了虚拟块的形成。

图12图示了虚拟块形成方案。

图13图示了存储器系统的示例。

具体实施方式

存储器系统

半导体存储器装置包括:易失性存储器装置,例如动态随机存取存储器(“dram”)或静态随机存取存储器(“sram”)装置;非易失性存储器装置,例如电阻式随机存取存储器(“reram”)、电可擦除可编程只读存储器(“eeprom”)、闪存存储器(其也可以认为是eeprom的子集)、铁电式随机存取存储器(“fram”)和磁阻式随机存取存储器(“mram”);以及能够存储信息的其他半导体元件。每种类型的存储器装置可以具有不同的配置。例如,闪存存储器装置可以被配置为nand或nor配置。

存储器装置可以由无源和/或有源元件以任何组合形成。作为非限制性示例,无源半导体存储器元件包括reram装置元件,其在一些实施例中包括电阻率切换存储元件(例如反熔丝、相变材料等),以及可选地包括转向元件(例如二极管等)。此外作为非限制性示例,有源半导体存储元件包括eeprom和闪存存储器装置元件,其在一些实施例中包括包含电荷存储区域的元件,该电荷存储区域是例如浮置栅极、导电纳米颗粒或电荷存储电介质材料。

多个存储器元件可以配置为使得它们串联连接,或者使得每个元件可独立存取。作为非限制性示例,nand配置(nand存储器)中的闪存存储器装置通常包含串联连接的存储器元件。nand存储器阵列可以配置为使得阵列由多个存储器的串组成,其中串由共享单个位线的多个存储器元件组成并且作为组被存取。替代地,存储器元件可以配置为使得每个元件可独立存取,例如nor存储器阵列。nand和nor存储器配置是示例性的,并且存储器元件可以以其他方式配置。

位于基板内和/或基板之上的半导体存储器元件可以以二维或三维布置,例如二维存储器结构或三维存储器结构。

在二维存储器结构中,半导体存储器元件布置在单个平面或单个存储器装置级中。典型地,在二维存储器结构中,存储器元件布置在基本上平行于支撑存储器元件的基板的主表面延伸的平面中(例如,在x-z方向的平面中)。基板可以是晶片,存储器元件的层形成在其之上或其中;或者它可以是载体基板,其在存储器元件形成之后附接到存储器元件。作为非限制性示例,基板可以包括半导体,例如硅。

存储器元件可以以有序阵列(例如以多个行和/或列)布置在单个存储器装置级中。然而,存储器元件可以排列为非规则或非正交配置。存储器元件可以各自具有两个或更多个电极或接触线,例如位线和字线。

三维存储器阵列布置为使得存储器元件占据多个平面或多个存储器装置层级,从而形成在三个维度中(即,在x、y和z方向中,其中y方向基本垂直于基板的主表面,并且x和z方向基本平行于基板的主表面)的结构。

作为非限制性示例,三维存储器结构可以垂直布置为多个二维存储器装置级的堆叠体。作为另一非限制性示例,三维存储器阵列可以布置为多个垂直的列(例如,基本垂直于基板的主表面(即在y方向上)延伸的列),其中每个列在每个列中具有多个存储器元件。这些列可以布置为二维配置(例如在x-z平面中),产生存储器元件的三维布置,其中元件在多个垂直堆叠的存储器平面上。存储器元件在三个维度中的其他配置也可以构成三维存储器阵列。

作为非限制性示例,在三维nand存储器阵列中,存储器元件可以耦接在一起,以在单个水平(例如,x-z)存储器装置级内形成nand串。替代地,存储器元件可以耦接在一起,以形成横跨多个水平存储器装置级的垂直nand串。可以设想其他三维配置,其中一些nand串包含单个存储器级中的存储器元件,而其他串包含跨越多个存储器级的存储器元件。三维存储器阵列也可以设计为nor配置和reram配置。

典型地,在单片三维存储器阵列中,一个或多个存储器装置级形成在单个基板的上方。可选地,单片三维存储器阵列还可以具有至少部分地在单个基板内的一个或多个存储器层。作为非限制性示例,基板可以包括半导体,例如硅。在单片三维阵列中,构成阵列的每个存储器装置级的层通常形成在阵列的下面的存储器装置级的层上。然而,单片三维存储器阵列的相邻的存储器装置级的层可以是共享的,或者在存储器装置级之间具有中间层。

而且,二维阵列可以单独形成并且然后封装在一起,以形成具有多层存储器的非单片存储器装置。例如,可以通过在分离的基板上形成存储器级并且然后将存储器级上下叠置来构造非单片堆叠存储器。在进行堆叠之前,将基板减薄或从存储器装置级移除基板,但是由于存储器装置级初始形成在分离的基板之上,所以所得到的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以形成在分离的芯片上并且然后封装在一起,以形成堆叠芯片存储器装置。

存储器元件的操作和与存储器元件的通信通常需要相关联的电路。作为非限制性示例,存储器装置可以具有用于控制和驱动存储器元件以实现例如编程和读取的功能的电路。该相关联的电路可以与存储器元件在同一基板上和/或在分离的基板上。例如,用于存储器读写操作的控制器可以位于分离的控制器芯片上和/或与存储器元件位于同一基板上。

在其他实施例中,可以使用除了本文描述的二维和三维示例性结构之外的存储器类型。

图1示意性地图示了适合于实现本文描述的一些技术的存储器系统的主要硬件部件。存储器系统90通常通过主机接口与主机80一起操作。存储器系统可以是例如存储器卡的可移动存储器的形式,或者可以是嵌入式存储器系统的形式。存储器系统90包括存储器102,其操作由控制器100控制。存储器102包括分布在一个或多个集成电路芯片之上的非易失性存储器单元的一个或多个阵列。控制器100可以包括接口电路110、处理器120、rom(只读存储器)122、ram(随机存取存储器)130、可编程非易失性存储器124和附加的部件。控制器通常形成为asic(专用集成电路),并且包含在这样的asic中的部件通常取决于特定的应用。存储器系统可以在各种不同的环境中与各种主机一起使用。例如,主机可以是移动装置,例如手机、膝上型电脑、音乐播放器(例如mp3播放器)、全球定位系统(gps)装置、平板计算机等。这样的存储器系统可能长期是无源的(没有电源),在此期间它们可能经受包括高温、振动、电磁场等各种条件。用于这样的主机的存储器系统(无论是可移动的还是嵌入式的)可以选择为低功耗、高数据保持能力、以及在宽范围的环境条件(例如,宽温度范围)下的可靠性。其他主机可以是固定的。例如,用于互联网应用的服务器可以使用非易失性存储器系统来存储通过互联网发送和接收的数据。这样的系统可以长期(例如,一年或更长时间)保持通电而不中断,并且可以在整个这段时期内频繁地被存取。个别的块可能会被频繁地写入和擦除,所以耐久力可能是关注的重点。

物理存储器结构

图2示意性地图示了非易失性存储器单元。存储器单元10可以通过具有电荷存储单元20的场效应晶体管来实现,例如浮置栅极或电荷俘获(电介质)层。存储器单元10还包括源极14、漏极16和控制栅极30。

实际上,当参考电压施加到控制栅极时,通常通过感测穿过单元的源极电极和漏极电极的传导电流来读取单元的存储器状态。因此,对于单元的浮置栅极上的每个给定的电荷,可以检测相对于固定的参考控制栅极电压的对应的传导电流。类似地,可编程到浮置栅极上的电荷的范围限定了对应的阈值电压窗口或对应的传导电流窗口。

替代地,可以在控制栅极处为测试下的给定的存储器状态设定阈值电压,并且检测传导电流是低于还是高于阈值电流(单元读取参考电流),而不是检测分区的(partitioned)电流窗口中的传导电流。在一个实施方式中,通过检查传导电流通过位线的电容放电的速率来实现对传导电流相对于阈值电流的检测。

图3示图示了浮置栅极可以在任何一个时刻选择性地存储的四种不同电荷q1-q4的源-漏电流id与控制栅极电压vcg之间的关系。在固定的漏极电压偏置的情况下,四条固态id—vcg曲线表示可以在存储器单元的浮置栅极上编程的七个可能的电荷电平中的四个,其分别对应于四个可能的存储器状态。作为示例,单元的群的阈值电压窗口的范围可以从0.5v至3.5v。可以通过将阈值窗口分区成每个间隔为0.5v的区域来标定(demarcate)七个可能的编程的存储器状态“0”、“1”、“2”、“3”、“4”、“5”、“6”和擦除的状态(未示出)。例如,如果如图所示使用2μa的参考电流iref,则用q1编程的单元可以被认为处于存储器状态“1”,因为其曲线与iref在由vcg=0.5v和1.0v标定的阈值窗口的区域中相交。类似地,q4处于存储器状态“5”。

如从上面的描述可以看到,使存储器单元存储的状态越多,则它的阈值电压窗口就被划分得越细。例如,存储器装置可以具有阈值电压窗口的范围为从-1.5v到5v的存储器单元。这提供了6.5v的最大宽度。如果存储器单元要存储16个状态,则每个状态可以在阈值窗口中占据从200mv至300mv。这将需要编程和读取操作的更高的精度,以便能够实现所需的分辨率。

nand结构

图4a示意性地图示了组织成nand串的存储器单元的串。nand串50包括一系列的存储器晶体管m1、m2、...mn(例如,n=4、8、16或更高),其由它们的源极和漏极菊花链连接(daisy-chained)。选择晶体管s1、s2的对分别控制存储器晶体管链的经由nand串的源极端子54和漏极端子56到外部世界的连接。在存储器阵列中,当源极选择晶体管s1导通时,源极端子耦接到源极线(参见图4b)。类似地,当漏极选择晶体管s2导通时,nand串的漏极端子耦接到存储器阵列的位线。链中的每个存储器晶体管10充当存储器单元。它具有电荷存储元件20以存储给定量的电荷,从而表示预期的存储器状态。每个存储器晶体管的控制栅极30允许控制读取和写入操作。如将在图4b中看到的,nand串的行的对应的存储器晶体管的控制栅极30都连接到同一字线。类似地,选择晶体管s1、s2中的每一个的控制栅极32分别提供经由nand串的源极端子54和漏极端子56对nand串的控制存取。同样地,nand串的行的对应的选择晶体管的控制栅极32都连接到同一选择线。

当nand串内的寻址存储器晶体管10在编程期间被读取或被校验时,向其控制栅极30供给适当的电压。同时,nand串50中的其余的非寻址存储器晶体管通过在它们的控制栅极上施加足够的电压而完全导通。以此方式,从独立的存储器晶体管的源极到nand串的源极端子54有效地形成了导电路径,并且同样地从单独的存储器晶体管的漏极到单元的漏极端子56有效地形成了导电路径。

图4b图示了由例如图4a中示出的nand串50构成的存储器单元的nand阵列210的示例。沿着nand串的每个列,位线(例如位线36)耦接到每个nand串的漏极端子56。沿着nand串的每个排(bank),源极线(例如源极线34)耦接到每个nand串的源极端子54。另外,沿着nand串的排中的存储器单元的行的控制栅极连接到字线(例如字线42)。沿着nand串的排中的选择晶体管的行的控制栅极连接到选择线(例如选择线44)。nand串的排中的存储器单元的整个行可以通过nand串的排的字线和选择线上的适当的电压来寻址。

图5图示了以nand配置组织的存储器单元的页,其被并行地感测或编程。图5大致上示出了图4b的存储器阵列210中的nand串50的排,其中每个nand串的细节如图4a中明确地示出。物理页(例如页60)是能够被并行地感测或编程的存储器单元的组。这通过感测放大器212的对应的页来实现。感测到的结果锁存在锁存器214的对应的集合中。每个感测放大器可以经由位线耦接到nand串。通过将页的单元的控制栅极共同连接到字线42以及由可经由位线36存取的感测放大器存取每个单元,来使能页。作为示例,当分别感测或编程单元的页60时,感测电压或编程电压分别与位线上的适当的电压一起施加到公共字线wl3。

存储器的物理组织

闪存存储器与其他类型的存储器之间的一个区别在于,闪存存储器单元通常从擦除的状态被编程。即浮置栅极通常首先被清空电荷。然后编程将期望的电荷量添加回到浮置栅极。闪存存储器通常不支持从浮置栅极移除一部分电荷,以从较多编程的状态达到较少编程的状态。这意味着更新后的数据不可以覆写现存的数据,而是被写入先前未被写入的位置。

此外,擦除是从浮置栅极清空所有的电荷,并且通常会花费相当可观的时间。因此,逐个单元或甚至逐页地擦除将会是麻烦的并且非常缓慢。在实践中,存储器单元的阵列被划分成大量的存储器单元的块。正如闪存eeprom系统常见的那样,块是擦除的单元。换言之,每个块包含一起擦除的最小数量的存储器单元。虽然在块中聚合要并行地擦除的大量的单元将改善擦除性能,但大型块还需要处理大量的更新和废弃(obsolete)数据。

每个块通常被划分为多个物理页。逻辑页是编程或读取的单元,其包含的位的数量等于物理页中的单元的数量。在每单元存储一位的存储器(单级单元或“slc”存储器)中,一个物理页存储数据的一个逻辑页。在每单元存储两位的存储器中,物理页存储两个逻辑页。存储在物理页中的逻辑页的数量因此反映了每单元存储的位的数量。术语“多级单元(multilevelcell)”或“mlc”通常用于指每单元存储多于一位的存储器,包括每单元存储三位(tlc)、每单元存储四位、或每单元存储更多位的存储器。在一个实施例中,单独的页可以被划分成段,并且段可以包含在基本编程操作时一次写入的最少数量的单元。数据的一个或多个逻辑页通常存储在存储器单元的一个行中。页可以存储一个或多个扇区。扇区包括用户数据和开销数据。

mlc编程

图6a至图6c图示了编程4状态存储器单元的群的示例。图6a图示了可编程为分别表示存储器状态“e”、“a”、“b”和“c”的阈值电压的四个不同的分布的存储器单元的群。图6b图示了用于擦除的存储器的“擦除的”阈值电压的初始分布。图6c图示了在许多存储器单元已经被编程之后的存储器的示例。本质上,单元初始具有“擦除的”阈值电压,并且编程将它移动到更高的值,进入由校验电平vv1、vv2和vv3标定的三个区域中的一个。以此方式,每个存储器单元可以被编程为三个编程的状态“a”、“b”和“c”中的一个,或者保持未编程在“擦除的”状态。随着存储器获得更多的编程,如图6b所示的“擦除的”状态的初始分布将变得更窄并且擦除的状态由“0”状态表示。

具有较低位和较高位的2位码可以用于表示四个存储器状态中的每一个。例如,“e”、“a”、“b”和“c”状态分别由“11”、“01”、“00”和“10”表示。可以通过在“全序列”模式下感测来从存储器读取2位数据,在这种情况下,通过分别在三个子通过(sub-pass)中相对于读取标定阈值rv1、rv2和rv3进行感测来一起感测两个位。

3-dnand结构

常规的二维(2-d)nand阵列的替代布置是三维(3-d)阵列。与沿着半导体晶片的平面表面形成的2-dnand阵列相比,3-d阵列从晶片表面向上延伸,并且通常包括向上延伸的存储器单元的堆叠体或列。各种3-d布置是可能的。在一种布置中,nand串垂直地形成,一端(例如源极)在晶片表面处,而另一端(例如漏极)在顶部上。在另一布置中,nand串形成为u形,使得nand串的两端可在顶部上接近,从而便于这样的串之间的连接。

图7示出了在垂直于基板的x-y平面的垂直方向上延伸(即在z方向上延伸)的nand串701的第一示例。存储器单元形成在垂直位线(局部位线)703穿过字线(例如wl0、wl1等)的位置。局部位线与字线之间的电荷俘获层存储电荷,其影响由字线(栅极)形成的晶体管的阈值电压,该字线(栅极)耦接到它围绕的垂直位线(沟道)。这样的存储器单元可以通过形成字线的堆叠体、并且然后蚀刻要在其中形成存储器单元的存储器孔来形成。然后存储器孔衬有电荷俘获层,并填充有合适的局部位线/沟道材料(具有合适的电介质层以用于隔离)。

如同平面nand串,选择栅极705、707位于串的任一端处,以允许nand串选择性地连接到外部元件709、711,或与外部元件709、711隔离。这样的外部元件通常是导电线,例如用于大量nand串的公共源极线或位线。垂直nand串可以以与平面nand串类似的方式操作,并且单级单元(slc)和多级单元(mlc)操作都是可能的。虽然图7示出了具有串联连接的32个单元(0-31)的nand串的示例,但nand串中的单元的数量可以是任何合适的数量。为清晰起见,没有示出所有的单元。应当理解,在字线3-29(未示出)与局部垂直位线相交的地方形成有附加的单元。

图8示出了在垂直方向(z方向)上延伸的nand串815的第二示例。在这种情况下,nand串815形成u形,与位于结构的顶部上的外部元件(源极线“sl”和位线“bl”)连接。在nand串815的底部处是连接nand串815的两个翼部816a、816b的可控制栅极(背栅极“bg”)。总共64个单元形成在字线wl0–wl63与垂直局部位线817相交的地方(尽管在其他示例中可以设置其他数量的单元)。选择栅极sgs、sgd位于nand串815的任一端处,以控制nand串815的连接/隔离。

垂直nand串可以布置为以各种方式形成3-dnand阵列。图9示出了块中的多个u形nand串连接到位线的示例。在这种情况下,块中n个可单独选择的串的集合(串1–串n)连接到位线(“bl”)。“n”的值可以是任何合适的数量,例如8、12、16、32或更多。串在取向上交替,其中奇数编号的串的源极连接在左侧,偶数编号的串的源极在右侧。该布置很方便,但不是必需的,并且其他模式也是可能的。

公共源极线“sl”连接到每个nand串的一端(与连接到位线的端部相对)。这可以视为nand串的源极端,位线端视为nand串的漏极端。公共源极线可以连接,使得块的所有源极线可以由外围电路一起控制。因此,块的nand串在一端的位线与另一端的公共源极线之间并行地延伸。

图10a示出了沿着位线方向(沿着y方向)的截面中的存储器结构,其中直线的垂直nand串从基板中或附近的公共源极连接延伸到在存储器单元的物理级之上延伸的全局位线(gbl0–gbl3)。块中的给定的物理级中的字线由导电材料的片材形成。存储器孔结构通过导电材料的这些片材向下延伸以形成存储器单元,该存储器单元通过垂直位线(bl0–bl3)垂直地(沿着z方向)串联连接以形成垂直nand串。在给定的块内,存在连接到给定的全局位线的多个nand串(例如,gbl0与多个bl0连接)。nand串被分组成共享公共选择线的串的集合。因此,例如,被源极选择线sgs0和漏极选择线sgd0选择的nand串可以被视为nand串的集合,并且可以被指定为串0,而被源极选择线sgs1和漏极选择线sgd1选择的nand串可以被视为另一nand串的集合,并且可以被指定为串1,如图所示。块可以由任何合适数量的这样的可单独选择的串的集合组成。应当理解,图10a仅示出了gbl0–gbl3的部分,并且这些位线在y方向上进一步延伸,并且可以与块中的和其他块中的附加的nand串连接。此外,附加的位线平行于gbl0–gbl3延伸(例如,在沿着x轴的不同位置处,在图10a的截面的位置之前或之后)。

图10b示意性图示了图10a的可单独选择的nand串的集合。可以看到,全局位线(gbl0-gbl3)中的每一个连接到所示的块的部分中的多个可单独选择的nand串的集合(例如,gbl0连接到串0的垂直位线bl0,并且还连接到串1的垂直位线bl0)。在一些情况下,块的所有串的字线是电连接的,例如,串0中的wl0可以连接到串1、串2等的wl0。这样的字线可以形成为通过块的所有的串的集合延伸的导电材料的连续的片材。源极线也可以对于块的所有的串是公共的。例如,可以对基板的一部分进行掺杂,以在块的下面形成连续导体。不同的串的集合不共享源极和漏极选择线,使得例如可以在不类似地偏置sgd1和sgs1的情况下偏置sgd0和sgs0以选择串0。因此,可以独立地选择串0(连接到全局位线和公共源极),而串1(以及其他串的集合)保持与全局位线和公共源极隔离。在编程和读取操作期间存取块中的存储器单元通常包括,将选择电压施加到选择线的对(例如sgs0和sgd0),同时向该块的所有其他选择线(例如sgs1和sgd1)施加非选择电压。然后,适当的电压施加到块的字线,使得可以存取所选择的串的集合中的特定的字线(例如,读取电压施加到特定的字线,而读取通过电压施加到其他字线)。擦除操作可以应用于整个块(块中的所有的串的集合)上,而不是块中特定的串的集合上。

图10c示出了在沿着x-z平面的截面中的图10a至图10b的可单独选择的nand串(串0)的集合。可以看到,每个全局位线(gbl0–gblm)连接到串0中的一个垂直nand串(垂直位线bl0–blm)。可以通过将适当的电压施加到选择线sgd0和sgs0来选择串0。其他的串的集合在沿着y方向的不同位置处类似地连接到全局位线(gbl0–gblm),并且当串0被选择时,可以与接收非选择电压的选择线不同的选择线连接。

坏的和部分坏的块

在一些存储器系统中,坏块被检测并且被标记,使得它们随后不被用于存储用户数据。例如,可以在工厂测试期间执行坏块的检测和标记。坏块可以是不能满足以下标准集的块:例如与读取、写入和擦除(例如不能在时间限制内读取、写入或擦除)相关、具有过高的错误率或过量的坏单元,和/或其他标准。如果特定的裸芯具有超过阈值数量的坏块,那么可以丢弃该裸芯。在一些情况下,可以根据裸芯包含的坏块的数量来对它们进行分类。通常,具有较少的坏块的裸片是优选的,因为坏块的数量会减少存储器的数据存储容量。

在一些情况下,块可以具有一些不可操作的部件,而其他部件保持为可操作。例如,块中的一个或多个列可以被发现是不可操作的,并且可以由备用的列替换。类似地,在一些情况下,存储器单元的一个或多个行可以被替换。少量的坏单元可以是可接受的,如果由这样的坏单元产生的错误率足够低以允许通过纠错码(ecc)或某种其他形式的冗余进行纠正的话。

在示例中,进一步测试被识别为“坏”块的具有多个可单独选择的串的集合的块,以确定块中是否存在可操作的串的集合(例如,一些串的集合可以满足测试标准,即使块作为整体不满足该标准)。虽然一些故障模式可能会导致没有可操作的单元的坏块,但是其他故障模式可能影响块的特定部分,并且可能留下至少一些可操作的存储器单元。一些故障模式可能会影响块内的独立的可单独选择的nand串的集合,而其他nand串的集合保持为可操作。例如,特定可单独选择的nand串的集合中的损坏的或短路的选择线可能使该nand串的集合不可操作,而相同块中的其他nand串的集合是可操作的。识别为“坏的”块的块的测试可以识别含有可操作的和不可操作的串的集合的混合的块的数量。在一些情况下,这样的部分坏的块可以随后被用来存储数据,从而增加存储器的容量。因此,部分坏的块的至少一些容量被恢复或回收,从而提供原本将损失掉的容量。

在一些情况下,部分坏的块可以被识别并且可以直接被寻址并用来存储数据。然而,这样的块与好的块相比具有缩小的容量。例如,在具有四个可单独选择的nand串的集合的块中,如果一个串的集合是不可操作的,则块的容量缩小25%,并且如果两个串的集合是不可操作的,则块的容量缩小50%。管理具有不同大小的块的存储器可能要求更加复杂的数据管理系统。通常,操作在其中每个块储存相等量的数据的块可擦除存储器是更容易的。这样的块能够可互换地使用,使得数据的逻辑块可以分配给存储器中的物理块,而不考虑单独的块容量。

虚拟块形成

图11图示了示例,其中识别了三个部分坏的块,块n、n+1以及n+2。块n、n+1、以及n+2中的每一个含有单个不可操作的可单独选择的nand串的集合。块n的串1“s1”、块n+1的串2“s2”、以及块n+2的串3“s3”是不可操作的(由阴影示出),而块n至n+2中的其余的串的集合是可操作的。

为了在全部块上维护均匀的数据存储容量,映射部分坏的块n至n+1中的可操作的nand串的集合以形成两个虚拟块,两个虚拟块各自具有与好的块相同的容量(即对应于四个可操作的串的集合的容量)。虚拟块x由块n的三个可单独选择的串的集合(s0、s2,以及s3)和来自块n+1的一个可单独选择的串的集合(s1)形成。虚拟块x+1由来自块n+1的两个可单独选择的串的集合(s0和s3)和来自块n+2的两个串的集合(s1和s2)形成。在一些情况下,新的地址(不同于映射到虚拟块的块的物理地址)可以被分配到虚拟块。可以为虚拟块预留这样的地址,使得虚拟块被容易地识别并且可以被不同地对待(例如可以用作预留,或备份块,用于一些特定功能,或以一些特定方式操作)。在其他情况下,虚拟块可以简单地被分配映射到其的部分坏的块中的一个的物理地址。例如,虚拟块x可以使用块n的物理地址。因此,仅一个串需要被重新映射(即s0、s2、以及s3由块n的物理地址寻址,而s1从块n+1重新映射)。

可见,图11的示例通过使用部分坏的块中的原本将被丢弃的可操作的串的集合,而将存储器容量增加了两个块。通过这样的虚拟块,可以显著增加存储器容量,其中坏块具有相当数量的可操作的串的集合。能够以此方式回收的容量的量取决于坏块中存在的特定失效模式(即具有至少一些可操作的串的集合的部分坏的块的数量)。在一些情况下,全部可操作的串的集合被映射到虚拟块,以后续用来存储用户数据。在其他情况下,可以仅将具有多于阈值数量的好的串的集合的部分坏的块映射到虚拟块。例如,多于两个不可操作的串的集合可以指示该块很可能具有显著的问题,使得由于高的失效风险而不使用任何可操作的串的集合。在一些情况下,仅具有单个坏的串的集合的部分坏的块被映射到虚拟块。

因为虚拟块形成为具有与好的块相同的容量(虽然映射到虚拟块的部分坏的块具有缩小的容量),所以从存储器管理的角度,块容量保持均匀。后续对虚拟块的存取(例如编程、写入、以及擦除)造成对部分坏的块中的被映射到虚拟块的好的串的集合的重新导向。因此,可以使用相对简单的映射方案。例如,在使用逻辑到物理寻址方案的情况下,虚拟块地址可以表现为物理块地址(即逻辑块地址可以被记录为存储在虚拟块地址处),虽然虚拟块地址不是存储器中的独立块的真正的物理地址。

为形成虚拟块的映射可以在任意适当的时间发生。在一些情况下,在存储用户数据之前,并且在由这样的裸芯组装存储器系统之前,在测试(例如工厂测试)期间识别坏的块。可以在组装这样的存储器系统之后进行映射。例如,这样的存储器系统中的存储器控制器可以在作为初始化过程的部分的固件下载之后进行映射。然后这样的映射可以在产品的整个寿命上保持不变。在其他情况下,可以在初始化之后一次或多次进行映射。例如,如果块在使用期间变坏,则这样的块可以被添加到坏块列表。然而,如果在被添加到坏块列表的块中存在可操作的串的集合,则这些可操作的串的集合可以被映射到虚拟块,使得容量损失减少(即不丢弃整个块)。如果在部分坏的块中的附加的串的集合变得不可操作,则可以进行重新映射,使得在其虚拟块中取代刚刚不可操作的串的集合。

应理解,除图11中图示的部分坏的块之外,将存在好的块(其中全部串的集合是可操作的),以及通常将存在不具有可操作的串的集合的坏块。可以以适当的方式管理这样的坏块。例如,可以维护坏块列表,使得不存取坏块。这样的坏块可以从任何好的块的列表(例如擦除块列表)排除。可以连同任意适当的坏块方案来操作部分坏的块的方案。

为形成虚拟块的映射串的集合可以使用任意适当的映射方案。例如,可以映射串的集合,使得虚拟块具有来自每个串的位置的一个串的集合。图11示出了虚拟块x和x+1,其含有来自每个物理位置(即s0、s1、s2、以及s3位置)的一个串的集合。在其他示例中,串的集合可以被映射到虚拟块,而不考虑串的集合在它们的物理块中的物理位置。因此,虚拟块可以具有来自一个位置的多个(例如来自s0位置的两个)串的集合,并且不具有来自另一位置(例如不具有来自s1位置)的串的集合。

图12图示了虚拟块形成的示例。例如在工厂测试期间,识别坏的块220。随后,识别坏的块内的可操作的串的集合222,使得可以恢复这些部分坏的块中的可用容量。这可以发生在存储器系统的组装之后,例如,在一个或多个存储器裸芯与存储器控制器组装并且下载了存储器控制器固件之后。将可操作的串的集合的数量与阈值数量进行比较224,并且如果数量小于阈值,则可以将块丢弃226(例如可以视作坏块并且可以不用于用户数据的存储)。如果可操作的串的集合的数量超过阈值,则块中的可操作的串的集合被映射到一个或多个虚拟块228。这些步骤可以应用于全部坏块,使得完全识别这样的部分坏的块中的可操作的存储器。然后根据映射方案将可操作的串的集合映射到虚拟块228。将虚拟块地址分配到虚拟块230。虚拟块地址可以是唯一的块地址,其可以来自为这样的虚拟块所预留的一系列块地址。然后在列表中维护虚拟块地址232,列表可以是排他地用于虚拟块的列表,或可以是包含虚拟块和好的块的列表。

虚拟块操作

可以以任意适当的方式操作虚拟块。在一些示例中,虚拟块可以被添加到好的块的列表(例如在初始化期间被添加到擦除块列表),并且可以以与好的块完全相同的方式操作(例如用来以相同级别的冗余、相同存储格式等来存储用户数据),使得虚拟块与好的块可互换。在其他示例中,虚拟块可以以一种或多种方式不同地操作。

因为虚拟块包含物理位于含有缺陷(至少一个不可操作的串的集合)的物理块中的串的集合,虚拟块中存储的数据可能比好的块中存储的数据具有更高的错误率,并且可能比好的块中存储的数据具有更高的丢失风险。可以使用各种手段来解决这样的差异。

在一个示例中,冗余方案可以应用于在提供更大容量的虚拟块中存储的数据,以纠正虚拟块中发生的任何错误。例如,虚拟块中存储的数据可以使用纠错码(ecc)方案,其提供比在好的块中所使用的ecc方案更高级别的冗余。在存储之前,虚拟块中的数据可以经受排他的或(xor)操作,以产生冗余数据,使得可以通过将xor操作反向而再生任何丢失的数据。

在非易失性存储器中,数据可以存储为具有不同错误率的的不同格式。例如,数据可以存储为slc格式(每单元一个位)以及存储为mlc格式(每单元多于一个位),其中slc格式通常因为与存储器状态相关联的较宽的裕度(margin)而具有较低的错误率。虚拟块中存储的数据可以仅存储为slc格式,以降低错误率。好的块可以将数据存储为mlc格式,或slc和mlc格式的混合。在一些示例中,可以使用不同的mlc方案。总体上,每单元存储更多的位导致更高的错误率。虚拟块可以被限制为将数据存储为相对低密度的mlc格式(例如每单元两位),而好的块可以将数据存储为更高密度的mlc格式(例如每个单元三个或更多个位)。

虚拟块可以被限制为特定的功能。例如,虚拟块可以被保留为预留的,并且仅当不存在好的块可用时使用。因此,虚拟块可以延长存储器的寿命,否则其将失效。这样的虚拟块可以不经受写入-擦除循环,直到其他块已经失效,使得它们不经受正常的磨损(从而降低磨损相关的失效的风险)。虚拟块可以用作便笺块(scratch-padblock),其存储由存储器控制器用于相对短的时间周期且不用于延长的周期的小部分数据。

操作虚拟块可以相似于操作好的块,但具有重新导向到映射到虚拟块的物理位置的任意存取操作。读取和写入操作如在好的块中的读取和写入操作同样地进行,并且要被写入或读取的地址根据映射而被重新导向。擦除操作可以稍微不同,因为擦除虚拟块包含擦除存储器中的至少两个物理块。当虚拟块仅含有废弃数据时,虚拟块可以被标记为废弃,并且随后可以在含有虚拟块的串的集合的两个或更多个物理块上执行两个或更多个擦除操作。操作可以在这样的部分坏的块中的全部数据被废弃之后发生。因为部分坏的块可能含有来自多于一个虚拟块的数据,所以部分坏的块的擦除可能不在对应的虚拟块变为废弃时立即发生(即在部分坏的块中可能仍存在来自另一虚拟块的有效数据,使得可能推迟擦除,直到这样的有效数据变为废弃)。

图13图示了与主机80通信的存储器系统361的示例。例如存储器系统361可以为存储器卡,或通过标准化接口可移除地连接到主机80(例如相机、音乐播放器、膝上式计算机)的usb闪存驱动器。存储器系统361可以为固态驱动器,并且主机80可以为平板、膝上式计算机或相似装置。存储器系统361包含多个存储器裸芯;包含存储器裸芯365,以及存储器控制器363。存储器裸芯365包含若干独立地可擦除的块,其被分类为坏的(阴影的)、好的(无阴影的),以及部分坏的(部分阴影的)。存储器控制器365包含编程(写入)电路367、读取电路369、以及擦除电路371(附加的编程、写入、以及擦除电路可以如存储器裸芯365上的外围电路一样定位)。映射单元373包含虚拟块映射“vb映射”单元375,其将部分坏的块中的可操作的nand串的集合映射到虚拟块,并且将虚拟块地址分配给虚拟块。可以维护这样的虚拟块的列表和/或虚拟块可以被添加到包含好的块的列表。逻辑到物理映射376逐块地记录数据的逻辑块在存储器裸芯365中存储的位置,且逻辑块具有等同于一个好的物理块的容量的固定大小。逻辑到物理映射376可以示出在好的块和虚拟块(不是坏块)中存储的数据的逻辑块,即为了逻辑到物理映射的目的,虚拟块可以表现为物理块,且虚拟块映射单元375将对虚拟块地址的存取重新导向到存储器裸芯365中的部分坏的块的对应的地址。因此,逻辑到物理映射保持一对一,同时由虚拟块映射单元375为虚拟块进行更复杂的映射(例如一个虚拟块到多个部分坏的物理块)。块选择单元377选择用于数据的存储的块(例如当从主机80接收新的数据时)。块选择单元377可以根据适当的方案来选择好的块或虚拟块(例如可以同样地对待好的块和虚拟块,或可以应用特定标准以选择任一种)。当存储数据时,冗余单元379(例如ecc编码器/解码器)提供可变的冗余,使得可以为虚拟块中存储的数据提供与好的块中存储的数据相比更高的冗余度。

结论

已经为了说明和描述的目的呈现了前面的详细描述。这并非意在穷尽或限制所附权利要求。根据上述教导的许多修改和变化是可能的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1