背景技术:
半导体存储器广泛用于各种电子设备,诸如蜂窝电话、数字相机、个人数字助理、医疗电子器件、移动计算设备、非移动计算设备和数据服务器。半导体存储器可包括非易失性存储器、易失性存储器或两者。即使当非易失性存储器未连接到电源(例如,电池)时,非易失性存储器也允许存储和保留信息。非易失性存储器的示例包括闪存存储器(例如,nand型和nor型闪存存储器)、电可擦除可编程只读存储器(eeprom)等。
存储器设备通常将具有作为制造过程的一部分而发生的缺陷。在被制造之后并且在被送出给消费者之前,存储器管芯通常经历一系列测试以确定电路的缺陷部分,存储器单元和外围元件两者的缺陷部分。如果设备具有太多缺陷,则其可被丢弃或仅用于要求较低的应用,而在其他情况下,当设备在使用中时,可标记并避免存储器管芯的缺陷部分。例如,设备的存储器单元通常将被划分成块,并且作为测试过程的一部分,可为有缺陷的存储器块设定标志值(诸如在存储器管芯上的熔丝rom中),然后当设备处于操作中时将不使用这些块。
附图说明
类似编号的元件是指不同的图中的共同部件。
图1是连接到主机的存储器系统的一个实施方案的框图。
图2是前端处理器电路的一个实施方案的框图。在一些实施方案中,前端处理器电路是控制器的一部分。
图3是后端处理器电路的一个实施方案的框图。在一些实施方案中,后端处理器电路是控制器的一部分。
图4是存储器封装件的一个实施方案的框图。
图5是存储器管芯的一个实施方案的框图。
图6a是单片三维存储器结构的一个实施方案的一部分的透视图。
图6b是具有两个平面的存储器结构的框图。
图6c描绘了存储器单元的块的一部分的顶视图。
图6d描绘了存储器单元的块的一部分的剖视图。
图6e描绘了选择栅极层和字线层的视图。
图6f是存储器单元的竖直列的剖视图。
图6g是多个nand串的示意图,示出了多个子块。
图7示出了非易失性存储器管芯的块的管芯分类测试序列的结果的一个实施方案。
图8是示出故障停止管芯分类的结果的表。
图9是描述用于故障停止管芯分类过程的过程的一个实施方案的流程图。
图10是示出管芯分类结果的表,其中如果块通过宽松标准,则对于下一个管芯分类类别,块被认为通过,但如果块在关键故障类别中未通过,则该块故障停止。
图11示出了通过使用坏块恢复机制可在较高值等级下使用的芯片的数量的增加。
图12是用于包括块质量分类的管芯分类过程的过程的一个实施方案的高级描述的流程图。
图13是描述用于在更详细的具体实施中包括块质量分类的管芯分类过程的过程的一个实施方案的流程图。
图14是描述用于具有管芯的存储器系统的通电序列的过程的一个实施方案的流程图,该管芯具有多位坏块标志值。
图15是描述损耗均衡过程的一个实施方案的流程图,该损耗均衡过程可结合通过使用坏块标志的多位值提供的块质量或可恢复性信息。
具体实施方式
在使用之前,非易失性存储器管芯通常经受一系列测试以确定存储器管芯上的存储器单元的块的质量。这些块通常被分组成具有较少缺陷或无缺陷的好块,以及具有较高数量的缺陷的坏块。在通常将被标记为坏的块组内,通常将存在可恢复到不同程度的多个块。例如,块可能具有过多缺陷而不能用于高耐久性应用,但可被恢复以用于其中块将经受较少编程/擦除循环的应用。
在下面呈现的实施方案中,在管芯被投入客户使用之前对存储器管芯的测试过程期间,存储器管芯经受一系列测试。当存储器管芯未通过测试时,记录结果,但继续测试以完成测试的操作的其余部分,除非未通过的测试是关键类别测试。然后可将测试的结果记录在存储器管芯上,诸如通过写入存储器管芯上的熔丝rom中,作为指示存储器管芯上的块中的每个块的可恢复性类别的多位坏块标志。在一些实施方案中,当选择存储器管芯以组装成多管芯存储器封装件时,可使用这些多位坏块标志。多位坏块标志也可在存储器系统的操作期间使用,其中存储器控制器可在通电期间存取这些多位坏块标志,并且在存储器系统操作期间使用块的可恢复性类别,诸如用于选择将向其写入数据的块作为损耗均衡操作的一部分。
图1是连接到主机120的存储器系统100的一个实施方案的框图。许多不同类型的存储器系统可与本文提出的技术一起使用。示例性存储器系统包括固态驱动器(“ssd”)、存储卡和嵌入式存储器设备;然而,也可以使用其他类型的存储器系统。
图1的存储器系统100包括控制器102、用于存储数据的非易失性存储器104、以及本地存储器(例如,dram/reram)106。控制器102包括前端处理器(fep)电路110和一个或多个后端处理器(bep)电路112。在一个实施方案中,fep电路110在专用集成电路(“asic”)上实现。在一个实施方案中,每个bep电路112在单独asic上实现。在其他实施方案中,统一控制器asic可组合前端功能和后端功能两者。用于bep电路112和fep电路110中的每一者的asic在同一半导体上实现,使得控制器102被制造为片上系统(“soc”)。fep电路110和bep电路112均包括其本身的处理器。在一个实施方案中,fep电路110和bep电路112用作主从配置,其中fep电路110是主设备,并且每个bep电路112是从设备。例如,fep电路110实现闪存转换层(ftl)或媒体管理层(mml),该ftl或mml执行存储器管理(例如,垃圾收集、损耗均衡等)、逻辑到物理地址转换、与主机的通信、dram(本地易失性存储器)的管理以及ssd(或其他非易失性存储系统)的整体操作的管理。bep电路112根据fep电路110的请求来管理存储器封装件/管芯中的存储器操作。例如,bep电路112可进行读取、擦除和编程过程。另外,bep电路112可执行缓冲器管理,设定fep电路110所需的特定电压电平,执行纠错代码(ecc),控制到存储器封装件的切换模式接口等。在一个实施方案中,每个bep电路112负责其本身的一组存储器封装件。
在一个实施方案中,非易失性存储器104包括多个存储器封装件。每个存储器封装件都包括一个或多个存储器管芯。因此,控制器102连接到一个或多个非易失性存储器管芯。在一个实施方案中,存储器封装件104中的每个存储器管芯利用nand闪存存储器(包括二维nand闪存存储器和/或三维nand闪存存储器)。在其他实施方案中,存储器封装件可包括其他类型的存储器。
控制器102经由接口130与主机120通信,该接口实现pciexpress(pcie)上的nvmexpress(nvme)。为了与存储器系统100一起工作,主机120包括沿着总线128连接的主机处理器122、主机存储器124和pcie接口126。主机存储器124是主机的物理存储器,并且可以是dram、sram、非易失性存储器或另一类型的存储装置。主机120在存储器系统100的外部并与该存储器系统分开。在一个实施方案中,存储器系统100嵌入在主机120中。
图2是fep电路110的一个实施方案的框图。图2示出与主机120通信的pcie接口150,以及与该pcie接口通信的主机处理器152。主机处理器152可以是本领域中已知的适于实现的任何类型的处理器。主机处理器152与片上网络(noc)154通信。noc是集成电路上的通信子系统,通常在soc中的核心之间。noc可跨越同步和异步时钟域,或者使用非时钟的异步逻辑。noc技术将网络理论和方法应用于片上通信,并且与常规总线和交叉开关互连相比带来了显著的改善。与其他设计相比,noc提高了soc的可扩展性以及复杂soc的功率效率。noc的导线和链路由许多信号共享。由于noc中的所有链路可在不同的数据分组上同时运行,因此实现了高度并行。因此,随着集成子系统的复杂性不断增大,与先前的通信架构(例如,专用的点对点信号线、共享总线或具有桥的分段总线)相比,noc提供增强的性能(诸如吞吐量)和可扩展性。连接到noc154并且与noc154通信的是存储器处理器156、sram160和dram控制器162。dram控制器162用于操作dram(例如,dram106)并且与该dram通信。sram160是由存储器处理器156使用的本地ram存储器。存储器处理器156用于运行fep电路并且执行各种存储器操作。与noc通信的还有两个pcie接口164和166。在图2的实施方案中,ssd控制器将包括两个bep电路112;因此,存在两个pcie接口164/166。每个pcie接口与bep电路112中的一个通信。在其他实施方案中,可存在多于或少于两个bep电路112;因此,可存在多于两个pcie接口。
fep电路110还可包括闪存转换层(ftl),或更一般地媒体管理层(mml)158,该ftl或mml执行存储器管理(例如,垃圾收集、损耗均衡、负载平衡等)、逻辑到物理地址转换、与主机的通信、dram(本地易失性存储器)的管理,以及ssd或其他非易失性存储系统的整体操作的管理。媒体管理层(mml)158可被集成为可以处理存储器错误并与主机界面交互的存储器管理的一部分。具体地讲,mml可以是fep电路110中的模块,并且可以负责存储器管理的内部。具体地讲,mml158可包括存储器设备固件中的算法,该算法将来自主机的写入转换为对管芯的存储器结构(例如,下图5中的326)的写入。可能需要mml158,因为:1)存储器可能具有有限的耐久性;2)该存储器结构可以只写入多个页面;并且/或者3)除非将存储器结构作为块擦除,否则可以不写入该存储器结构。mml158理解存储器结构的这些潜在限制,这些限制可能对主机不可见。因此,mml158尝试将来自主机的写入转换为向存储器结构的写入。
图3是bep电路112的一个实施方案的框图。图3示出用于与fep电路110通信(例如,与图2的pcie接口164和166中的一个通信)的pcie接口200。pcie接口200与两个noc202和204通信。在一个实施方案中,两个noc可组合成一个大的noc。每个noc(202/204)通过xor引擎(224/254)和ecc引擎(226/256)连接到sram(230/260)、缓冲器(232/262)、处理器(220/250)和数据路径控制器(222/252)。ecc引擎226/256用于执行纠错,如本领域所知。xor引擎224/254用于对数据执行xor,使得可在存在编程错误的情况下以可恢复的方式组合和存储数据。数据路径控制器222连接到接口模块,以用于经由四个信道与存储器封装件进行通信。因此,顶部noc202与用于与存储器封装件通信的四个信道的接口228相关联,并且底部noc204与用于与存储器封装件通信的四个附加信道的接口258相关联。每个接口228/258包括四个切换模式接口(tm接口)、四个缓冲器和四个调度器。对于信道中的每一个存在一个调度器、缓冲器和tm接口。处理器可以是本领域中已知的任何标准处理器。数据路径控制器222/252可以是处理器、fpga、微处理器、或其他类型的控制器。xor引擎224/254和ecc引擎226/256是专用的硬件电路,称为硬件加速器。在其他实施方案中,xor引擎224/254和ecc引擎226/256可在软件中实现。调度器、缓冲器和tm接口是硬件电路。
图4是包括连接到存储器总线(数据线和芯片使能线)294的多个存储器管芯292的存储器封装件104的一个实施方案的框图。存储器总线294连接到切换模式接口296以用于与bep电路112的tm接口进行通信(参见例如图3)。在一些实施方案中,存储器封装件可以包括连接到存储器总线和tm接口的小控制器。存储器封装件可以具有一个或多个存储器管芯。在一个实施方案中,每个存储器封装件包括八个或16个存储器管芯;然而,也可以实现其他数量的存储器管芯。本文描述的技术不限于任何特定数量的存储器管芯。
图5是存储器管芯300的一个实施方案的功能框图。图5中描绘的部件为电子电路。在一个实施方案中,每个存储器管芯300包括存储器结构326、控制电路310和读/写电路328。存储器结构126能够经由行解码器324由字线来寻址,并且经由列解码器332由位线来寻址。读/写电路328包括多个感测块350并且允许存储器单元页面被并行读取或并行编程,该感测块包括sb1、sb2、…、sbp(感测电路)。命令和数据经由线路318在控制器与存储器管芯300之间传输。在一个实施方案中,存储器管芯300包括连接到线路318的一组输入和/或输出(i/o)引脚。
控制电路310与读/写电路328配合以在存储器结构326上执行存储器操作(例如,写入、读取等),并且包括状态机312、片上地址解码器314、功率控制电路316。状态机312提供存储器操作的管芯级控制。在一个实施方案中,状态机312可由软件编程。在其他实施方案中,状态机312不使用软件并且完全地在硬件(例如,电子电路)中实现。在另一个实施方案中,状态机312被微控制器替换。在一个实施方案中,控制电路310包括缓冲器,诸如寄存器、rom320(诸如熔丝rom)以及用于存储默认值(诸如基极电压和其他参数)的其他存储装置。
片上地址解码器314将控制器102使用的地址之间的地址接口提供给解码器324和332所用的硬件地址。功率控制模块316控制在存储器操作期间提供给字线和位线的功率和电压。功率控制模块316可以包括用于产生电压的充电泵。感测块包括位线驱动器。
rom320可用于存储可由管芯上控制电路310和存储器控制器102用于存储器管芯300的操作的各种设备参数。参数的一个示例是一组坏块(bbk)标志,其可用于指示存储器结构326的阵列的各个块是否有缺陷以及不应被使用或应对其使用具有限制。如下文更详细讨论的,这些标志值可作为初始测试过程或管芯分类的一部分来确定,并且被设定为rom320中的熔丝值。根据实施方案,这可以是每个块的单个标志以指示不使用的有缺陷的块,或者是多位标志值,该多位标志值指示块的缺陷类型,诸如对应块内的缺陷的类别或程度以及其可恢复的程度。作为通电序列的一部分,这些坏块标志可由管芯上控制电路310读出并传输到控制器102,在那里它们可被使用,例如,当将逻辑块分配给阵列或存储器结构326的物理块或执行损耗均衡操作时。在一些实施方案中,多位标志值可用于对块的选择中使用的编程/擦除(p/e)计数或其他因素进行加权,使得如果标志指示块具有较低的预期耐久性,则其p/e计数将被加权到较高的值以解决该问题。
出于本文档的目的,短语“一个或多个控制电路”可指控制器102和/或管芯上控制电路,诸如控制器、状态机、微控制器和/或控制电路310、或用于控制非易失性存储器的其他类似电路。
在一个实施方案中,存储器结构326包括非易失性存储器单元的三维存储器阵列,其中多个存储器级形成在单个衬底诸如晶圆上方。存储器结构326可包括任何类型的非易失性存储器,该非易失性存储器在具有设置在硅(或其他类型的)衬底上方的有源区域的存储器单元的一个或多个物理级中单片地形成。在一个示例中,非易失性存储器单元包括具有电荷捕获材料的竖直nand串,诸如例如在美国专利9,721,662中所述的,该专利全文以引用方式并入本文。
在另一个实施方案中,存储器结构326包括非易失性存储器单元的二维存储器阵列。在一个示例中,非易失性存储器单元是利用浮栅的nand闪存存储器单元,诸如例如在美国专利9,082,502中所述的,该专利全文以引用方式并入本文。也可使用其他类型的存储器单元(例如,nor型闪存存储器)。
包括在存储器结构326中的存储器阵列架构或存储器单元的确切类型不限于上述示例。许多不同类型的存储器阵列架构或存储器技术可用于形成存储器结构326。出于本文所述实施方案的目的,不需要特定非易失性存储器技术。用于存储器结构326的存储器单元的合适技术的其他示例包括reram存储器(电阻式随机存取存储器)、磁阻存储器(例如,mram、自旋转移扭矩mram、自旋轨道扭矩mram)、相变存储器(例如,pcm)等。用于存储器结构126的存储器单元架构的合适技术的示例包括二维阵列、三维阵列、交叉点阵列、堆叠二维阵列、竖直位线阵列等等。
以下讨论中的大部分涉及存储器阵列或结构326的子分区或块、确定和记录这些块内的所确定的缺陷、以及在存储器的操作期间使用该信息。为了提供具体示例,以下讨论主要在三维nand实施方案的上下文中呈现,并且采取这些块以对应于nand闪存结构的擦除块;然而,应当理解,这些技术可容易地扩展到其他存储器技术和其他阵列子分区,但缺陷类型的细节将因存储器技术而异。
图6a是可对应于存储器结构326的单片三维(3d)存储器阵列的一个示例实施方案的一部分的透视图,该存储器结构包括多个非易失性存储器单元。例如,图6a示出了一个存储器块的一部分。所描绘的结构包括一组位线bl,其位于交替的介电层和导电层的堆叠上方。出于示例目的,将介电层中的一个标记为d,并且将导电层中的一个(也被称为字线层)标记为w。交替的介电层和导电层的数量可以基于特定具体实施要求而变化。一组实施方案包括108至300个交替的介电层和导电层。一个示例实施方案包括96个数据字线层、8个选择层、6个虚设字线层和110个介电层。也可以使用多于或少于108至300个层。如将在下面所说明,交替的介电层和导电层被局部互连li分成四个“指状部”。图6a示出了两个指状部和两个局部互连件li。源极线层sl位于交替的介电层和字线层下方。在交替的介电层和导电层的堆叠中形成存储器孔。例如,存储器孔被标记为mh。需注意,在图6a中,介电层被描绘为透视的,使得读者可以看到位于交替的介电层和导电层的堆叠中的存储器孔。在一个实施方案中,通过用包括电荷捕集材料的材料填充存储器孔以形成存储器单元的竖直列来形成nand串。每个存储器单元可以存储一个或多个数据位。下面关于图6b至图6h提供包括存储器结构326的三维单片存储器阵列的更多细节。
图6b是说明存储器结构326的一个示例性组织的框图,该存储器结构被分为两个平面602和604。然后,将每个平面分成m个块。在一个示例中,每个平面具有约2000个块。然而,也可以使用不同数量的块和平面。在一个实施方案中,存储器单元的块是擦除单位。即,一个块的所有存储器单元一起被擦除。在其他实施方案中,可以出于其他原因将存储器单元分组为块,诸如为了组织存储器结构326以启用信令和选择电路。在一些实施方案中,块表示一组连接的存储器单元,因为块的存储器单元共享一组公共的字线。存储器块可用于存储从主机120接收的用户数据,并且还用于存储系统数据,诸如存储器管芯300或控制器102可用于操作存储器系统100的操作参数和其他数据。例如,如图6b所示,平面602的块0620用于存储系统数据,诸如下文更详细讨论的坏块标志bbk。系统数据块620在此处在块0中示出,但是可以位于其他块中,并且其内容可类似于rom320使用,要么代替rom320要么与rom320结合。
图6c至图6h描绘了示例性3dnand结构,其对应于图6a的结构并且可用于实现图5的存储器结构326。图6c是描绘来自存储器结构326的一个块的一部分的顶视图的框图。图6c中描绘的框的部分对应于图6b的块2中的部分606。从图6c中可以看出,图6c中描绘的块沿箭头632的方向延伸。在一个实施方案中,存储器阵列具有许多层;然而,图6c仅示出了顶层。
图6c描绘了表示竖直列的多个圆圈。竖直列中的每一个包括多个选择晶体管(也称为选择栅极或选取栅极)和多个存储器单元。在一个实施方案中,每个竖直列实现一个nand串。例如,图6c描绘了竖直列422、432、442和452。竖直列422实现nand串482。竖直列432实现nand串484。竖直列442实现nand串486。竖直列452实现nand串488。下面提供了竖直列的更多细节。由于图6c中描绘的块在箭头632的方向上延伸,因此该块包括比图6c中描绘的更多的竖直列。
图6c还描绘了一组位线415,包括位线411、412、413、414、…、419。图6c示出了二十四个位线,因为仅示出了该块的一部分。可以设想到,多于二十四个位线连接到块的竖直列。表示竖直列的圆圈中的每个圆圈都具有“x”以指示其与一个位线连接。例如,位线414连接到竖直列422、432、442和452。
图6c中描绘的块包括一组局部互连件402、404、406、408和410,该组局部互连件将各个层连接到在竖直列下方的源极线。局部互连402、404、406、408和410还用于将块的每个层分为四个区域;例如,图6c中描绘的顶层被分为区域420、430、440和450,这些区域被称为指状部。在实现存储器单元的块的层中,这四个区域被称为字线指状部,它们被局部互连分开。在一个实施方案中,在块的公共级上的字线指状部连接在一起以形成单一字线。在另一个实施方案中,在同一级上的字线指状部不连接在一起。在一个示例性实施方式中,位线仅连接到区域420、430、440和450中的每个中的一个竖直列。在该实施方式中,每个块具有十六行活动列,并且每个位线连接到每个块中的四个行。在一个实施方案中,连接到公共位线的所有四个行都连接到同一字线(经由连接在一起的在同一级上的不同字线指状部);因此,系统使用源极侧选择线和漏极侧选择线来选择四个中的要进行存储器操作(编程、验证、读取和/或擦除)的一个(或另一个子集)。
尽管图6c示出了在块中每个区域具有四行竖直列,四个区域和十六行竖直列,但是这些确切数字是示例性实施方式。其他实施方案可以包括每一块更多或更少的区域、每一区域更多行或更少行的竖直列、以及每一块更多行或更少行的竖直列。
图6c还示出了竖直列是交错的。在其它实施方案中,可以使用不同交错模式。在一些实施方案中,竖直列不交错。
图6d描绘了三维存储器结构326的一个实施方案的一部分,示出了剖视图。该剖视图切穿竖直列432和434以及区域430(参见图6c)。图6d的结构包括:四个漏极侧选择层sgd0、sgd1、sgd2和sgd3;四个源极侧选择层sgs0、sgs1、sgs2和sgs3;六个虚设字线层dd0、dd1、ds0、ds1、wldl、wldu;以及九十六个数据字线层wll0至wll95,这些数据字线层用于连接到数据存储器单元。其他实施方案可实现多于或少于四个漏极侧选择层、多于或少于四个源极侧选择层、多于或少于六个虚设字线层,以及多于或少于九十六个字线层。竖直列432和434被描绘为突出穿过漏极侧选择层、源极侧选择层、虚设字线层以及字线层。在一个实施方案中,每个竖直列都包括竖直nand串。例如,竖直列432包括nand串484。在竖直列和下面列出的层之下的是衬底、衬底上的绝缘膜454以及源极线sl。竖直列432的nand串在堆叠的底部处具有源极端并且在堆叠的顶部处具有漏极端。与图6c一致,图6d示出了经由连接器491连接到位线414的竖直列432。还描绘了局部互连404和406。
为了便于引用,漏极侧选择层sgd0、sgd1、sgd2和sgd3;源极侧选择层sgs0、sgs1、sgs2和sgs3;虚设字线层dd0、dd1、ds0、ds1、wldl和wldu;以及字线层wll0至wll95被统称为导电层。在一个实施方案中,导电层由tin和钨的组合制成。在其它实施方案中,可使用其它材料形成导电层,该其它材料诸如为掺杂的多晶硅、金属(诸如钨)或金属硅化物。在一些实施方案中,不同导电层可以由不同材料形成。在导电层之间的是介电层dl0至dl111。例如,介电层dl104在字线层wll94上方并且在字线层wll95下方。在一个实施方案中,介电层由sio2制成。在其他实施方案中,可以使用其他介电材料形成介电层。
非易失性存储器单元沿竖直列形成,该竖直列延伸穿过堆叠中的交替的导电层和介电层。在一个实施方案中,存储器单元布置在nand串中。字线层wll0至wll95连接到存储器单元(也称为数据存储器单元)。虚设字线层dd0、dd1、ds0、ds1、wldl和wldu连接到虚设存储器单元。虚设存储器单元不存储主机数据并且没有资格存储主机数据(从主机提供的数据,诸如来自主机用户的数据),而数据存储器单元有资格存储主机数据。在一些实施方案中,数据存储器单元和虚设存储器单元可具有相同结构。虚设字线连接到虚设存储器单元。漏极侧选择层sgd0、sgd1、sgd2和sgd3用于将nand串与位线电连接和断开。源极侧选择层sgs0、sgs1、sgs2和sgs3用于将nand串与源极线sl电连接和断开。
图6d还示出了接合区域。在一个实施方案中,蚀刻与介电层混合的九十六个字线层是昂贵和/或具有挑战性的。为了减轻这种负担,一个实施方案包括铺设与介电层交替的四十八个字线层的第一堆叠,铺设接合区域,以及铺设与介电层交替的四十八个字线层的第二堆叠。接合区域定位在第一堆叠与第二堆叠之间。接合区域用于将第一堆叠连接到第二堆叠。在图6d中,第一堆叠被标记为“字线的下集”,并且第二堆叠被标记为“字线的上集”。在一个实施方案中,接合区域由与字线层相同的材料制成。在一组示例性具体实施中,多条字线(控制线)包括交替的字线层和介电层的第一堆叠、交替的字线层和介电层的第二堆叠,以及第一堆叠与第二堆叠之间的接合区域,如图6d所描绘的。
图6e描绘了图6d中部分地描绘的块的导电层(sgdl0、sgdl1、sgdl2、sgdl3、sgsl0、sgsl1、sgsl2、sgsl3、ddl0、ddl1、dsl0、dsl1以及wlll0至wlll95)的逻辑表示。如上面关于图4b所述,在一个实施方案中,局部互连402、404、406、408和410将导电层分成四个区域/指状部(或子块)。例如,字线层wll94被划分成区域460、462、464和466。对于字线层(wll0至wll127),这些区域被称为字线指状部;例如,字线层wll126被划分成字线指状部460、462、464和466。例如,区域460是在一个字线层上的一个字线指状部。在一个实施方案中,在同一级上的四个字线指状部连接在一起。在另一个实施方案中,每个字线指状部作为单独的字线操作。
漏极侧选择栅极层sgdl0(顶层)也被划分成区域420、430、440和450,也称为指状部或选择线指状部。在一个实施方案中,在同一级上的四个选择线指状部连接在一起。在另一个实施方案中,每个选择线指状部作为单独的字线操作。
图6f描绘了包括竖直列432(存储器孔)的一部分的图6d的区域429的剖视图。在一个实施方案中,竖直列是圆形的;然而,在其他实施方案中,可使用其他形状。在一个实施方案中,竖直列432包括由诸如sio2的电介质制成的内芯层470。也可以使用其他介电材料。包围内芯470的是多晶硅沟道471。也可以使用除了多晶硅之外的材料。需注意,沟道471连接到位线和源极线。包围沟道471的是隧穿电介质472。在一个实施方案中,隧穿电介质472具有ono结构。包围隧穿电介质472的是电荷捕集层473,诸如(例如)氮化硅。也可以使用其他存储器材料和结构。本文所述的技术不限于任何特定材料或结构。
图6f描绘了介电层dll105、dll104、dll103、dll102和dll101,以及字线wll95、wll94、wll93、wll92和wll91。字线层中的每个字线层包括由氧化铝层477包围的字线区域476,该氧化铝层由阻挡氧化物(sio2)层478包围。字线层与竖直列的物理相互作用形成存储器单元。因此,在一个实施方案中,存储器单元包括沟道471、隧穿电介质472、电荷捕集层473、阻挡氧化物层478、氧化铝层477以及字线区域476。例如,字线层wll95和竖直列432的一部分构成存储器单元mc1。字线层wll94和竖直列432的一部分构成存储器单元mc2。字线层wll93和竖直列432的一部分构成存储器单元mc3。字线层wll92和竖直列432的一部分构成存储器单元mc4。字线层wll91和竖直列432的一部分构成存储器单元mc5。在其他架构中,存储器单元可具有不同结构;然而,存储器单元仍将仍然是存储单元。
当对存储器单元进行编程时,电子存储在与存储器单元相关联的电荷捕集层473的一部分中。响应于字线区域476上的适当电压,这些电子通过隧穿电介质472从沟道471被吸引到电荷捕集层473中。存储器单元的阈值电压(vth)与所存储的电荷量成比例地增大。在一个实施方案中,通过电子的福勒-诺得海姆(fowler-nordheim)隧穿到电荷捕集层中来实现编程。在擦除操作期间,电子返回到沟道或空穴被注入到电荷捕集层中以与电子重组。在一个实施方案中,使用经由诸如栅极感应的漏极泄漏(gidl)的物理机制的空穴注入到电荷捕集层中来实现擦除。
图6g是图6a至图6f中描绘的存储器的一部分的示意图。图6g示出了在整个块上延伸的与字线层wll0至wll95相对应的物理字线wl0至wl95。图6g的结构对应于图6b至图6f的块2中的部分606,包括位线411、412、413、414、…、419。在该块内,每个位线连接到四个nand串。漏极侧选择线sgd0、sgd1、sgd2和sgd3用于确定四个nand串中的哪一个连接到相关联的位线。源极侧选择线sgs0、sgs1、sgs2和sgs3用于确定四个nand串中的哪一个连接到公共源极线。还可以考虑将该块划分成四个子块sb0、sb1、sb2和sb3。子块sb0对应于由sgd0和sgs0控制的竖直nand串,子块sb1对应于由sgd1和sgs1控制的竖直nand串,子块sb2对应于由sgd2和sgs2控制的竖直nand串,并且子块sb3对应于由sgd3和sgs3控制的竖直nand串。
图6a至图6f的存储器结构是具有在其形成中涉及的许多处理步骤的复杂结构。在制造过程中可出现多种不同的缺陷。一个示例是“开放式存储器孔”,其中(参见图6a)存储器孔mh不通过连接器491(图6d)良好地连接到对应的位线bl。在其他情况下,选择栅极或存储器单元可能未正确形成,使得nand串不能被选择或取消选择,或存储器单元未正确编程或读取。其他缺陷可包括字线或选择线,这些字线或选择线由于许多层的厚度的处理变化而断裂或与邻接的选择线或字线具有短路或泄漏。
由于此类缺陷,存储器的块许多是不可用的,或者即使是可用的,也具有降低的性能或降低的耐久性。为了确定缺陷的存在,在制造之后并且在被送出给客户之前,存储器设备可经受“管芯分类”,其中存储器设备经受存储器结构和外围电路的一系列测试。此类测试在更新或“新的”存储器管芯上执行,然后将其与其他存储器管芯或控制器组装到存储器封装件中并投入客户使用。测试通常使用连接到管芯的一个或多个外部设备或装备来进行,但在一些实施方案中,测试中的一些或全部可由管芯本身使用内置自测试(bist)过程来执行。如果存储器管芯具有太多缺陷块或特定严重类型的缺陷,则管芯被丢弃。当管芯的缺陷限于多个特定存储器块,并且此类缺陷块的数量不太大时,缺陷块可被标记在管芯上并且管芯仍然被使用,但是标记块不被使用或在有限的基础上被使用。
典型的现有技术管芯分类流程使用“故障停止”,其中一旦块在特定类别的一个规格下发生故障,管芯就被标记为坏并且在测试序列的以下部分中不被测试。在该种类的布置下,每个块仅具有单个对应的1位坏块(或bbk)标志,从而将管芯的块中的每一者标记为good或bad,而没有对坏块的缺陷程度或其缺陷的性质的任何指示。
为了改进这种布置,下文给出用以识别可恢复的块的技术。通过设备评估,可识别具有一定程度的缺陷但处于可恢复性类别并且具有可接受程度的风险的块。在这些类别中,可检查管芯的多个缺陷规格而无需故障停止。然后可根据这些测试对块进行分类,并通过使用每个块的多位标志值相应地记录结果。对于不需要满足严格规格的产品用途,可根据分类回收块,从而增加好块的数量并增加管芯产率。使用多位坏块(bbk)标志允许分类块在存储器管芯的通电序列期间被恢复。在一些实施方案中,多位坏块标志值可存储在用于控制或系统数据的存储器管芯的块中,并且由控制器存取以用于更灵活和多样化的块存取。
图7示出了非易失性存储器管芯的块的管芯分类测试序列的结果的一个实施方案。图7中的竖直轴线表示累积坏块计数。存储器管芯通常被设计成具有一定量的冗余容量,使得其可容忍丢失一些数量的块,但是如果管芯具有太多的坏块,诸如在最大值处的竖直轴线上所示,则其可能是不可用的。在一些实施方案中,如果达到坏块的最大数量,则可停止管芯的测试。
图7的水平轴线表示作为管芯分类测试的一部分执行的测试的测试编号,其中测试可用于存储器单元和外围元件两者。所执行的特定测试将根据存储器结构的细节而变化,并且即使对于特定类型的设备和特定组的测试,顺序也可根据实施方案而变化。可基于诸如分组测试之类的因素对测试进行排序,该分组测试共享元件的一组偏置值以便提高效率。为了获取相对于图6a至图6f所示的三维nand结构的示例,测试可以包括检查源极侧选择栅极的操作、漏极侧选择栅极的操作,检查打开的存储器孔(其中水平nand串未适当地连接到位线)、晶体管沿着虚拟字线存储器单元的操作,以及具有测试数据(例如,随机多状态数据)的多状态编程和读取操作等。
图7示出了两个不同的存储器管芯(管芯1和管芯2),因为它们的块在管芯分类期间经历测试序列。随着管芯经过序列,累积坏块计数在一些测试中增加,其中一个或多个坏块被发现,并且在所有块通过时保持相同。在故障停止实施方案中,一旦块在一个测试处发生故障,就不在后续测试处对其进行检查。例如,在可对应于开放式存储器孔测试的约10个测试处的第一箭头处,发现多个块发生故障,使得在故障停止实施方案中,对应的块将被标记为坏的并且在后续测试中跳过。类似地,示例性序列中测试约45或50处的第二箭头可例如为多级读取操作,并且未通过该测试的块将被标记为坏的,并且在故障停止实施方案的管芯分类流程中稍后的剩余测试中跳过。
图8是示出故障停止管芯分类的结果的表。图8的第一列列出了存储器管芯的块地址。接下来的若干列列出了多种不同类别的测试的测试结果。每个类别可对应于单个测试或一组测试;例如,对源极侧选择栅极的所有测试可被分组为单个类别。测试类别的通过表示为o,并且未通过表示为x。在一些情况下,通过或未通过给定类别的规格可针对错误的单次出现或此类错误的数量超过一定限制。例如,在开放式存储器孔的情况下,由于这导致每个字线仅有一个坏存储器单元,因此存储器系统可能能够容忍每个块一定数量的开放式存储器孔,因为通过使用纠错代码可以容忍每页一定数量的坏位;然而,在断裂或泄露字线的情况下,这将导致所有字线/数据页有缺陷,使得即使是单次出现也将导致块损坏。在故障停止实施方案中,一旦块未通过测试类别的规格,就不在后续测试中对其进行检查。在图8的示例中,块7在类别1处发生故障,并且不检查类别2和后续测试;并且块1在类别2处发生故障,并且不检查类别3和后续测试。
图8的最后列指示对应块的坏块标志被设定(由x指示)还是未被设定(由o指示)的管芯分类(ds类别)。一旦完成管芯分类,就可以在管芯上的rom熔丝存储器中设定对应组的标志值,诸如图5的320处所示。在其他实施方案中,bbk标志值可另选地或附加地存储在非易失性存储器的块中,该块可以是用于存储系统数据的一个或多个块620中的一个块。在相对于图8所示的使用故障停止并使用1位坏块标志的实施方案中,管芯分类流程仅考虑用于坏块确定的单组规格,仅针对单个质量,使得不在块等级下执行质量分类。在存储器管芯的通电操作期间,仅一组坏块标志从存储器管芯的寄存器中读出并被加载到控制器上,并且基于这些标志,标记为坏的块在存储器系统操作期间将不会被存取。
图9是描述从步骤901开始的用于故障停止管芯分类过程的过程的一个实施方案的流程图。在步骤903处选择测试,从管芯分类序列的第一测试开始,并且在步骤905处选择块,从测试顺序中的第一块开始。在图9的实施方案中,块环路被放置在测试环路内,使得在移动到下一个测试之前对所有块执行给定测试,但在其他实施方案中,测试环路可被放置在块环路内,使得在移动到下一个块之前对块执行所有测试(或直到故障停止的所有测试)。
在步骤907处对所选择的块执行所选择的测试,并且步骤909确定块是否通过测试。如果块不通过测试,则在步骤911处,将所选择的块从后续测试中移除并记录为坏。在一些实施方案中,可包括步骤913以确定坏块的累积数量是否超过最大值,并且如果超过,则在一些实施方案中,可在步骤915处结束对管芯的管芯分类流程。在其他实施方案中,诸如在步骤921之后,可另选地或附加地在流程结束附近执行是否拒绝管芯的确定。如果块在步骤909处通过测试,或者坏块的累积数量在913处低于最大值,则流程转到步骤917以确定当前测试是否存在更多块。
步骤917确定是否存在更多的块来检查当前测试,并且如果存在,则流程在步骤919处递增块编号之后循环回到步骤905,其中跳过先前在步骤911处确定为坏的任何块。如果不存在用于当前测试的更多块,则步骤921确定是否存在更多测试,并且如果存在,则流程在步骤923处递增测试编号之后循环回到步骤903。如果在步骤921处不存在更多测试,则测试完成并且可在步骤925处将管芯的坏块标志存储在管芯上,诸如通过在rom320(诸如熔丝rom)中设定值,或将它们存储在非易失性存储器阵列的系统数据块620中。当随后使用管芯时,当管芯上电时,坏块标志可由控制器读出,使得其可在进行块分配时跳过坏块。
坏块的数量也可用于基于存储器芯片的质量或值对其进行分级。可为可能需要大量编程/擦除循环的高值产品选择具有少量坏块的芯片。低级存储器管芯可用于在编程/擦除循环方面具有较低规格的应用中,因为具有较少备用块的设备一旦操作就将对所获取的缺陷具有较低容限。
以下讨论不是使用块的二进制好/坏分类和基本故障停止管芯分类测试过程,而是引入块的质量分类作为测试过程的一部分,并且使用多个坏块标志来实现产品多样性。这允许回收具有一定量的块缺陷的管芯以用于低级产品,从而提高产率。更具体地讲,引入管芯分类处的块质量分类和用于在管芯上存储该信息的多位标志,从而提供产品多样性和可以在管芯通电时提供的更详细的块质量分类。
通过设备评估,可识别缺陷类型和落入可恢复类别的缺陷程度。以较低标准(定性、定量或两者)通过管芯分类的块仍可用于具有较低规格要求的产品。例如,在每1000个1位的规格下未通过开放式存储器孔测试的块可能在每1000个8位的规格下通过。在另一个示例中,对于每1000不超过80个坏位的更宽松的要求,使在每1000不超过52个坏位的要求下读取的多级单元(mlc)故障的块可能通过。这种较高等级的缺陷仍可允许块利用存储器系统的ecc能力成功操作,但允许减少附加错误的开销。因此,此类设备可具有较低的性能或较短的寿命,并且不太适用于较高规格的产品,但可用于较低规格的应用。这样,具有用于开放式存储器孔、多级读取和其他测试的各种规格允许对块质量进行更完整的分类。在测试之后,块分类信息可被存储为多位坏块标志值,诸如在rom320或系统数据块620中,这些多位坏块标志值可被读取以确定管芯的块的可恢复性,然后可根据产品的规格灵活地启用这些管芯的块。
管芯分类测试序列可再次如图7所示,但这些测试现在可包括所选测试的多个规格,诸如开放式存储器孔的数量,或者可如前一段落中所述对照多个值来检查多状态读取中的错误读取位的数量。在一些实施方案中,检测到的错误可被分类为关键故障类别或可恢复性类别。关键故障类别可包括缺陷,诸如字线短路、高泄漏或导致将使块不可恢复的误差量的其他缺陷。对于此类关键故障类别,管芯分类可再次为故障停止。对于可恢复的故障类别,管芯分类流程不是故障停止,并且可用于确定和分类可针对较低规格产品恢复的块。
图10是示出管芯分类结果的表,其中如果块通过宽松标准,则对于下一个管芯分类类别,块被认为通过,但如果块在关键故障类别中未通过,则该块故障停止。如在图8中,图10的第一列列出了块地址,并且接下来的若干列用于不同的管芯分类类别。在该示例中,类别2和类别5被认为是关键故障类别:例如,类别2可对应于字线短路,这将使得整个字线不可用,并且类别5对应于具有极高错误率的多级读取。如图10所示,这些类别是故障停止,其中跳过对这些类别具有x的块的后续测试。然而,对于非关键类别,不存在故障停止,使得在例如块2的情况下,即使这些块在类别3处具有故障,测试也继续。块5示出了一个示例,其中块未通过若干非关键类别测试,并且继续进行测试,直到其在类别5的关键故障类别处未通过。
虽然此处针对在块等级下确定缺陷或可恢复性标志信息的实施方案描述了过程,但其他实施方案可替代地或附加地以其他间隔尺寸确定标志信息。例如,该过程还可包括在子块等级(例如,上子块和下子块,例如对应于图6d的接头上方或下方的相应区域)或者在字线组或甚至单独字线的等级下进行分类。
在类别n列之后,图10包括可恢复性列。除了图8所示实施方案的关键故障值(由x指示)和所有通过值(由o条目指示)之外,一个或多个可恢复性等级由r1、r2、r3、…指示,其中r1是最可恢复的块。如果使用3位坏块标志,则可以在标志值中编码六个中间程度的可恢复性。标志值在图10的最后一列中示出,其中在该示例中,000对应于无故障,111对应于关键故障,并且中间值随着可恢复性程度降低而增加。尽管上面的讨论主要集中于作为新设备的设备评估过程的一部分确定和记录的多位坏块标志值,并且不由存储器控制器设定(因为该过程在管芯被组装到存储器系统中之前执行),但在一些实施方案中,可更新这些标志值以反映一旦设备在使用中时就出现的“增长”缺陷。
对于给定的一组测试,用户可定义被定性为关键故障类别的内容的确定。不同的用户可具有不同的标准,并且即使对于给定用户,标准也可根据存储器电路的预期用途而变化。另外,特定测试和被定性为关键故障类别的内容将根据被测试的存储器设备的类型的细节而变化,诸如用于存储器单元(例如,nand闪存存储器与相变存储器)的存储器技术,并且甚至对于给定的存储器技术,根据存储器结构的细节(例如,三维nand与二维nand)而变化。
图11示出了通过使用坏块恢复机制可在较高值等级下使用的芯片的数量的增加。图11示出了基于存储器管芯的坏块数量的存储器管芯的分布的示例,其中芯片的数量在竖直轴线上,并且坏块的数量在水平轴线上。基于坏块的数量,存储器管芯可按组分类,其中较高值的芯片具有较少坏块,并且具有较高坏块数量的芯片具有较小值。图11示出了分组为四个仓g1、g2、g3和g4的分布。由实线表示的分布1101对应于基于单个坏块位的分级,其中对于g1区域,实线1101和虚线1103重叠。组g1的存储器管芯对应于可预期在编程/擦除循环方面具有最长寿命的最高质量规格、最高值芯片,其中组g2作为中等质量规格设备,组g3为较低质量规格设备,并且组g4对于大多数用途而言具有太多坏块。
分布1101使用块是否为坏的二进制1位确定基于坏块的数量。用虚线示出的分布1103利用了相对于图10所述的坏块恢复。在该示例中,g1仓中的芯片数量在两种情况下都是相同的,但g2和g3仓中的数量已增加。例如,如果先前在g3或甚至g4组中的存储器管芯具有多个块,这些块具有缺陷,但具有更可恢复的类别,诸如r1或r2,则这些芯片可移动到g2仓中。作为一个示例,如果管芯具有多个块,则可能出现这种情况,这些块也可能打开存储器孔以满足最严格的测试规格,但仍然可以满足更放松的标准。此类块可以具有稍短的预期寿命,但仍可用于许多应用中。类似地,在针对坏块的二进制通过/未通过基础上将在g4组中的许多管芯现在对于g3是可恢复的。
图12是用于包括块质量分类的管芯分类过程的过程的一个实施方案的高级描述的流程图。步骤1200包括测试具有多个块的非易失性存储器管芯,块中的每个块具有多个存储器单元。作为步骤1200中的测试的一部分,在步骤1201处,对每个块执行多个测试操作的序列。测试操作中的每个测试操作被配置为确定正在对其执行测试操作的块中对应类型的缺陷的存在。另外,作为步骤1200中的测试的一部分,在步骤1203处从测试操作的序列确定每个块的对应多位标志值。如上文相对于图10所述,多位标志值指示对应块的多个可恢复性类别中的一个可恢复性类别,其中可恢复性类别包括好块类别、不可用块类别以及多个中间可恢复性等级类别。步骤1210将块中的每个块的多位标志值存储在存储器管芯上的非易失性存储器中。图13呈现了图12的过程的更详细具体实施的示例,特别是对于步骤1201。
图13是描述用于在图12中,但在更详细的具体实施中包括块质量分类的管芯分类的过程的一个实施方案的流程图。图13中呈现的实施方案类似于上文相对于图9所述的实施方案,但是现在使用相对于图10描述的那种质量确定,而不是对于每个块上的每个测试的故障停止通过/不通过确定。图13的过程,包括管芯上熔丝rom或其他非易失性存储器中的多位bbk标志的设定,可在新制造的或“新的”存储器管芯上执行,然后将其组装到具有其他存储器管芯或控制器的存储器封装件中并投入客户使用。测试通常使用连接到管芯的一个或多个外部测试设备或装备来进行,但在一些实施方案中,测试中的一些或全部可由管芯本身使用内置自测试(bist)过程来执行。
从步骤1301开始,在步骤1303处选择测试,从管芯分类序列的第一测试开始,并且在步骤1305处选择块,从测试顺序中的第一块开始。在图13的实施方案中,如在图9的实施方案中,块环路被放置在测试环路内,使得在移动到下一个测试之前对所有块执行给定测试,但在其他实施方案中,测试环路可被放置在块环路内,使得在移动到下一个块之前对块执行所有测试(或直到故障停止的所有测试)。
在步骤1307处对所选择的块执行所选择的测试,并且步骤1309确定块是否通过测试。如果块不通过测试,则流程转到步骤1331,该步骤确定未通过的测试是否具有关键故障类别。如果不是,则流程转到步骤1333,其中在继续进行到步骤1317之前记录测试的结果。由于测试不具有关键故障,因此对于所选择的块不存在故障停止,并且其将被包括在序列的下一个中。
如果在步骤1309处检测到的测试故障是关键故障,则在步骤1311处,将所选择的块从后续测试中移除并记录为(不可恢复地)坏。在一些实施方案中,可包括步骤1313以确定具有关键故障的块的累积数量是否超过最大值,并且如果超过,则可在步骤1315处结束对管芯的管芯分类流程。如果块在步骤1309处通过测试,或者坏块的累积数量在1313处低于最大值,则流程转到步骤1317以确定当前测试是否存在更多块。
步骤1317确定是否存在更多的块来检查当前测试,并且如果存在,则流程在步骤1319处递增块编号之后循环回到步骤1305,其中跳过先前在步骤1311处确定为坏的任何块。如果不存在用于当前测试的更多块,则步骤1321确定是否存在更多测试,并且如果存在,则流程在步骤1323处递增测试编号之后循环回到步骤1303。如果在步骤1321处不存在更多测试,则在1325处测试完成,并且可如上相对于图10所示来确定块的可恢复性类别和存储器管芯的对应标志值。在步骤1327处,可将管芯的块中的每个块的多位坏块标志存储在管芯上,诸如通过在rom320(诸如熔丝rom)中设定值,或将它们存储在非易失性存储器阵列的系统数据块620中(或两者)。当随后使用管芯时,当管芯上电时,坏块标志可由控制器读出,使得控制器可在进行块分配时跳过坏块。
一旦如相对于图10、图12和图13所述获得管芯的坏块信息,该信息就可在管芯的操作期间使用,并且还用于选择用于结合到产品中的管芯。例如,如果需要用于图1的存储器系统100的图4的高规格存储器封装件104,则封装件104的存储器管芯292可选自图11的组g1,而对于较低规格存储器封装件,管芯可选自组g2或g3或者g1、g2和g3管芯的混合物,这取决于预期用途。当从存储器管芯的池组装存储器封装件时,可检查管芯的坏块标志以确定其用于进行此类管芯选择的质量等级。
图14是描述用于具有管芯的存储器系统的通电序列的过程的一个实施方案的流程图,该管芯具有多位坏块标志值。返回参见图1至图5和图6b,在步骤1401处,存储器系统100接收存取命令或导致上电的其他信号。在步骤1403处,存储器控制器102上电,在步骤1405处,向存储器封装件104及其组成存储器管芯发送通电命令。作为通电序列的一部分,在步骤1407中,管芯上控制电路310可从rom存储器320或从系统数据块620中读出多位坏块标志值。尽管上面的讨论主要集中于作为新设备的设备评估过程的一部分确定和记录的多位坏块标志值,但在一些实施方案中,可更新这些标志值以反映一旦设备在使用中时就出现的“增长”缺陷。然后在步骤1409处将多位坏块标志数据从存储器管芯传输到控制器102。然后,控制器可将标志值存储在用于控制器的操作存储器(即,用于控制器的ram存储器,诸如控制器上或单独的集成电路诸如本地存储器(例如,dram/reram)106上的sram160或其他可存取ram)中,在步骤1411处,该标志值可根据需要由控制器的其他元件(诸如由存储器处理器156或媒体管理层mml158)从中存取。例如,当媒体管理层mml158在进行逻辑到物理地址转换时选择物理存储器块以供使用时,被记录为具有关键故障的块(图10中的x类别)将根本不被选择,而由不同可恢复性类别提供的块质量信息可用于块选择过程中。
块质量信息的用途的一个示例是损耗均衡。损耗均衡是用于尝试和均衡整个管芯的(或存储器系统的)存储器块上的损耗水平以使得块均匀地老化的技术。在没有损耗均衡的情况下,一些块可以比其他块更频繁地重写,从而导致管芯变得不可用,因为少量块被损耗,而其他块仍然具有长的预期寿命。许多不同的损耗均衡技术是已知的,通常基于以块中的每个块已经历的编程/擦除(p/e)循环的数量(通常称为热计数或经验计数的参数)为基础来选择用于写入的存储器块。当仅使用1位坏块标志时,从好块选择块,其中标记为坏的块不被使用。当使用多位坏块标志时,可使用可从多位值获得的质量信息来将可恢复的块结合到损耗均衡算法中,使得恢复的块可在损耗均衡算法中以较少的循环使用。损耗均衡算法的细节改变,但图15示出了可如何将关于块的可恢复性信息结合到通用损耗均衡技术中。
图15是描述损耗均衡过程的一个实施方案的流程图,该损耗均衡过程可结合通过使用坏块标志的多位值提供的块质量或可恢复性信息。从步骤1500开始,该过程开始于组装或补充可用于将数据写入其中的空闲块的池。在步骤1501处从空闲块选择块,并在步骤1503处检查该块以查看其坏块标志是否指示关键故障(图10中的x)。如果是,则不选择块(步骤1505);并且如果不是,则选择该块并将其添加到池(步骤1507)。步骤1509确定是否已选择足够的块,并且如果不是,则流程循环回到步骤1501。一旦选择了足够的块,流程就前进到步骤1510以开始对来自池的块进行排序。
在步骤1511处,获得池的块中的每个块的编程/擦除(p/e)计数。例如,这些可由控制器维持在操作存储器诸如sram160中,它们可由媒体管理层mml158和存储器处理器156从中存取。在步骤1513处,存取池的块中的每个块的多位坏块标志信息,其中关于块的质量和可恢复性的该信息先前可以在图13的步骤1309和1311中被传输到控制器102并存储在sram160中作为通电序列的一部分。如上所讨论的,可恢复性等级或类别(r1、r2、…)可包括与块的预期寿命相关的信息。例如,作为新设备的具有较高数量的开放式存储器孔的块将能够容忍由于编程/擦除循环而产生的较少获取错误,使得其p/e循环的最大值的预期数量低于使用最严格规格通过开放式存储器孔的设备。因此,在图15的实施方案中,可基于坏块标志的值对块的编程擦除计数进行加权。在步骤1515处执行该加权。在步骤1517处,基于加权p/e计数对存储器块的池进行排序以提供物理存储器块的有序列表,媒体管理层mml158可从该列表选择何时拾取用于写入或擦除操作的块。
如所指出的,不同损耗均衡方法的细节改变,其中例如,它们可基于对可用块进行排序以及在选择用于写入操作的块或主动移动块以帮助均衡损耗时使用坏块标志的值。但是,通常,该过程将涉及块的某种排序,其可以被修改以包括可从多位坏块标志值获得的块质量信息,诸如刚刚描述的加权过程。在这些布置中的任一者中,当在步骤1519处接收到对可用块的请求时,在步骤1521处由媒体管理层mml158对块的选择可基于这样的加权列表。在步骤1519处对块的请求可基于来自主机的写入命令或擦除命令或者归因于主机数据的内部数据重定位操作(例如,垃圾收集、主动损耗均衡等),并且涉及将逻辑块地址分配给物理块,或者可以是系统数据的块的分配(如对于图6b的系统块620)。
如上所述,作为设备测试的一部分,不是由具有分组为好或坏的两个类别的这些块的多个块形成的存储器管芯,而是可以将块分类扩展到多个类别,然后可以将其记录在多位(例如,3位)坏块标志中的管芯上。这允许存储器系统存取具有各种质量等级的块并基于其使用来区分块。例如,在较低耐久性产品中,可使用基于多位坏块标志的块恢复,使得好块的有效数量增加。例如,这可允许存储器控制器使用具有较高缺陷等级的块,其中在损耗均衡算法中循环较少。
一个实施方案包括一种方法,该方法包括测试包括多个块的非易失性存储器管芯,每个块具有多个存储器单元。测试包括:对每个块执行多个测试操作的序列,测试操作中的每个测试操作被配置为确定正在对其执行测试操作的序列的块中对应类型的缺陷的存在;以及从测试操作的序列中确定每个块的多位标志值,多位标志值指示对应块的多个可恢复性类别中的一个可恢复性类别,可恢复性类别包括好块类别、不可用块类别以及一个或多个中间可恢复性等级类别。该方法还包括将块中的每个块的多位标志值记录在存储器管芯上的非易失性存储器中。
再一个实施方案包括非易失性存储器系统,该非易失性存储器系统包括存储器管芯和连接到存储器管芯的存储器控制器。存储器管芯包括:多个块,每个块包括多个非易失性存储器单元;和非易失性系统存储器区段,该非易失性系统存储器区段对于块中的每个块存储多位标志值,该多位标志值指示对应块的多个可恢复性类别中的一个可恢复性类别,可恢复性类别包括好块类别、不可用块类别以及一个或多个中间可恢复性等级类别。存储器控制器被配置为:对存储器管芯执行通电序列,该通电序列包括从存储器管芯读出多位标志值并将多位标志值存储在用于存储器控制器的操作存储器中;以及选择存储器管芯的块,其中存储器控制器基于由被排序的块中的每个块的可恢复性类别加权的块的排序来选择块。
一个实施方案包括:非易失性存储器管芯,该非易失性存储器管芯包括多个块,每个块包括多个非易失性存储器单元;和非易失性系统存储器,该非易失性系统存储器对于块中的每个块存储多位标志值,该多位标志值指示对应块的多个可恢复性类别中的一个可恢复性类别,并且可恢复性类别包括好块类别、不可用块类别以及一个或多个中间可恢复性等级类别。存储器管芯还包括一个或多个管芯上控制电路,该一个或多个管芯上控制电路连接到块并且连接到非易失性系统存储器,该一个或多个控制电路被配置为向块写入数据并从块读取数据,并且在通电序列期间读取多个多位标志值并且在外部向存储器管芯提供多个多位标志值。
出于本文件的目的,说明书中提到“实施方案”、“一个实施方案”、“一些实施方案”或“另一个实施方案”可用于描述不同的实施方案或相同的实施方案。
出于本文件的目的,连接可为直接连接或间接连接(例如,经由一个或多个其他部件)。在一些情况下,当元件被提及连接或耦接到另一个元件时,该元件可直接连接至另一个元件,或者经由居间元件间接连接至另一个元件。当元件被提及直接连接至另一个元件时,则在该元件与另一个元件之间没有居间元件。如果两个设备是直接连接或间接连接的,则两个设备是“通信”的,使得它们能够在它们之间进行电子信号通信。
出于本文档的目的,术语“基于”可理解为“至少部分地基于”。
出于本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能不意味着对象的排序,而是可用于识别目的以识别不同的对象。
出于本文档的目的,对象的术语“组”可指一个或多个对象的“组”。
出于说明和描述的目的,已提供了上述详细描述。其并非旨在详尽的或旨在限制本发明所公开的精确形式。根据以上教导内容,很多修改和变型都是可能的。选择所述实施方案以便最好地解释所建议的技术的原理及其实际应用,从而使本领域的其他技术人员能够在各种实施方案中和适合于设想的具体使用的各种修改中最好地利用它。本发明的范围旨在由所附权利要求书限定。
1.一种方法,包括:
测试包括多个块的非易失性存储器管芯,每个块具有多个存储器单元,所述方法包括:
对每个块执行多个测试操作的序列,所述测试操作中的每个测试操作被配置为确定正在对其执行所述测试操作的所述块中对应类型的缺陷的存在;以及
从测试操作的所述序列中确定每个块的对应多位标志值,所述多位标志值指示对应块的多个可恢复性类别中的一个可恢复性类别,所述可恢复性类别包括好块类别、不可用块类别以及一个或多个中间可恢复性等级类别;以及
将所述块中的每个块的所述多位标志值存储在所述存储器管芯上的非易失性存储器中。
2.根据权利要求1所述的方法,其中:
缺陷的所述类型包括多个错误类别。
3.根据权利要求1至2中任一项所述的方法,其中:
缺陷的所述类型包括一类错误的多个错误程度。
4.根据权利要求1至3中任一项所述的方法,其中对每个块执行测试操作的所述序列还包括:
确定块是否未通过关键类别的测试操作;以及
响应于所述块未通过所述关键类别的所述测试操作,将未通过所述测试操作的所述块的所述可恢复性类别设定为所述不可用块类别。
5.根据权利要求4所述的方法,其中对每个块执行测试操作的所述序列还包括:
响应于所述块未通过所述关键类别的所述测试操作,停止对所述块执行测试操作的所述序列。
6.根据权利要求1至5中任一项所述的方法,其中将所述块中的每个块的所述多位标志值存储在所述存储器管芯上的非易失性存储器中包括:
将所述多位标志值写入所述存储器管芯上的熔丝rom存储器中。
7.根据权利要求1至6中任一项所述的方法,其中将所述块中的每个块的所述多位标志值存储在所述存储器管芯上的非易失性存储器中包括:
将所述多位标志值写入所述存储器管芯的块中。
8.根据权利要求1至7中任一项所述的方法,还包括:
基于所述多位标志值将所述存储器管芯分级成多组质量规格中的一组质量规格。
9.根据权利要求8所述的方法,还包括:
将所述存储器管芯组装成由多个存储器管芯构成的非易失性存储器封装件。
10.根据权利要求9所述的方法,其中将所述存储器管芯组装成由多个存储器管芯构成的所述非易失性存储器封装件包括:
从多个不同组的质量规格选择所述多个存储器管芯。
11.根据权利要求1至10中任一项所述的方法,其中对每个块执行多个测试操作的序列包括:
在对所述块执行所述序列的后续测试操作之前,对所有所述块执行所述序列的每个测试操作。
12.一种非易失性存储器系统,包括:
存储器管芯,所述存储器管芯包括:
多个块,每个块包括多个非易失性存储器单元;和
非易失性系统存储器区段,所述非易失性系统存储器区段对于所述块中的每个块存储多位标志值,所述多位标志值指示对应块的多个可恢复性类别中的一个可恢复性类别,所述可恢复性类别包括好块类别、不可用块类别以及一个或多个中间可恢复性等级类别;和
存储器控制器,所述存储器控制器连接到所述存储器管芯并且被配置为:
对所述存储器管芯执行通电序列,所述通电序列包括从所述存储器管芯读出所述多位标志值并将所述多位标志值存储在用于所述存储器控制器的操作存储器中;以及
基于由排序中所述块中的每个块的所述可恢复性类别加权的所述块的所述排序来选择所述存储器管芯的块。
13.根据权利要求12所述的非易失性存储器系统,其中所述存储器控制器被进一步配置为:
对于所述块中的每个块,维持由所述块经历的编程/擦除循环的数量的计数,其中所述块的所述排序基于由所述块的可恢复性类别加权的每个块所经历的编程/擦除循环的所述数量的所述块计数。
14.根据权利要求12至13中任一项所述的非易失性存储器系统,其中:
所述块的所述排序用于损耗均衡操作。
15.根据权利要求12至14中任一项所述的非易失性存储器系统,其中:
所述存储器控制器为由所述存储器控制器发起的内部数据重定位操作选择所述块。
技术总结