用于在闪速存储器装置之间迁移数据的方法和系统的制作方法

文档序号:9872426阅读:244来源:国知局
用于在闪速存储器装置之间迁移数据的方法和系统的制作方法
【技术领域】
[0001]公开的实施例一般地涉及存储器系统,并且具体地涉及改善包括贮存介质的贮存系统(例如,包括一个或多个闪速存储器装置)的耐受性。
【背景技术】
[0002]半导体存储器装置一一包括闪速存储器一一通常利用存储器单元来将数据贮存为电的值,诸如电荷或电压。闪速存储器单元例如包括具有被用于贮存数据值的电荷表示的浮置栅极的单个晶体管。已经以各种方式促进了贮存密度的提高,包括通过制造的发展使能的存储器单元在芯片上的密度的提高,以及从单级闪速存储器单元到多级闪速存储器单元的转变,使得可以由每个闪速存储器单元贮存两个或更多位。
[0003]在一些情况中,当检测到用于闪速存储器装置的误差条件(例如,从闪速存储器装置读取不可恢复的码字,恢复码字所需的计算性资源超过预定的阈值,或者用于闪速存储器装置的编程-擦除(PE)周期的计数超过阈值值)时,整个闪速存储器装置被认为已经故障。相反,贮存在闪速存储器装置上的所有数据必须被复制并且贮存在不同的闪速存储器装置上。该整个装置的复制丢弃与被认为是故障的装置的仍工作的部分相关联的任何剩余寿命或值,消耗资源,并且将过度的负担置于剩余的闪速存储器装置上。

【发明内容】

[0004]在一些实施例中,贮存控制器被配置为将多个闪速存储器装置分割为多个逻辑组块。在检测到关于所述多个闪速存储器装置的各个闪速存储器装置的预定的触发条件之后,贮存控制器被配置为启动迀移过程,从而在各个闪速存储器装置上的至少一个逻辑组块被迀移到不同于各个闪速存储器装置的第二闪速存储器装置。如此,由于检测到关于闪速存储器装置的触发条件而将逻辑组块迀移出闪速存储器装置,从而缓慢地逐渐淘汰闪速存储器装置而不是整个闪速存储器装置立即故障并且从而被复制。
【附图说明】
[0005]为了可以更加详细地理解本公开,可以通过参考各种实施例的特性来进行的更加特定的描述,一些实施例在附图中说明。但是,附图仅示出了本公开的更加相关的特性并且从而不被认为是限制性的,因为说明书可能认可其他有效的特性。
[0006]图1是示出根据一些实施例的数据贮存系统的实现方式框图。
[0007]图2A是示出根据一些实施例的管理模块的实现方式框图。
[0008]图2B是示出根据一些实施例的在图2A中包括的特征向量表的示意图。
[0009 ]图2C是示出根据一些实施例的在图2B中包括的特征向量的的示意图。
[0010]图3A-3C是根据一些实施例的被分割为多个逻辑组块的贮存介质的框图。
[0011 ]图4A是根据一些实施例的被分割为多个逻辑组块的贮存介质的框图。
[0012]图4B是根据一些实施例的对应于在图4A中的多个逻辑组块的间接表的示意图。
[0013]图4C是根据一些实施例的被分割为多个逻辑组块的贮存介质的框图。
[0014]图4D是根据一些实施例的对应于在图4C中的多个逻辑组块的间接表的示意图。
[0015]图5-7示出了根据一些实施例的触发迀移过程的方法的流程图表示。
[0016]图8A-8C示出了根据一些实施例的管理贮存系统的方法的流程图表示。
[0017]根据惯例,在附图中示出的各种特性可能未按比例绘制。相应地,为了清晰,各种特性的大小可以任意地扩大或减小。此外,一些附图可能没有绘制给定系统、方法或装置的所有组件。最后,贯穿说明书和附图,相似的参考标号可以被用于表示相似的特性。
【具体实施方式】
[0018]这里所述的各种实施例包括可以改善包括贮存介质(例如,包括一个或多个闪速存储器装置)的贮存系统的耐受性的装置和/或方法。一些实施例包括用于通过在贮存系统的闪速存储器装置之间迀移数据而管理贮存系统的方法和/或系统。
[0019]更具体地,一些实施例包括管理包括贮存控制器和多个闪速存储器装置的贮存系统的方法,其中每个闪速存储器装置具有多个闪速存储器块。在一些实施例中,在贮存控制器进行该方法。方法包括:将多个闪速存储器装置的每一个分割为多个逻辑组块,其中每个逻辑组块包括一个或多个闪速存储器块;并且检测关于多个闪速存储器装置的各个闪速存储器装置的预定的触发条件。响应于检测预定的触发条件,方法包括:根据预定的选择准则选择各个闪速存储器装置的多个逻辑组块中的一个以用于迀移;并且在不同于各个闪速存储器装置的第二闪速存储器装置处,贮存包括选择的逻辑组块的副本的复制的逻辑组块。方法还包括:将选择的逻辑组块的地址重新映射到复制的逻辑组块的物理位置;并且降低与各个闪速存储器装置相关联的逻辑组块的数量。
[0020]一些实施例包括贮存控制器,其包括:一个或多个处理器;主机接口,被配置为将贮存控制器耦接到主机;贮存介质接口,被配置为将贮存控制器耦接到包括多个闪速存储器装置的贮存介质,多个闪速存储器装置的每一个具有多个闪速存储器块;以及贮存控制器,贮存指令,当由一个或多个处理器执行该指令时,使得贮存控制器进行这里所述的任何方法的操作。
[0021]—些实施例包括非瞬时性计算机可读贮存介质,其贮存一个或多个程序以用于由耦接到包括多个闪速存储器装置的贮存介质的贮存控制器的一个或多个处理器执行,其中每个闪速存储器装置包括多个闪速存储器块,一个或多个程序包括指令,当由一个或多个处理器执行指令时使得贮存控制器进行这里所述的任何方法的操作。
[0022]在这里描述许多细节以便于提供对在附图中示出的示例实施例的透彻理解。但是,可以不需要许多特定细节而实施一些实施例,并且权利要求的范围仅由在权利要求中特别记述的那些特性和方面限制。此外,没有以详尽的细节描述已知的方法、组件和电路,以便不必要地混淆这里所述的实施例的更加相关的方面。
[0023]图1是根据一些实施例的数据贮存系统100的实现方式的示意图。尽管示出了一些示例特性,但是为了简洁而没有示出各种其它特性以便不混淆这里所述的示例实施例的更加相关的方面。为此,作为非限制性示例,数据贮存系统100包括贮存控制器120和贮存介质130,并且被结合计算机系统110使用。在一些实施例中,贮存介质130是单个闪速存储器装置,而在其它实施例中,贮存介质130包括多个闪速存储器装置。在一些实施例中,贮存介质130是NAND型闪速存储器或NOR型闪速存储器。此外,在一些实施例中,贮存控制器120是固态驱动(SSD)控制器。但是,根据多种实施例的方面可以包括其它类型的贮存介质(例如,PCRAM、ReRAM、STT-RAM等)。在一些实施例中,闪速存储器装置包括一个或多个闪速存储器裸芯、一个或多个闪速存储器封装、一个或多个闪速存储器信道、一个或多个SSD、一个或多个SSD阵列等。
[0024]计算机系统110通过数据连接101耦接到贮存控制器120。但是,在一些实施例中,计算机系统110包括贮存控制器120作为组件和/或子系统。例如,贮存控制器120的一些或全部功能由执行在计算机系统110上的软件实现。计算机系统110可以是任何合适的计算机装置,诸如计算机、膝上型计算机、平板装置、网本、互联网亭、个人数字助理、移动电话、智能电话、游戏装置、计算机服务器或任何其它计算装置。计算机系统110有时被称为主机或主机系统。在一些实施例中,计算机系统110包括一个或多个处理器、一个或多个类型的存储器、显示器和/或其它用户接口组件,诸如键盘、触摸屏、鼠标、触控板、数码相机和/或任何数量的补充装置以添加功能。
[0025]贮存介质130通过连接103耦接到贮存控制器120。连接103有时被称为数据连接,但是通常传送除了数据以外的命令,并且可选地传送除了将被贮存在贮存介质130中的数据值和从贮存介质130读取的数据值以外的元数据、误差校正信息和/或其它信息。在一些实施例中,但是,贮存控制器120和贮存介质130被包含在与其组件相同的装置中。此外,在一些实现方式中,存储器控制器120和贮存介质130被嵌入在主机装置中,该主机装置诸如移动装置、平板、其它计算机或计算机控制的装置,并且这里所述的方法由嵌入式存储器控制器进行。贮存介质130可以包括任何数量的(S卩,一个或多个)存储器装置,该存储器装置非限制性地包括诸如闪速存储器的非易失性半导体存储器装置。例如,闪速存储器装置可以被配置为用于适用于诸如云计算的应用的企业贮存、用于数据库应用、主要和/或二级贮存、或用于缓存贮存在(或将被贮存在)诸如硬盘驱动的二级贮存中的数据。此外和/或可替换地,闪速存储器还可以被配置为相对小规模的应用,诸如个人闪速驱动或用于个人、膝上型和平板计算机的硬盘替换。
[0026]贮存介质130被分割为多个可编址的并且可单独选择的块,诸如可选择的部分131。在一些实施例中,可单独选择的块是闪速存储器装置中的最小尺寸的可擦除单元。换句话说,每个块包含可以被同时擦除的最小数量的存储器单元。每个块通常进一步被分割为多个页和/或字线,其中每个页或字线通常是块中最小的可单独访问的(可读)部分的实例。然而,在一些实施例中(例如,使用一些种类的闪速存储器),数据组的最小的可单独访问的单元是区段,该区段是页的子单元。就是说,块包括多个页,每个页包含多个区段,并且每个区段是用于从闪速存储器装置读取数据的数据的最小单元。
[0027]例如,一个块包括任何数量的页,例如,64页、128页、256页或另外的合适数量的页。块通常被组合为多个区。每个块区可以在某些程度上被独立地管理,这提高了用于并行操作的并行度并且简化了贮存介质130的管理。
[0028]如上所述,虽然非易失性半导体存储器装置的数据贮存密度普遍地提高,提高贮存密度的缺点在于贮存的数据更加倾向于被错误地贮存和/或读取。如将在下面更加详细描述的,误差控制码可以被用于限制由电波动、贮存介质、操作条件、装置历史、写入-读取电路等中的瑕疵、或这些和各种其它因素的组合引起的不可校正的误差的数量。
[0029]在一些实施例中,贮存控制器120包括管理模块121、输入缓冲器123、输出缓冲器124、误差控制模块125和贮存介质接口(1/0)128。贮存控制器120可以包括为了简洁而没有示出各种额外的特性以便于不混淆这里公开的示例实施例的更加主要的特征,并且特性的不同的布置是可能的。输入和输出缓冲器123、124通过将接口提供到计算机系统110。类似地,贮存介质I/O 128通过连接103将接口提供到贮存介质130。在一些实施例中,贮存介质I/O 128包括读取和写入电路,包括能够将读取信号提供到贮存介质130的电路(例如,用于NAND型闪速存储器的读取阈值电压)。
[0030]在一些实施例中,管理模块121包括一个或多个处理单元(CPU,有时还被称为处理器)122,该一个或多个处理单元被配置为执行一个或多个程序中(例如,在管理模块121中)的指令。在一些实施例中,一个或多个CPU 122由贮存控制器120的功能中的、并且在一些情况中由超出贮存控制器120的功能的一个或多个组件共享。管理模块121耦接到输入缓冲器123、输出缓冲器124(连接未示出)、误差控制模块125和贮存介质I/O 128以便于协调这些组件的操作。
[0031]误差控制模块125耦接到贮存介质I/O128、输入缓冲器123和输出缓冲器124。提供误差控制模块125以限制被无意引入到数据中的不可校正的误差的数量。在一些实施例中,误差控制模块125由管理模块121的一个或多个CPU 122在软件中执行,并且在其它实施例中,全部或部分使用专用电路进行编码和译码功能而实现误差控制模块125。在一些实施例中,由执行在计算机系统110上的软件全部或部分实现误差控制模块125。为此,误差控制模块125包括编码器126和译码器127。编码器126通过施加误差控制码以产生码字而编码数据,该码字之后被贮存在贮存介质130中。
[0032]当从贮存介质
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1