掌桥专利:专业的专利平台
掌桥专利
首页

以子块粒度管理固态驱动器缺陷冗余

文献发布时间:2024-04-18 19:58:53


以子块粒度管理固态驱动器缺陷冗余

本申请是2017年8月29日提交的申请号为201780053217.0的同名专利申请的分案申请。

相关申请的交叉引用

本申请要求于2016年9月29日提交的美国非临时专利申请第15/280,725号的优先权的利益。

技术领域

实施例一般涉及擦除存储器结构。

背景技术

NAND型闪存(“NAND存储器”)可以在存储器的块中擦除。NAND光刻的发展可能导致更大的擦除块,其可以由子块(例如,块的1/32)中的NAND存储器内部管理。然而,在传统的解决方案中,子块擦除失败可能导致整个块被视为有缺陷,即使NAND存储器可能能够控制讨论的子块的失败。因此,可能不必要地浪费用户可曝光的存储器容量。另外,由于擦除块的大尺寸,冗余开销(例如,防止失败)可能相对较高。

附图说明

通过阅读以下说明书和所附权利要求,并参考以下附图,实施例的各种优点对于本领域技术人员将变得显而易见,其中:

图1是根据实施例的NAND阵列组织的示例的图示。

图2是根据实施例的子块擦除失败的示例的图示;

图3是根据实施例的操作存储器设备的方法的示例的流程图。

图4A和4B是根据实施例的擦除状态增强命令通信的示例的信令图;以及

图5是根据实施例的计算系统的示例的框图。

具体实施方式

为了在NAND型闪存(“NAND存储器”)半导体管芯中保持写带宽,可以增加页面大小和擦除块大小。在每次擦除操作之后,通过读取所有目标位并确保将它们设置为1来验证擦除操作的成功完成。在验证失败时,可以报告擦除失败以指示擦除块有缺陷。利用更密集的几何结构,每个擦除块可以被划分为更少数量的子块(例如,32),并且可以以子块粒度检测擦除失败。如将更详细地讨论的,在遇到擦除失败时,非易失性存储器控制器可以检测失败的子块并将子块标记为有缺陷以防止数据存储到失败的子块。

现在转向图1,示出了用于非易失性存储器(NVM)(例如NAND存储器)的阵列组织11。图示的阵列组织11可以用于NAND闪存、三维(3D)NAND存储器阵列设备或其他存储器设备。非易失性存储器是不需要电力来维持介质存储的数据状态的存储介质。非易失性存储器的非限制性示例可包括以下中的任何一个或组合:固态存储器(诸如平面或3D NAND闪存或NOR闪存)、3D交叉点存储器、使用硫族化物相变材料的存储设备(例如,硫族化物玻璃)、字节可寻址非易失性存储器设备、铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、聚合物存储器(例如,铁电聚合物存储器)、铁电晶体管随机存取存储器(Fe-TRAM)奥氏存储器、纳米线存储器、电可擦除可编程只读存储器(EEPROM)、其他各种类型的非易失性随机存取存储器(RAM)和磁存储型存储器。在一些实施例中,3D交叉点存储器可以包括无晶体管的可堆叠交叉点架构,其中存储器单元位于字线和位线的交叉处并且可单独寻址,并且其中位存储基于体电阻的变化。在特定实施例中,具有非易失性存储器的存储器模块可以符合联合电子设备工程委员会(JEDEC)颁布的一个或多个标准,例如JESD218、JESD219、JESD220-1、JESD223B、JESD223-1或其他合适的标准(此处引用的JEDEC标准可在jedec.org获得)。

阵列通常可以组织成高速缓存寄存器10、数据寄存器12和逻辑单元节点(LUN)14。图示的LUN 14包括一定数量的块16(例如,2048个块)。阵列可以进一步划分为多个平面(例如,“平面0”,“平面1”),其中每个平面可以包括一定数量的块16(例如,每个平面1024个块)。块16的大小可以是例如一定数量的页面(例如,512个页面),并且每个页面可以包括一定数量的字节(例如,16k+1216字节)。因此,每个块16可以相对较大。如将更详细地讨论的,每个块16可以包括多个子块,其中擦除失败可以在子块级别的粒度中被控制。此外,可以在子块级别跟踪擦除失败,从而可以优化向用户的可用存储器的暴露并且可以最小化冗余开销。

图2示出了NAND存储器18被组织成多个块(即,“块0”,“块1”,......“块N”)的示例。每个块还包括多个子块,这些子块被针对擦除操作的成功或失败而单独跟踪。在所示的示例中,标识目标块22(例如,“块i”)的擦除命令导致子块擦除失败20(例如,在“子块2”处)。因此,目标块22可以被认为具有两个子块子集——具有失败擦除的第一子集和具有成功擦除的第二子集。通过跟踪擦除失败,可以使更多存储器对用户可用,因为整个目标块22不需要被视为有缺陷/有故障的。尽管为了便于讨论示出了单个子块擦除失败20,但是如本文所述,可以按块跟踪多个(和非连续的)子块擦除失败。根据情况,可以以几种不同的方式进行跟踪擦除失败。

图3示出了操作存储器设备的方法24。方法24通常可以在包含NAND存储器的存储器设备中实现,NAND存储器例如为已经讨论过的NAND存储器18(图2),其具有阵列组织,例如阵列组织11(图1)。更具体地,方法24可以实现在一个或多个模块中,作为存储在机器或计算机可读存储介质中的一组逻辑指令,机器或计算机可读存储介质例如为随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存等;可以实现在可配置逻辑中,可配置逻辑例如为可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD);可以实现在使用电路技术的固定功能逻辑硬件中,使用电路技术的固定功能逻辑硬件例如为专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术,或其任何组合。

图示的处理块26响应于擦除命令提供启动NAND存储器的块的擦除,其中该块包括多个子块。擦除命令可以标识NAND存储器的整个块(例如,作为目标“擦除块”)。处理块28可以在单个子块的基础上跟踪关于多个子块的第一子集的擦除失败,其中关于多个子块的第二子集擦除成功。如已经指出的,可以以多种不同方式跟踪擦除失败。

例如,处理块28可以包括将新类型的命令(例如,“擦除状态增强命令”)从固态驱动器(SSD)控制器传送到NAND存储器(例如,响应于从NAND存储器接收到擦除失败),然后,响应于擦除状态增强命令,将来自NAND存储器的第一子集中的每个子块的标识传送到SSD控制器。

继续参考图3和4A,在另一个示例中,处理块28可以包括将第一子集中的子块的数量的指示和第一子集中的每个子块的标识以可变字节数从NAND存储器传送到SSD控制器。因此,指向特定地址的擦除状态增强命令34可以使来自NAND存储器的初始输出字节36包含子块失败的数量,其中后续输出字节38标识具有擦除失败的特定子块。在所示的示例中,在一定时间延迟(“t

图4B展示了对擦除状态增强命令34的响应可以以固定数量的字节35形成,以便实现更确定的结果。因此,可能返回五个字节,第一个输出字节包含错误的子块的总数,其余四个字节指示哪些子块遇到错误。在这种情况下,可以将1或0填充到四个字节的32位中。此外,如果没有子块遇到擦除错误,则第一输出字节可以为0,后续字节不包含有用信息。

现在回到图3,处理块28还可以包括在表格(例如SSD控制器的内部表格)中记录第一子集中的每个子块。在所示的示例中,在处理块30处防止使用多个块的第一子集。块30可以包括例如将有缺陷的子块的表格暴露给主机平台和/或操作系统(OS),产生警告等,或其任何组合。相反,所示的块32允许使用多个子块的第二子集。因此,块32可能导致更多可用存储器被暴露。所示方法24还可以实现冗余开销的减少(例如,更少的计算校验和的XOR运算)。

图5示出了基于存储器的计算系统40。系统40可以是服务器(例如,数据中心)、台式计算机、笔记本计算机、平板计算机、可转换平板计算机、智能电话、个人数字助理(PDA)、媒体播放器的一部分等等,或其任何组合。所示系统40包括计算子系统42(例如,主机平台)和耦合到计算子系统的通信接口44(例如,交换结构)。通信接口44可以符合例如PCIe(快速外围组件互连)上的NVMe(快速NVM)、SATA(串行高级技术附件)、SAS(串行连接SCSI/小型计算机系统接口)、PCIe等等而操作。另外,存储器设备46可以耦合到通信接口44。在一个示例中,存储器设备46是SSD。存储器设备46通常可以实现已经讨论过的方法24(图3)的一个或多个方面。更具体地,存储器设备46可以包括NAND存储器50,例如也已经讨论过的NAND存储器18(图2)。

NAND存储器50可以响应于擦除命令(例如,标识块)来启动NAND存储器50的块的擦除,其中块包括多个子块。另外,控制器48(例如,存储器/主机接口控制器)可以经由接口52通信地耦合到NAND存储器50,例如,用于ONFI(开放NAND闪存接口,例如,ONFI 4.0,2014年4月)总线。可以包括固件的控制器48可以在单个子块的基础上跟踪关于多个子块的第一子集的擦除失败。擦除可以关于多个子块的第二子集成功。控制器48可以在表格(例如,内部表格)中记录第一子集中的每个子块(未示出)。

在一个示例中,控制器48被配置为将擦除状态增强(ESE)命令传送到NAND存储器50,并且NAND存储器50被配置为响应于ESE命令而将第一子集中的每个子块的标识传送到控制器48。在另一示例中,NAND存储器50可以以可变字节数将第一子集中的子块的数量的指示和第一子集中的每个子块的标识传送到控制器48。在又一示例中,NAND存储器50可以以固定数量的字节将第一子集中的子块的数量的指示和第一子集中的每个子块的标识传送到控制器48。

控制器48可以允许使用多个子块的第二子集以及防止使用多个子块的第一子集。因此,所示出的存储器设备46减少了冗余开销并且最小化了在发生缺陷时排除的存储的量。

附加说明和示例:

示例1可以包括基于存储器的计算系统,其包括:计算子系统,通信接口,以及耦合到所述通信接口的存储器设备,该存储器设备包括:非易失性存储器,用于响应于擦除命令而启动非易失性存储器的块的擦除块,其中所述块包括多个子块,以及通信地耦合到非易失性存储器的非易失性存储器控制器,非易失性存储器控制器用于在单独子块的基础上跟踪关于多个子块的第一子集的擦除的失败,其中擦除关于多个子块的第二子集是成功的。

示例2可以包括示例1的系统,其中所述非易失性存储器控制器允许使用所述多个子块的第二子集。

示例3可以包括示例1的系统,其中所述非易失性存储器控制器用于防止使用所述多个子块的第一子集。

示例4可以包括示例1的系统,其中所述非易失性存储器控制器用于将擦除状态增强命令传送到所述非易失性存储器,并且所述非易失性存储器用于响应于所述擦除状态增强命令而将第一子集中的每个子块的标识传送到所述非易失性存储器控制器。

示例5可以包括示例1的系统,其中,所述非易失性存储器用于以可变字节数将所述第一子集的子块的数量的指示和所述第一子集中的每个子块的标识传送到所述非易失性存储器控制器。

示例6可以包括示例1的系统,其中,所述非易失性存储器用于以固定字节数将所述第一子集中的所述子块的数量的指示和所述第一子集中的每个子块的标识传送到所述非易失性存储器控制器。

示例7可以包括示例1至6中任一个的系统,其中所述擦除命令用于标识非易失性存储器的块。

示例8可以包括示例1至6中任一个的系统,其中所述非易失性存储器控制器用于在表格中记录所述第一子集中的每个子块。

示例9可以包括存储器设备,该存储器设备包括:非易失性存储器,用于响应于擦除命令而启动所述非易失性存储器的块的擦除,其中该块包括多个子块;以及通信地耦合到所述非易失性存储器的非易失性存储器控制器,所述非易失性存储器控制器用于在单独子块的基础上跟踪关于所述多个子块的第一子集的擦除的失败,其中,所述擦除关于所述多个子块的第二子集是成功的。

示例10可以包括示例9的设备,其中所述非易失性存储器控制器允许使用所述多个子块的所述第二子集。

示例11可以包括示例9的设备,其中所述非易失性存储器控制器用于防止使用所述多个子块的所述第一子集。

示例12可以包括示例9的设备,其中所述非易失性存储器控制器用于将擦除状态增强命令传送到所述非易失性存储器并且所述非易失性存储器用于响应于擦除状态增强命令而将所述第一子集中的每个子块的标识传送到所述非易失性存储器控制器。

示例13可以包括示例9的设备,其中,所述非易失性存储器用于以可变字节数将所述第一子集中的子块的数量的指示以及所述第一子集中的每个子块的标识传送到所述非易失性存储器控制器。

示例14可以包括示例9的设备,其中,所述非易失性存储器用于以固定字节数将所述第一子集中的子块的数量的指示以及所述第一子集中的每个子块的标识传送到所述非易失性存储器控制器。

示例15可以包括示例9至14中任一个的设备,其中所述擦除命令用于标识非易失性存储器的块。

示例16可以包括示例9至14中任一个的设备,其中所述非易失性存储器控制器用于在表格中记录所述第一子集中的每个子块。

示例17可以包括操作存储器设备的方法,包括:响应于擦除命令而启动非易失性存储器的块的擦除,其中该块包括多个子块,在单独子块的基础上跟踪关于多个子块的第一子集的擦除的失败,其中所述擦除关于所述多个子块的第二子集是成功的。

示例18可以包括示例17的方法,还包括允许使用所述多个子块的第二子集。

示例19可以包括示例17的方法,还包括防止使用所述多个子块的第一子集。

示例20可以包括示例17的方法,还包括:将擦除状态增强命令从非易失性存储器控制器传送到所述非易失性存储器,以及响应于所述擦除状态增强命令,将所述第一子集中的每个子块的标识从所述非易失性存储器传送到所述非易失性存储器控制器。

示例21可以包括示例17的方法,还包括以可变字节数将所述第一子集中的子块的数量的指示和所述第一子集中的每个子块的标识从所述非易失性存储器传送到非易失性存储器控制器。

示例22可以包括示例17的方法,还包括以固定字节数将所述第一子集中的子块的数量的指示和所述第一子集中的每个子块的标识从所述非易失性存储器传送到非易失性存储器控制器。

示例23可以包括示例17至22中任一个的方法,其中所述擦除命令标识非易失性存储器的块。

示例24可以包括示例17至22中任一个的方法,还包括在表格中记录第一子集中的每个子块。

示例25可以包括存储器设备,该存储器设备包括用于响应于擦除命令而启动非易失性存储器的块的擦除的单元,其中块包括多个子块,用于在单独子块的基础上跟踪关于多个子块的第一子集的擦除的失败的单元,其中擦除关于所述多个子块的第二子集是成功的。

示例26可以包括示例25的存储器设备,还包括用于允许使用多个子块的第二子集的单元。

示例27可以包括示例25的存储器设备,还包括用于防止使用多个子块的第一子集的单元。

示例28可以包括示例25的存储器设备,还包括用于将擦除状态增强命令从非易失性存储器控制器传送到非易失性存储器的单元,以及用于响应于所述擦除状态增强命令而将所述第一子集中的每个子块的标识从所述非易失性存储器传送到所述非易失性存储器控制器的单元。

示例29可以包括示例25的存储器设备,还包括用于以可变字节数将所述第一子集中的子块的数量的指示和所述第一子集中的每个子块的标识从所述非易失性存储器传送到非易失性存储器控制器的单元。

示例30可以包括示例25的存储器设备,还包括用于以固定字节数将所述第一子集中的子块的数量的指示和所述第一子集中的每个子块的标识从所述非易失性存储器传送到非易失性存储器控制器的单元。

示例31可以包括示例25至30中任一个的存储器设备,其中擦除命令用于标识非易失性存储器的块。

示例32可以包括示例25至30中任一个的存储器设备,还包括用于在表格中记录第一子集中的每个子块的单元。

本文描述的技术可以提供NAND接口,其实现针对改善的不可纠正的误码率的冗余的减少,以及缺陷保留开销的减少。实际上,利用3D NAND,字线短路的隔离粒度可以被隔离到比页面的尺寸小得多的“瓦片(tile)”粒度。由于XOR冗余通常可用于防止这种失败模式,因此本文描述的技术可识别“瓦片”粒度并最小化XOR开销。

实施例适用于所有类型的半导体集成电路(“IC”)芯片。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。另外,在一些附图中,信号导线用线表示。一些可以是不同的,以指示更多组成信号路径,具有数字标签,以指示多个组成信号路径,和/或在一端或多端具有箭头,以指示主要信息流方向。然而,这不应以限制方式解释。而是,可以结合一个或多个示例性实施例使用这种附加细节,以便于更容易地理解电路。任何表示的信号线,无论是否具有附加信息,实际上可以包括可以在多个方向上行进的一个或多个信号,并且可以用任何合适类型的信号方案来实现,例如,利用差分对实现的数字或模拟线路、光纤线路和/或单端线路。

可能已经给出示例尺寸/模型/值/范围,但是实施例不限于此。随着制造技术(例如,光刻法)随着时间的推移而成熟,预期可以制造更小尺寸的设备。另外,为了说明和讨论的简单,并且为了不使实施例的某些方面模糊,可能或可能不在图中示出与IC芯片和其他组件的公知的电源/接地连接。此外,可能以框图形式示出布置以避免模糊实施例,并且还考虑到关于这种框图布置的实现的细节高度依赖于实现该实施例的平台这一事实,即,这些细节应该在本领域技术人员的视野范围内。在阐述具体细节(例如,电路)以便描述示例实施例的情况下,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节或具有这些具体细节的变化的情况下实践实施例。因此,该描述被认为是说明性的而非限制性的。

术语“耦合”在本文中可用于指代所讨论的组件之间的任何类型的直接或间接关系,并且可以应用于电气、机械、流体、光学、电磁、机电或其他连接。另外,除非另有说明,否则这里可以使用术语“第一”、“第二”等仅仅是为了便于讨论,并且不带有特定的时间或时序意义。

根据前面的描述,本领域技术人员将意识到,实施例的广泛技术可以以各种形式实现。因此,虽然已经结合其具体示例描述了实施例,但是实施例的真实范围不应受此限制,因为在研究了附图、说明书和所附权利要求之后,其他修改对于熟练的从业者将变得显而易见。

相关技术
  • 具备独立磁盘冗余阵列的固态驱动器及其处理请求的方法
  • 一种用于水下的冗余直流电机驱动器
  • 以子块粒度管理固态驱动器缺陷冗余
  • 固态驱动器控制器、固态驱动器、固态驱动器的数据处理方法、多通道固态驱动器、RAID控制器以及其中记录有用于向固态驱动器提供顺序信息的计算机程序的计算机可读记录介质
技术分类

06120116507021