用于管理裸芯组的装置和方法

文档序号:10517928阅读:435来源:国知局
用于管理裸芯组的装置和方法
【专利摘要】这里所述的实施例是增强非易失性存储器(例如,闪速存储器)的耐受性的方法和装置。方法包括为所述多个裸芯的每一个获得耐受性度量。所述方法还包括基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯并且每个裸芯组与耐受性度量的范围相关联。响应于指明一组写入数据的写入命令,所述方法还包括通过将写入数据的子组并行地写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将写入数据写入到非易失性存储器。
【专利说明】
用于管理裸芯组的装置和方法
技术领域
[0001]公开的实施例一般地涉及存储器系统,并且具体地涉及改善诸如闪速存储器的储存介质的耐受性。
【背景技术】
[0002]包括闪速存储器的半导体存储器装置通常利用存储器单元来将数据储存为电的值,诸如电荷或电压。闪速存储器单元例如包括具有被用于储存数据值的电荷表示的浮置栅极的单个晶体管。已经以各种方式促进了储存密度的提高、包括由制造的发展使能的存储器单元在芯片上的密度的提高、以及从单级闪速存储器单元到多级闪速存储器单元的转变使得可以由每个闪速存储器单元储存两个或多个位。
[0003]—般来说,非易失性存储器装置一一诸如闪速存储器装置一一包括多个裸芯。在相同的非易失性存储器装置中的多个裸芯在被认为是操作性地故障之前可以经受的编程-擦除(PE)周期的量显著地变化(例如,以三为因子)。如此,非易失性存储器装置的耐受性通常是,鲁棒程度仅与其最弱的裸芯一样。因此,用于管理在非易失性存储器装置中的裸芯的变化的耐受性能力的方法是所期望的。

【发明内容】

[0004]公开的装置和方法改善非易失性存储器的耐受性。获得用于非易失性存储器的每个裸芯的耐受性度量。裸芯被基于它们相应的耐受性度量而逻辑地组合在裸芯组中。此后,在单个裸芯组上进行存储器操作,其中裸芯组包括具有类似耐受性度量的多个裸芯。
【附图说明】
[0005]为了可以更加详细地理解本公开,可以具有参考各种实施例的特性的更加特定的描述,一些实施例在附图中说明。但是,附图仅示出了本公开的更加相关的特性并且从而不被认为是限制性的,因为说明书可能认可其他有效的特性。
[0006]图1是示出的根据一些实施例的数据储存系统的实现方式框图。
[0007]图2A是示出的根据一些实施例的管理模块的实现方式框图。
[0008]图2B是示出的根据一些实施例的包括在图2A中的特征向量表示意图。
[0009 ]图2C是示出的根据一些实施例的包括在图2B中的特征向量的示意图。
[0010]图3是根据一些实施例的非易失性存储器的示意图。
[0011]图4是根据一些实施例的多个裸芯组的框图。
[0012]图5是根据一些实施例的裸芯组映射的框图。
[0013]图6A-6B示出了根据一些实施例的管理储存系统的方法的流程图表示。
[0014]图7示出了根据一些实施例的管理储存系统的方法的流程图表示。
[0015]根据惯例,在附图中示出的各种特性可能未按比例绘制。相应地,为了清晰,各种特性的大小可以任意地扩大或减小。此外,一些附图可能没有绘制给定系统、方法或装置的所有组件。最后,贯穿说明书和附图,相似的参考标号可以被用于表示相似的特性。
【具体实施方式】
[0016]这里所述的各种实施例包括可以改善诸如闪速存储器的储存介质的耐受性的装置和/或方法。一些实施例包括通过将具有类似的耐受性度量的裸芯组合为裸芯组而管理储存系统的装置和/或方法。
[0017]—些实施例包括管理包括储存控制器和非易失性存储器(例如,闪速存储器)的储存系统的方法,所述非易失性存储器包括多个裸芯,并且每个裸芯包括多个块(在这里有时也被称为子单元)。在一些实施例中,在储存控制器处进行方法。方法包括为所述多个裸芯的每一个获得耐受性度量。方法还包括基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的范围相关联。响应于指明一组写入数据的写入命令,所述方法还包括,通过并行地将写入数据的子组写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将写入数据写入到非易失性存储器。
[0018]—些实施例包括管理包括储存控制器和非易失性存储器(例如,闪速存储器)的储存系统的方法,所述非易失性存储器包括多个裸芯,并且每个裸芯包括多个块(在这里有时也被称为子单元)。在一些实施例中,在储存控制器处进行方法,该储存控制器具有通信地耦接到非易失性存储器的多个信道,其中每个信道通信地与所述多个裸芯的各个子组耦接。方法包括:为所述多个裸芯的每一个获得耐受性度量;以及,对于每个信道,根据所述信道中的各个裸芯的耐受性度量分级所述信道中的裸芯。方法还包括:基于在所述信道的每一个中的所述裸芯的分级,向多个裸芯组的每个裸芯组分配来自每个信道的一个或多个裸芯,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。响应于指明一组写入数据的写入命令,所述方法还包括通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将写入数据写入到非易失性存储器。
[0019]一些实施例包括一种储存控制器,其包括:一个或多个处理器;主机接口,被配置为将储存控制器耦接到主机;储存介质接口,被配置为将储存控制器耦接到包括多个裸芯的非易失性存储器,每个裸芯包括多个块;以及储存控制器,储存指令,当由一个或多个处理器执行该指令时,使得储存控制器进行这里所述的任何方法的操作。
[0020]—些实施例包括一种储存控制器,包括:主机接口,被配置为将所述储存控制器耦接到主机;储存介质接口,被配置为将所述储存控制器耦接到包括多个裸芯的非易失性存储器,并且每个裸芯包括多个块;以及用于进行这里所述的任何方法的操作的构件。
[0021]—些实施例包括一种储存系统,包括:主机接口,被配置为将所述储存系统耦接到主机;非易失性存储器,包括多个裸芯,每个裸芯包括多个块;以及储存控制器,具有一个或多个处理器和储存一个或多个程序的存储器,当由所述一个或多个处理器执行所述程序时使得所述储存系统进行或控制这里所述的任何方法的性能。
[0022]—些实施例包括一种非瞬时性计算机可读储存介质,其储存一个或多个程序以用于由与非易失性存储器可通信地耦接的储存控制器的一个或多个处理器执行,该非易失性存储器包括多个裸芯并且每个裸芯包含多个块,一个或多个程序包括用于进行任何这里所述的方法的指令。
[0023]在这里描述许多细节以便于提供对在附图中示出的示例实施例的透彻理解。但是,可以不需要许多特定细节而实施一些实施例,并且权利要求的范围仅由在权利要求中特别记述的那些特性和方面限制。此外,没有以详尽的细节描述已知的方法、组件和电路,以便不必要地混淆这里所述的实施例的更加相关的方面。
[0024]图1是根据一些实施例的数据储存系统100的实现方式的示意图。尽管示出了一些示例特性,但是为了简洁而没有示出各种其它特性以便不混淆这里所述的示例实施例的更加相关的方面。为此,作为非限制性示例,数据储存系统100包括储存控制器120和储存介质130,并且被结合计算机系统110使用。在一些实施例中,储存介质130是单个闪速存储器装置,而在其它实施例中,储存介质130包括多个闪速存储器装置。在一些实施例中,储存介质130是NAND型闪速存储器或NOR型闪速存储器。此外,在一些实施例中,储存控制器120是固态驱动(SSD)控制器。但是,根据多种实施例的方面可以包括其它类型的储存介质。
[0025]计算机系统110通过数据连接101耦接到储存控制器120。但是,在一些实施例中,计算机系统110包括储存控制器120作为组件和/或子系统。计算机系统110可以是任何合适的计算机装置,诸如计算机、膝上型计算机、平板装置、网本、上网亭、个人数字助理、移动电话、智能电话、游戏装置、计算机服务器或任何其它计算装置。计算机系统110有时被称为主机或主机系统。在一些实施例中,计算机系统110包括一个或多个处理器、一个或多个类型的存储器、显示器和/或其它用户接口组件,诸如键盘、触摸屏、鼠标、触控板、数码相机和/或任何数量的补充装置以添加功能。
[0026]储存介质130通过连接103耦接到储存控制器120。连接103有时被称为数据连接,但是通常传送除了数据以外的命令,并且可选地传送除了将被储存在储存介质130中的数据值和从储存介质130读取的数据值以外的元数据、误差校正信息和/或其它信息。但是,在一些实施例中,储存控制器120和储存介质130被包含在与其组件相同的装置中。此外,在一些实现方式中,存储器控制器120和储存介质130被嵌入在主机装置中,该主机装置诸如移动装置、平板、其它计算机或计算机控制的装置,并且这里所述的方法由嵌入式存储器控制器进行。储存介质130可以包括任何数量的(S卩,一个或多个)存储器装置,该存储器装置非限制性地包括,诸如闪速存储器的非易失性半导体存储器装置。例如,闪速存储器装置可以被配置为用于适用于诸如云计算的应用的企业储存,或用于缓存储存在(或将被储存在)诸如硬盘驱动的二级储存中的数据。此外和/或可替换地,闪速存储器还可以被配置为相对小规模的应用,诸如个人闪速驱动或用于个人、膝上型和平板计算机的硬盘替换。
[0027]储存介质130被分为多个可编址的并且可单独选择的块,诸如可选择的部分131。在一些实施例中,可单独选择的块是闪速存储器装置中的最小尺寸的可擦除单元。换句话说,每个块包含可以被同时擦除的最小数量的存储器单元。每个块通常进一步被分为多个页和/或字线,其中每个页或字线通常是块中最小的可单独访问的(可读)部分的实例。然而,在一些实施例中(例如,使用一些种类的闪速存储器),数据组的最小的可单独访问的单元是区段,该区段是页的子单元。就是说,块包括多个页,每个页包含多个区段,并且每个区段是用于从闪速存储器装置读取数据的数据的最小单元。
[0028]例如,一个块包括任何数量的页,例如,64页、128页、256页或另外的合适数量的页。块通常被组合为多个区。每个块区可以在某些程度上被独立地管理,这提高了用于并行操作的并行度并且简化了储存介质130的管理。
[0029]如上所述,虽然非易失性半导体存储器装置的数据储存密度普遍地提高,但提高储存密度的缺点在于储存的数据更加倾向于被错误地储存和/或读取。如将在下面更加详细描述的,误差控制码可以被用于限制由电波动、储存介质、操作条件、装置历史、写入-读取电路等中的瑕疵,或这些和各种其它因素的组合引起的不可校正的误差的数量。
[0030]在一些实施例中,储存控制器120包括管理模块121、输入缓冲器123、输出缓冲器124、误差控制模块125和储存介质接口(I/O) 128。储存控制器120可以包括为了简洁而没有示出各种额外的特性以便于不混淆这里公开的示例实施例的更加主要的特征,并且特性的不同的布置是可能的。输入和输出缓冲器123、124通过将接口提供到计算机系统110。类似地,储存介质I/O 128通过连接103将接口提供到储存介质130。在一些实施例中,储存介质I/O 128包括读取和写入电路,包括能够将读取信号提供到储存介质130的电路(例如,用于NAND型闪速存储器的读取阈值电压)。
[0031]在一些实施例中,管理模块121包括一个或多个处理单元(CPU,有时还被称为处理器)122,该一个或多个处理单元被配置为执行一个或多个程序中(例如,在管理模块121中)的指令。在一些实施例中,一个或多个CPU 122由储存控制器120的功能中的、并且在一些情况中由超出储存控制器120的功能的一个或多个组件共享。管理模块121耦接到输入缓冲器123、输出缓冲器124(连接未示出)、误差控制模块125和储存介质I/O 128以便于协调这些组件的操作。
[0032]误差控制模块125耦接到储存介质I/O128、输入缓冲器123和输出缓冲器124。提供误差控制模块125以限制被无意引入到数据中的不可校正的误差的数量。在一些实施例中,误差控制模块125由管理模块121的一个或多个CPU 122在软件中执行,并且在其它实施例中,全部或部分使用专用电路进行编码和译码功能而实现误差控制模块125。为此,误差控制模块125包括编码器126和译码器127。编码器126通过施加误差控制码以产生码字而编码数据,该码字之后被储存在储存介质130中。
[0033]当从储存介质130读取编码的数据(例如,一个或多个码字)时,译码器127将译码过程施加到编码的数据以恢复数据,并且在误差控制码的误差校正能力中校正恢复的数据中的误差。本领域的技术人员将理解各种误差控制码具有不同的误差检测和校正能力,并且该特定的码由于超出本公开的范围的原因而被选择以用于各种应用。如此,这里不提供对各种类型的误差控制码的详尽的概述。此外,本领域的技术人员将理解每种类型或系列的误差控制码可以具有特定于误差控制码的类型或系列的编码和译码算法。另一方面,一些算法可以至少一些程度上用在译码多个不同类型的或系列的误差控制码中。如此,为了简洁,这里没有提供对本领域的技术人员一般可用并且已知的各种类型的编码和译码算法的详尽的描述。
[0034]在写入操作期间,输入缓冲器123从计算机系统110接收将储存在储存介质130中的数据。保持在输入缓冲器123中的数据可被用于编码器126,该编码器126编码数据以产生一个或多个码字。一个或多个码字可被用于储存介质I/O 128,该储存介质I/O 128以取决于所使用的储存介质的类型的方式将一个或多个码字转移到储存介质130。
[0035]当计算机系统(主机)110在控制线111上将一个或多个主机读取命令发送到储存控制器120从储存介质130请求数据时,起始读取操作。储存控制器120将一个或多个读取访问命令经由储存介质I/O 128发送到储存介质130,以根据由一个或多个主机读取命令指明的存储器位置(地址)获得原始读取数据。储存介质I/O 128将原始读取数据(例如,包括一个或多个码字)提供到译码器127。如果译码成功,译码的数据被提供到输出缓冲器124,其中译码的数据可被用于计算机系统110。在一些实施例中,如果译码不成功,储存控制器120可以求助于多个补救措施或者提供不可解决的误差条件的指示。
[0036]闪速存储器装置利用存储器单元以将数据储存为电的值,诸如电荷或电压。每个闪速存储器单元通常包括具有浮置栅极的单个晶体管,该浮置栅极被用于储存修改晶体管的阈值电压(即,导通晶体管所需要的电压)的电荷。电荷的大小、以及该电荷创建的相应的阈值电压被用于表示一个或多个数据值。在一些实施例中,在读取操作期间,读取阈值电压被施加到晶体管的控制栅极并且产生的感测的电流或电压被映射到数据值。
[0037]在闪速存储器单元的上下文中,术语“单元电压”和“存储器单元电压”意味着存储器单元的阈值电压,其是需要施加到存储器单元的晶体管的栅极以便于晶体管导通电流的最小电压。类似地,施加到闪速存储器单元的读取阈值电压(有时也被称为读取信号和读取电压)是施加到闪速存储器单元的栅极以确定存储器单元在该栅极电压处是否导通电流的栅极电压。在一些实施例中,当闪速存储器单元的晶体管在指示单元电压小于读取阈值电压的给定读取阈值电压处导通电流时,对于该读取操作的原始数据值为“I”,并且否则原始数据值为“O”。
[0038]图2A是示出根据一些实施例的示例性管理模块121的框图。管理模块121通常包括:一个或多个处理单元(CPU)122,用于执行储存在存储器202中的模块、程序和/或指令并且从而进行处理操作;存储器202;以及一个或多个通信总线204,用于互连这些组件。一个或多个通信总线204,可选地包括互连系统组件并控制系统组件之间的通信的电路(有时被称为芯片组)。管理模块121通过一个或多个通信总线204耦接到缓冲器123、缓冲器124、误差控制模块125和储存介质I/O 128。存储器202包括高速随机存取存储器——诸如DRAM、SRAM,DDR RAM,或者其它随机存取固态存储器装置,并且可以包括非易失性存储器——诸如一个或多个磁盘储存装置、光盘储存装置,闪速存储器装置、或者其它非易失性固态储存装置。存储器202,可选地包括位于远离(一个或多个)CPU 122的一个或多个储存装置。存储器202,或者可替换地存储器202中的(一个或多个)非易失性存储器装置包括非瞬时性计算机可读储存介质。在一些实施例中,存储器202或存储器202的非瞬时性计算机可读储存介质储存以下程序、模块和数据结构或其子集或超集:
[0039]?数据读取模块206,用于从包括闪速存储器的储存介质130(例如,一个或多个闪速存储器装置的每个包括多个裸芯)读取数据;
[0040].用于将数据写入到储存介质130的数据写入模块208;
[0041].用于将数据从储存介质130擦除的数据擦除模块210;
[0042].裸芯组模块212,用于将储存介质130分为多个裸芯组并且管理多个裸芯组,包括但不限于:
[0043].耐受性度量模块214,用于获得多个裸芯的每一个的耐受性度量;
[0044].分级模块216,用于基于它们相应的耐受性度量分级多个裸芯;
[0045].组合模块218,用于基于它们相应的分级将多个裸芯分配到裸芯组,包括将裸芯的逻辑地址与裸芯组相关联的裸芯组映射220;以及
[0046]选择模块222,用于选择用于存储器操作的裸芯组;
[0047].特征向量表234,包括许多特征向量236,其每一个储存用于储存介质130的各个部分(例如,储存介质130的闪速存储器装置、裸芯、块区、块、字线、字线区或页部分)的特征数据;以及
[0048].逻辑到物理映射238,将逻辑地址与用于储存介质130的各个部分(例如,储存介质130的区别的闪速存储器装置、裸芯、块区、块、字线、字线区或页部分)的物理地址相关联。
[0049]上述识别的元件的每一个可以储存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的指令集。上述识别的模块或程序(即,指令集)不需要实现为单独的软件程序、规程或模块,并且从而这些模块的各种子集可以组合或者在各种实施例中另外地重新布置。在一些实施例中,存储器202可以储存以上识别的模块和数据结构的子集。此外,存储器202可以储存以上未描述的额外的模块和数据结构。在一些实施例中,储存在存储器202中的程序、模块和数据结构,或者存储器202的非瞬时性计算机可读储存介质提供用于实现参考图6A-6B在下面所述的任何方法的指令。
[0050]尽管图2A示出了管理模块121,但是图2A相比于这里所述的实施例的结构性示意更倾向于作为可能出现在管理模块中的各种特性的功能性描述。实践中,并且如由本领域普通技术人员识别的,单独示出的程序、模块和数据结构可以被组合并且一些程序、模块和数据结构可以被分开。
[0051]图2B是示出根据一些实施例的特征向量表234的实现方式的框图。特征向量表234包括多个特征向量236,其每个储存与储存介质130的各个部分(例如,储存介质130的区别装置、裸芯、块区、块、字线、字线区或页部分)相关联的特征数据。在一些实施例中,特征向量236的集合中的每个向量(例如,向量236-1、向量236-2.....向量236_n)储存在至少两个时间段(例如,时间T-1和时间T-2、或X编程-擦除(PE)周期和2X PE周期)的一个期间得到的特征数据。在一些实施例中,统计地得到储存在特征向量236中的特征数据。例如,而不限制,在其中储存介质130(图1)(例如,一个或多个闪速存储器装置,每一个包括多个裸芯)包括多个裸芯的一些实施例中,特征向量表234包括用于每个裸芯的至少一个特征向量。在另外的示例中,在一些实施例中,特征向量表234包括用于储存介质130中的每个裸芯的一组区别特征向量236,并且用于每个裸芯的区别特征向量236的组包括用于裸芯中的每个块的至少一个区别特征向量。参考图2C在下面描述了特征向量236的更加详细的示例实施例。
[0052]图2C是根据一些实施例的用于多个裸芯的各个裸芯的特征向量240(例如,对应于图2B中示出的特征向量236的一个)的实现方式的示意图。在一些实施例中,用于各个裸芯的储存在特征向量240中的特征数据包括储存介质特征参数值--诸如耐受性度量字段
242,其指示各个裸芯的耐受性能力(例如,在校准例程期间由在各个裸芯中的代表性的块保持的编程-擦除(PE)周期的数量);PE周期字段244,其指示在各个裸芯上进行的PE周期的数量的当前计数;以及平均误码率(BER)246,其指示在各个裸芯中的一个或多个块的平均BER。在一些实施例中,一个或多个储存介质特征参数值提供以下至少一个的指示:与储存介质的各自部分(例如,储存介质130的区别闪速存储器装置、裸芯、块区、块、字线、字线区或页部分,图1)相关联的物理特征、与储存介质的各个部分相关联的操作模式、与储存介质的各个部分相关联的使用历史、与储存介质的各个部分相关联的条件特征、与储存介质的各个部分相关联的读取类型以及与储存介质的各个部分相关联的(一个或多个)位置。
[0053]图3是根据一些实施例的非易失性存储器(例如,闪速存储器)的示意图。在一些实施例中,储存控制器120经由一组信道(例如,连接103,图1)通信地耦接到储存介质130 (例如,闪速存储器包括一个或多个闪速存储器装置,每个闪速存储器装置包括多个裸芯)。在图3中,16个信道将闪速存储器300 (例如,具有128个裸芯的闪速存储器装置)通信地耦接到储存控制器120。在图3中,闪速存储器300的多个裸芯(例如,8个裸芯)的子组连接到每个信道。以此方式,储存控制器120被配置为通过使用16个信道并行地在16个裸芯上进行存储器操作。在一些实施例中,裸芯被物理地焊接到信道并且每个裸芯仅连接到一个信道。
[0054]图4是根据一些实施例的多个裸芯组的框图。如在图3中的情况一样,在图4中,非易失性存储器(例如,闪速存储器)包括多个裸芯(例如,128个裸芯)并且多个裸芯被分为子组(例如,每个子组8个裸芯),其中裸芯的每个子组连接到信道(例如,16个信道的一个)。
[0055]例如,在普通操作性使用之前,校准例程在来自闪速存储器的每个裸芯的代表性块上运行,其仿真寿命结束的情况。例如,在预定的数量的PE周期在代表性块上进行之后测量的用于从各个裸芯的代表性块读取的数据的BER是耐受性度量。在另一示例中,当用于从代表性块读取的数据的BER满足或者超过预定的阈值时,在各个裸芯的代表性块上进行的总的PE周期的数量是耐受性度量。在一些实施例中,用于各个裸芯的耐受性度量(例如,BER或PE周期的数量)储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中。
[0056]在一些实施例中,储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为从特征向量表234获得用于每个裸芯的耐受性度量,并且储存控制器120或其组件(例如,分级模块216,图2A)被配置为基于它们相应的耐受性度量分级每个信道中的裸芯。在图4中,信道O中的8个裸芯从最高到最低被分级。关于信道0,裸芯3是最高等级(例如,等级I)的裸芯,因为与裸芯3相关联的耐受性度量高于信道O中的其它裸芯。关于信道0,裸芯6是最低等级的裸芯(例如,等级8),因为与裸芯6相关联的耐受性度量低于信道O中的其它裸芯。
[0057]在一些实施例中,储存控制器120或其组件(例如,组合(grouping)模块218,图2A)被配置为基于它们相应的分级将在闪速存储器装置中的多个裸芯组合为裸芯组。在一些实施例中,每个信道中的一个或多个裸芯被分配到裸芯组,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。在图4中,具有等级1-2的每个信道中的裸芯(例如,信道O中的裸芯3和7、以及信道15中的裸芯6和O)被分配到裸芯组O,具有等级3-4的每个信道中的裸芯(例如,信道O中的裸芯O和1、以及信道15中的裸芯3和7)被分配到裸芯组I,具有等级5-6的每个信道中的裸芯(例如,信道O中的裸芯5和4、以及信道15中的裸芯5和2)被分配到裸芯组2,并且具有等级7-8的每个信道中的裸芯(例如,信道O中的裸芯2和6、以及信道I中的裸芯4和I)被分配到裸芯组3。
[0058]在一些实施例中,多个信道(例如,16个信道)将储存控制器通信地耦接到闪速存储器,并且多个信道的每一个与多个裸芯的各个子组(例如,每个信道8或16个裸芯)通信地耦接。在一些实现方式中,分配到任何特定裸芯组的裸芯包括来自各种信道的不相等的数量的裸芯。例如,如果一个信道(例如,第一信道)在对应于特定裸芯组的耐受性度量范围中相比另外的信道(例如,第二信道)具有更大数量的裸芯,特定裸芯组将包括比来自第二信道更大数量的来自第一信道的裸芯。
[0059]此外,被分配到各个裸芯组的来自各个信道的裸芯的数量基于在各个信道中的裸芯的耐受性度量而变化。例如,各个信道中的零个裸芯被分配到裸芯组,因为各个信道中的裸芯的耐受性度量不满足与各个裸芯组相关联的耐受性度量的范围。在另一示例中,在各个信道中的所有裸芯基于它们的各个耐受性度量被分配到单个裸芯组,因为各个信道中的裸芯的耐受性度量都满足与各个裸芯组相关联的耐受性度量的范围。
[0060]图5是根据一些实施例的对应于图4中的多个裸芯组的裸芯组映射的示意图。在一些实施例中,裸芯组映射220被储存在储存控制器存储器中,并且包括用于分配到每个裸芯组的裸芯的逻辑地址(或逻辑地址的范围,或其表示)。在图5中,裸芯组映射220将用于在信道0-15中的所有裸芯的逻辑地址(或逻辑地址的范围)与它们分配的裸芯组相关联。在图5中,用于信道O中的裸芯3和7的逻辑地址(例如,分别地逻辑地址504和506)被包含在与裸芯组O相关联的条目502中。
[0061 ]图6A-6B示出了管理包括储存控制器和非易失性存储器的储存系统(例如,闪速存储器)的方法600的流程图表示,非易失性存储器包括一个或多个非易失性存储器装置,该非易失性存储器装置的每一个包括多个裸芯,并且每个裸芯包括多个块(有时也被称为子单元)。在一些实施例中,方法600由图1的储存控制器120进行,其中多个信道(例如,16个信道)将储存控制器120通信地耦接到闪速存储器。在一些实施例中,每个信道通信地与所述多个裸芯的各个子组(例如,每个信道8或16个裸芯)耦接。
[0062]在一些实施例中,方法600由储存控制器120或储存控制器120的一个或多个组件(例如,管理模块121,图1和2A)进行。在一些实施例中,方法600由储存在非瞬时性计算机可读储存介质中的指令以及由储存控制器120的一个或多个处理器、诸如管理模块121的一个或多个处理单元(CPU) 122执行的指令来管理。
[0063]储存控制器对于所述多个裸芯的每一个获得(602)耐受性度量(例如,BER或PE周期的数量)。在一些实施例中,耐受性度量是指示用于各个裸芯的估测的寿命或使用期限的任何信息。在一些实施例中,耐受性度量基于在普通操作(例如,在初始化期间或者在出厂处)之前在来自每个裸芯的代表性裸芯上进行的校准例程的结果。在一些实施例中,耐受性度量基于在普通操作的时间段之后的实际数据(例如,在每个裸芯中的块的平均BER)。在一些实施例中,用于各个裸芯的耐受性度量基于从各个裸芯擦除数据所需要的时间量(例如,擦除时间随着各个裸芯的老化而增加)。在一些实施例中,用于各个裸芯的耐受性度量基于成功地译码储存在各个裸芯中的码字所需要的处理周期的时间长度或数量(例如,译码低密度校验码(LDPC)编码的码字所需要的迭代或周期的数量)。储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为从与储存在特征向量表234中的各个裸芯相关联的特征向量236获得用于各个裸芯的耐受性度量。
[0064]在一些实施例中,每个裸芯与单个信道相关联(604)。例如,包括闪速存储器的多个裸芯的每一个与单个信道物理地连接或者焊接到单个信道。
[0065]在一些实施例中,获得用于所述多个裸芯的每一个的耐受性度量包括:在多个裸芯的每一个中的代表性块上进行(606)校准例程以产生耐受性度量(例如,BER或PE周期的数量)以用于多个裸芯的每一个。例如,在普通操作性使用(例如,在初始化期间或者在出厂处)之前,在来自闪速存储器的每个裸芯的代表性块上进行校准例程以仿真寿命条件的结束。在一些实施例中,在对代表性块进行预定数量的PE周期之后测量的用于从各个裸芯的代表性块读取的数据的BER是耐受性度量。在一些实施例中,当用于从代表性块读取的数据的BER满足或者超过预定的阈值时,在各个裸芯的代表性块上进行的总的PE周期的数量是耐受性度量。在一些实施例中,用于各个裸芯的耐受性度量被储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中。
[0066]对于每个信道,储存控制器根据所述信道中的各个裸芯的耐受性度量来分级(608)信道中的裸芯。在一些实施例中,储存控制器120或其组件(例如,分级模块216,图2A)被配置为基于信道中的裸芯的耐受性度量来分级每个信道中的裸芯。在图4中,例如,信道O中的8个裸芯从最高到最低被分级。关于信道0,裸芯3是最高等级的裸芯(例如,等级I),因为与裸芯3相关联的耐受性度量高于信道O中的其它裸芯。关于信道0,裸芯6是最低等级(例如,等级8)的裸芯,因为与裸芯6相关联的耐受性度量低于信道O中的其它裸芯。
[0067]储存控制器基于在所述信道的每一个中的所述裸芯的分级,向多个裸芯组的每个裸芯组(有时也被称为“超级装置”)分配(610)来自每个信道的一个或多个裸芯(例如,每个信道一个或两个裸芯通常被分配到裸芯组),其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。在一些实施例中,储存控制器120或其组件(例如,组合模块218,图2A)被配置为基于它们相应的分级将闪速存储器中的多个裸芯组合为裸芯组。在一些实施例中,每个信道中的一个或多个裸芯被分配到裸芯组。在一些实施例中,分配到多个裸芯组的第一裸芯组的裸芯的数量不等于分配到多个裸芯组的第二裸芯组的裸芯的数量。在图4中,例如,具有等级1-2的每个信道中的裸芯(例如,信道O中的裸芯3和7、以及信道15中的裸芯6和O)被分配到裸芯组0,具有等级3-4的每个信道中的裸芯(例如,信道O中的裸芯O和1、以及信道15中的裸芯3和7)被分配到裸芯组I,具有等级5-6的每个信道中的裸芯(例如,信道O中的裸芯5和4、以及信道15中的裸芯5和2)被分配到裸芯组2,并且具有等级7-8的每个信道中的裸芯(例如,信道O中的裸芯2和6、以及信道15中的裸芯4和I)被分配到裸芯组3。在一些实施例中,储存控制器120或其组件(例如,组合模块218,图2A)还被配置为在裸芯组映射220中储存用于分配到每个裸芯组的裸芯的逻辑地址(或逻辑地址的范围,或其表示)。
[0068]响应于指明一组写入数据的写入命令,储存控制器通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯,将写入数据写入到(612)闪速存储器。例如,参考图1,储存控制器120从计算机系统110(例如,主机)经由控制线111接收主机写入命令并且经由数据连接101接收一组写入数据。响应于主机写入命令,储存控制器120或其组件(例如,数据写入模块208,图2A)被配置为:通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将数据写入到闪速存储器。例如,关于图4,通过使用16个信道将写入数据的子组同时并行地写入到裸芯组O中的16个等级I的裸芯的每一个,而在包括单个裸芯组(例如,裸芯组O)的裸芯之上交错(stripe)写入数据。
[0069]在一些实施例中,写入该写入数据包括:根据分配到所述多个裸芯组的每个裸芯组的裸芯将写入数据的逻辑地址映射(614)到闪速存储器中的物理地址。在一些实施例中,储存控制器或其组件在逻辑到物理映射238中将写入数据的逻辑地址(或逻辑地址的范围)映射到闪速存储器中的物理地址。在一些实施例中,逻辑到物理映射238被储存在储存控制器120处或者远离储存控制器120。
[0070]在一些实施例中,储存控制器基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量来选择(616)裸芯组。在一些实施例中,储存控制器120或其组件(例如,选择模块222,图2A)被配置为基于将要进行的操作(例如,主机写入或垃圾收集操作)和分配到所述裸芯组的裸芯的耐受性度量,选择多个裸芯组的裸芯组。例如,选择模块222选择包括用于写入操作的高等级的裸芯的裸芯组。在另一示例中,选择模块222选择包括用于垃圾收集/回收操作的低等级的裸芯的裸芯组。
[0071]在一些实施例中,在第一预定的条件出现以后,储存控制器储存(618)用于每个裸芯的一个或多个块(例如,一组块或“超级块”)的平均误码率。在一些实施例中,响应于检测第一预定的条件,储存控制器120或其组件被配置为采样用于每个裸芯的一个或多个块的当前BER,对每个裸芯的一个或多个块的BER求平均,并且储存用于每个裸芯的当前的平均BER。在一些实施例中,各个裸芯的当前的平均BER被储存在与各个裸芯相关联的特征向量236的平均BER字段246中。在一些实施例中,第一预定的条件是周期性的触发器(例如,每隔X小时或者每隔在各个裸芯上进行的N个PE周期)或事件(例如,关机、断电等)。
[0072]在一些实施例中,在第二预定的条件出现之后(620),对于所述多个裸芯的每一个,储存控制器获得(622)更新的耐受性度量。在一些实施例中,储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为储存用于所述多个裸芯的每一个的更新的耐受性度量。在一些实施例中,更新的耐受性度量基于用于每个裸芯的一个或多个块的平均误码率,其响应于检测第一预定的条件而储存。在一些实施例中,更新的耐受性度量是基于与裸芯相关联的擦除时间或者成功地译码储存在裸芯中的码字所需要的时间量。在一些实施例中,用于各个裸芯的更新的耐受性度量被储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中,并且替换储存在耐受性度量字段242中的之前的值。在一些实施例中,第二预定的条件是周期性的触发器(例如,每隔Y天、每隔在各个裸芯上进行的M个PE周期等)O
[0073]在一些实施例中,在第二预定的条件出现之后(620),对于每个信道,储存控制器根据所述信道中的各个裸芯的更新的耐受性度量来重新分类(624)信道中的裸芯。在一些实施例中,储存控制器120或其组件(例如,分级模块216,图2A)被配置为基于与在信道中的每个裸芯相关联的更新的耐受性度量来重新分类每个信道中的裸芯。
[0074]在一些实施例中,在第二预定的条件出现之后(620),储存控制器基于在每一个所述信道中的裸芯的重新分级向每个裸芯组分配(626)来自每个信道的一个或多个裸芯。在一些实施例中,储存控制器120或其组件(例如,组合模块218,图2A)被配置为基于它们相应的重新分级将闪速存储器中的多个裸芯组合为裸芯组。
[0075]在一些实施例中,在基于在每一个所述信道中的裸芯的重新分级将来自每个信道的一个或多个裸芯分配到每个裸芯组之后,储存控制器更新(628)裸芯组映射,裸芯组映射包括:包含每个裸芯组的裸芯的逻辑地址的表。在一些实施例中,在基于在每一个所述信道中的裸芯的重新分级将来自每个信道的一个或多个裸芯分配到每个裸芯组之后,储存控制器120或其组件(例如,组合模块218,图2A)被配置为基于重新分级更新裸芯组映射220以反映用于分配到每个裸芯组的裸芯的逻辑地址(或逻辑地址的范围,或其表示)。
[0076]图7示出了管理包括储存控制器和非易失性存储器的储存系统(例如,闪速存储器)的方法700的流程图表示,非易失性存储器包括一个或多个非易失性存储器装置,该非易失性存储器装置的每一个包括多个裸芯并且每个裸芯包括多个块(有时也被称为子单元)。在一些实施例中,方法700由储存控制器120或储存控制器120的一个或多个组件(例如,管理模块121,图1和2A)进行。在一些实施例中,方法700由储存在非瞬时性计算机可读储存介质中的指令管理,并且指令由储存控制器120的一个或多个处理器、诸如管理模块121的一个或多个处理单元(CPU) 122执行。
[0077]储存控制器获得(702)用于所述多个裸芯的每一个的耐受性度量(例如,BER或PE周期的数量)。在一些实施例中,耐受性度量是指示用于各个裸芯的估测的寿命或使用期限的任何信息。在一些实施例中,在代表性块上预定的数量的PE周期进行之后测量的用于从各个裸芯的代表性块读取的数据的BER是耐受性度量。在一些实施例中,当用于从代表性块读取的数据的BER满足或者超过预定的阈值时,在各个裸芯的代表性块上进行的总的PE周期的数量是耐受性度量。在一些实施例中,用于各个裸芯的耐受性度量是基于从各个裸芯擦除数据所需要的时间量(例如,擦除时间随着各个裸芯的老化而增加)。在一些实施例中,用于各个裸芯的耐受性度量是基于成功地译码储存在各个裸芯中的码字所需要的处理周期的时间长度或数量(例如,译码低密度校验码(LDPC)编码的码字所需要的迭代或周期的数量)。储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为从与储存在特征向量表234中的各个裸芯相关联的特征向量236获得用于各个裸芯的耐受性度量。
[0078]储存控制器基于它们相应的耐受性度量将多个裸芯分类为(704)多个裸芯组,其中每个裸芯组包括一个或多个裸芯并且每个裸芯组与耐受性度量的范围相关联。例如,具有基本上类似的耐受性度量的裸芯被分配到相同的裸芯组。如此,当在特定裸芯组的裸芯上进行存储器操作时,特定裸芯组中的裸芯将以基本上类似的速率损坏。在一些实施例中,分配到多个裸芯组的第一裸芯组的裸芯的数量不等于分配到多个裸芯组的第二裸芯组的裸芯的数量。
[0079]在一些实施例中,多个信道(例如,16个信道)将储存控制器通信地耦接到闪速存储器,并且多个信道的每一个与多个裸芯的各个子组(例如,每个信道8或16个裸芯)通信地耦接。在一些实现方式中,分配到任何特定裸芯组的裸芯包括来自各种信道的不相等的数量的裸芯。例如,如果一个信道(例如,第一信道)在对应于特定裸芯组的耐受性度量范围中相比另外的信道(例如,第二信道)具有更大数量的裸芯,特定裸芯组将包括比来自第二信道更大数量的来自第一信道的裸芯。
[0080]此外,被分配到各个裸芯组的来自各个信道的裸芯的数量基于在各个信道中的裸芯的耐受性度量而变化。例如,各个信道中零个裸芯被分配到裸芯组,因为各个信道中的裸芯的耐受性度量不满足与各个裸芯组相关联的耐受性度量的范围。在另一示例中,在各个信道中的所有裸芯基于它们的各个耐受性度量被分配到单个裸芯组,因为各个信道中的裸芯的耐受性度量都满足与各个裸芯组相关联的耐受性度量的范围。
[0081]响应于指明一组写入数据的写入命令,储存控制器通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将数据写入(706)到闪速存储器。例如,储存控制器120计算机系统110(例如,主机)经由控制线111接收主机写入命令并且经由数据连接101接收一组写入数据。响应于主机写入命令,储存控制器120或其组件(例如,数据写入模块208,图2A)被配置为通过将写入数据的子组(例如,当可能时并行地)写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将数据写入到闪速存储器。
[0082]在一些实施例中,在预定的条件出现之后,储存控制器对于所述多个裸芯的每一个,获得更新的耐受性度量。在一些实施例中,储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为储存用于所述多个裸芯的每一个的更新的耐受性度量。在一些实施例中,用于各个裸芯的更新的耐受性度量被储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中,并且替换储存在耐受性度量字段242中的之前的值。在一些实施例中,第二预定的条件是周期性的触发器(例如,每隔Y天、每隔在各个裸芯上进行的M个PE周期等)O
[0083]在一些实施例中,在预定的条件出现之后,储存控制器基于它们相应的更新的耐受性度量将多个裸芯重新分类为多个更新的裸芯组,其中每个更新的裸芯组包括一个或多个裸芯,并且每个更新的裸芯组与耐受性度量的范围相关联。
[0084]在一些实施例中,在基于它们相应的更新的耐受性度量将所述多个裸芯重新分类为多个更新的裸芯组之后,储存控制器更新裸芯组映射,其中裸芯组映射包括:包含每个裸芯组的裸芯的逻辑地址的表。
[0085]应理解的是,尽管术语“第一”、“第二”等在这里可以被用于描述各种元件,但是这些元件不应由这些术语限制。这些术语仅被用于将一个元件与另一个区分。例如,第一裸芯组可以被称为第二裸芯组,并且类似地,第二裸芯组可以被称为第一裸芯组,这改变说明书的含义,只要“第一裸芯组”的所有出现被一致地重新命名并且“第二裸芯组”的所有出现被一致地重新命名。第一裸芯组和第二裸芯组两者是裸芯组,但是它们不是同一个裸芯组。
[0086]这里使用的术语是仅是为了描述特定的实施例,而不是为了限制权利要求。如在对实施例的描述和所附权利要求中所使用的,单数形式“一”、“一个”和“该”意欲也包括复数形式,除非上下文另有清楚的指示。还可以理解的是,这里所使用的术语“和/或”是指并且包含一个或多个相关联的列出的项目的任意和所有可能组合。还可以理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组的存在或添加。
[0087]如这里所使用的,根据上下文,术语“如果”可以解释为意思是“当所述的先决条件为真时”或“在所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“响应于检测到所述的先决条件为真”。类似地,根据上下文,短语“如果确定[所述的先决条件为真]”或“如果[所述的先决条件为真]”或“当[所述的先决条件为真]时”可以解释为意思是“当确定所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“在检测到所述的先决条件为真时”或“响应于检测到所述的先决条件为真”。
[0088]为了解释的目的,已经参考了特定实施例描述了前述说明。但是,以上示意性的讨论不意欲是穷举性的或者将权利要求限制到公开的精确形式。鉴于以上教导许多修改和变化是可能的。实施例被选中并且描述以便于最好地解释操作的原理和实际应用,从而使能本领域其它技术人员。
【主权项】
1.一种管理包括储存控制器和非易失性存储器的储存系统的方法,所述非易失性存储器包括多个裸芯,并且每个裸芯包括多个子单元,所述方法包括: 在与所述非易失性存储器耦接的所述储存控制器处: 对于所述多个裸芯的每一个,获得耐受性度量; 基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的范围相关联;并且 响应于指明一组写入数据的写入命令,通过并行地将所述组写入数据的子组写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将所述组写入数据写入到所述非易失性存储器。2.如权利要求1所述的方法,其中获得用于所述多个裸芯的每一个的耐受性度量包括:在所述多个裸芯的每一个中的代表性子单元上进行校准例程,以产生用于所述多个裸芯的每一个的耐受性度量。3.如权利要求1-2的任一个所述的方法,其中写入所述组写入数据包括:根据分配到所述多个裸芯组的每个裸芯组的裸芯将所述写入数据的逻辑地址映射到所述非易失性存储器中的物理地址。4.如权利要求1-3的任一个所述的方法,还包括: 基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量选择裸芯组。5.如权利要求1-4的任一个所述的方法,还包括: 在预定的条件出现之后: 为所述多个裸芯的每一个获得更新的耐受性度量;以及 基于它们相应的更新的耐受性度量将所述多个裸芯重新分类为多个更新的裸芯组,其中每个更新的裸芯组包括一个或多个裸芯并且每个更新的裸芯组与耐受性度量的范围相关联。6.如权利要求5所述的方法,还包括: 在将所述多个裸芯重新分类为多个更新的裸芯组之后,更新裸芯组映射,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。7.如权利要求1-6的任一个所述的方法,其中多个信道将所述储存控制器通信地耦接到所述非易失性存储器,其中每个信道通信地与所述多个裸芯的各个子组耦接,所述方法还包括: 对于每个信道,根据所述信道中的各个裸芯的耐受性度量来分级所述信道中的裸芯;以及 其中基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组包括:基于在所述信道的每一个中的所述裸芯的分级,向多个裸芯组的每个裸芯组分配来自每个信道的一个或多个裸芯,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。8.如权利要求7所述的方法,还包括: 在预定的条件出现之后: 为所述多个裸芯的每一个获得更新的耐受性度量; 对于每个信道,根据所述信道中的各个裸芯的更新的耐受性度量重新分级所述信道中的裸芯;以及 基于在每一个信道中的裸芯的重新分级,向每个裸芯组分配来自每个信道的一个或多个裸芯。9.如权利要求8所述的方法,还包括: 在基于在每一个信道中的裸芯的重新分级将来自每个信道的一个或多个裸芯分配到每个裸芯组之后,更新裸芯组映射,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。10.—种储存控制器,包括: 一个或多个处理器; 主机接口,被配置为将所述储存控制器耦接到主机; 储存介质接口,被配置为将所述储存控制器耦接到包括多个裸芯的非易失性存储器,每个裸芯包括多个子单元;以及 储存控制器存储器,储存指令,当由所述一个或多个处理器执行所述指令时使得所述储存控制器进行包括如下的操作: 对于所述多个裸芯的每一个,获得耐受性度量; 基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的范围相关联;以及 响应于指明一组写入数据的写入命令,通过并行地将所述组写入数据的子组写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将所述组写入数据写入到所述非易失性存储器。11.如权利要求10所述的储存控制器,其中获得用于所述多个裸芯的每一个的耐受性度量包括:在所述多个裸芯的每一个中的代表性子单元上进行校准例程,以产生用于所述多个裸芯的每一个的耐受性度量。12.如权利要求10-11的任一项所述的储存控制器,其中写入所述组写入数据包括:根据分配到所述多个裸芯组的每个裸芯组的裸芯将所述写入数据的逻辑地址映射到所述非易失性存储器中的物理地址。13.如权利要求10-12的任一项所述的储存控制器,其中所述指令使得所述储存控制器进行还包括如下的操作: 基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量选择裸芯组。14.如权利要求10-13的任一项所述的储存控制器,其中所述指令使得所述储存控制器进行还包括如下的操作: 在预定的条件出现之后: 为所述多个裸芯的每一个获得更新的耐受性度量;以及 基于它们相应的更新的耐受性度量将所述多个裸芯重新分类为多个更新的裸芯组,其中每个更新的裸芯组包括一个或多个裸芯,并且每个更新的裸芯组与耐受性度量的范围相关联。15.如权利要求14所述的储存控制器,其中所述指令使得所述储存控制器进行还包括如下的操作: 在将所述多个裸芯重新分类为多个更新的裸芯组之后,更新裸芯组映射,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。16.如权利要求10-15的任一项所述的储存控制器,其中: 多个信道将所述储存控制器通信地耦接到所述非易失性存储器,其中每个信道通信地与所述多个裸芯的各个子组耦接;以及 所述指令使得所述储存控制器进行操作,还包括: 对于每个信道,根据所述信道中的各个裸芯的耐受性度量分级所述信道中的裸芯;以及 其中基于它们相应的耐受性度量将所述多个裸芯为多个裸芯组包括,基于在所述信道的每一个中的所述裸芯的分级,向多个裸芯组的每个裸芯组分配,来自每个信道的一个或多个裸芯,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有区别的相应的分级或者分级的范围。17.如权利要求10所述的储存控制器,还被配置为根据权利要求8-9的任一个所述的方法操作。18.—种储存控制器,包括: 主机接口,被配置为将所述储存控制器耦接到主机; 储存介质接口,被配置为将所述储存控制器耦接到包括多个裸芯的非易失性存储器,每个裸芯包括多个子单元; 用于为所述多个裸芯的每一个获得耐受性度量的构件; 用于基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组的构件,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的范围相关联;以及 响应于指明一组写入数据的写入命令,用于通过并行地将所述组写入数据的子组写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将所述组写入数据写入到所述非易失性存储器的构件。19.如权利要求18所述的储存控制器,包括: 用于进行权利要求2-9的任一项所述的方法的构件。20.一种储存系统,包括: 主机接口,被配置为将所述储存系统耦接到主机; 非易失性存储器,包括多个裸芯,每个裸芯包括多个子单元;以及 储存控制器,具有一个或多个处理器和储存一个或多个程序的存储器,当由所述一个或多个处理器执行所述程序时使得所述储存系统进行或控制如权利要求1-9的任一项所述的方法的性能。21.—种非瞬时性计算机可读储存介质,储存一个或多个程序,以用于由与非易失性存储器通信地耦接的储存控制器的一个或多个处理器执行,所述非易失性存储器包括多个裸芯并且每个裸芯包括多个子单元,所述一个或多个程序包括指令,当由所述一个或多个处理器执行所述指令时使得所述储存控制器: 对于所述多个裸芯的每一个,获得耐受性度量; 基于它们相应的耐受性度量将所述多个裸芯 为多个裸芯组,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的范围相关联;以及 响应于指明一组写入数据的写入命令,通过并行地将写入数据的所述组的子组写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将写入数据的所述组写入到所述非易失性存储器。22.如权利要求21所述的非瞬时性计算机可读储存介质,其中获得用于所述多个裸芯的每一个的耐受性度量包括,在所述多个裸芯的每一个中的代表性子单元中进行校准例程,以产生用于所述多个裸芯的每一个的耐受性度量。23.如权利要求21-22的任一项所述的非瞬时性计算机可读储存介质,其中写入写入数据的所述组包括根据分配到所述多个裸芯组的每个裸芯组的裸芯将所述写入数据的逻辑地址映射到所述非易失性存储器中的物理地址。24.如权利要求21-23的任一项所述的非瞬时性计算机可读储存介质,其中所述一个或多个程序还包括当由所述一个或多个处理器执行所述指令时使得所述储存控制器: 基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量选择裸芯组。25.如权利要求21所述的非瞬时性计算机可读储存介质,还被配置为权利要求5-9的任一项所述的方法操作。
【文档编号】G11C16/04GK105874540SQ201480067426
【公开日】2016年8月17日
【申请日】2014年10月8日
【发明人】M.丹乔, J.菲茨帕特里克, L.李
【申请人】桑迪士克科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1