首页> 中国专利> 用于避免数据存储设备中较低页讹误的方法和设备

用于避免数据存储设备中较低页讹误的方法和设备

摘要

数据存储设备可以包括多个多层单元(MLC)非易失性存储器设备,所述多层单元(MLC)非易失性存储器设备包括多个较低页以及相对应的多个较高序页。控制器可以被配置为将数据写到多个较低页和相对应的多个较高序页以及从多个较低页和相对应的多个较高序页读取数据。缓冲器可以与控制器耦合,缓冲器可以被配置为对要写到MLC非易失性存储器设备的数据进行累积,分配缓冲器中的空间,以及将累积的数据写到分配的空间。累积的数据的至少一部分可以被写到MLC非易失性存储器设备的较低页中,并且当在MLC非易失性存储器设备中与较低页相对应的所有较高序页已经被写入时,可以将存储要被写到较低页的数据的缓冲器中的空间解除分配。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-21

    授权

    授权

  • 2018-07-03

    专利申请权的转移 IPC(主分类):G06F12/00 登记生效日:20180614 变更前: 变更后: 申请日:20130930

    专利申请权、专利权的转移

  • 2015-12-09

    实质审查的生效 IPC(主分类):G06F12/00 申请日:20130930

    实质审查的生效

  • 2015-11-11

    公开

    公开

说明书

背景技术

闪速存储器是一种能够进行电擦除以及重编程的非易失性计算机存储 技术。闪速存储器通常按块写,以及按较大的超级块或S-块进行分配、垃 圾收集和擦除。

闪速存储器包括多个单元,其中每一个单元被配置为每单元存储一位、 两位或更多位。SLC是“单层单元(Single-LevelCell)”的缩写,其表示每 一个单元存储一位的配置。SLC的特征不仅在于快速的传送速度、低功率 消耗以及高的单元持久性,而且还在于相对高的成本。MLC是“多层单元 (Multi-levelCell)”的简称,其表示每一个单元每单元存储两位或更多位 的配置。首字母缩略词MLC通常用来表示具有每单元存储两位的单元的闪 速存储器。但是,该相同的首字母缩略词MLC还用于指定的闪速存储器, 所述指定的闪速存储器具有被配置为每单元存储三位(也称为“TLC”或三 元组或三层单元)或者每单元甚至更多位数的单元。当MLC用来指定在每 一个单元中存储两位的存储器时,这样的MLC闪速存储器的特征可以在于 与单层单元存储器相比较慢的传输速度、较高的功耗以及较低的单元持久 性。但是,与SLC存储器相比,这样的MLC存储器享有每比特相对较低 的制造成本。

在MLCNAND闪速存储器中,存储器单元的相同的物理页可以用来存 储数据的两个或更多个逻辑页,每一个单元被配置为存储2位或更多位。 当每单元存储两位时,首先存储较低页(lowerpage)的第一位,以及然后 存储一个或多个较高序页(higher-orderpage)的下一位或多位。首先对较 低页进行编程,然后对较高序的一页或多页进行编程。当对上页进行编程 时,编程电压被施加到已经在较低页中存储有效数据的相同的单元。如果 在对较高序的一页或多页进行编程期间发生电力故障,则较低页中存储的 数据可能不可恢复地讹误,想要存储在较高序的一页或多页中的数据可能 也是如此。该问题由于主机可能已经接收到来自数据存储设备的、指示存 储在较低页中的数据已经保存到闪速存储器的确认的事实而复杂化。

图1是常规闪速数据存储设备的各方面的框图。如其中所示,闪速数 据存储设备100包括控制器104。控制器104与统一以数字102指代的非易 失性存储器(例如,闪速存储器设备)的阵列相耦合。常规地,为了提供 电力故障保护,常规的闪速数据存储设备包括备用电源,如图1中的106 所示。如106所指示的,超级电容器或离散电容器的阵列常规地用于在掉 电期间保持控制器104和非易失性存储器102加电,通常仅足够长以结束 将数据编程到闪速存储器设备102中。事实上,这些超级电容器或离散电 容器阵列被配置为存储充分大量的能量来使控制器104能够在掉电时完成 任何固件操作(例如写操作)。但是,这不是最优的,因为超级电容器很大、 不可靠、易出现问题,而且昂贵。

附图说明

图1是常规闪速数据存储设备的方面的框图。

图2是根据一个实施例的示出了数据存储设备的物理的和逻辑的数据 组织的方面的图。

图3是根据一个实施例的S-块的框图。

图4是根据一个实施例的S-页的框图。

图5是根据一个实施例的数据存储设备的框图。

图6是根据一个实施例的控制数据存储设备的方法的流程图。

具体实施方式

在本公开的范围内,首字母缩略词“MLC”明确地表示包括每单元存 储两位或更多位的单元的闪速存储器。在其中这样的MLC闪速存储器被配 置为每单元存储两位的情况下,数据被存储在较低页和相对应的上页中。 在其中这样的MLC闪速存储器被配置为每单元存储三位或更多位的情况 下,数据被存储在较低页以及一个或多个相对应的较高序页中。术语“较 高序页”是要明确地涵盖上页和/或上页以及较高序的一个或多个页。

图2是根据一个实施例的示出了数据存储设备200的物理和逻辑数据 组织方面的图。在一个实施例中,数据存储设备是SSD。在另一实施例中, 数据存储设备是包括闪速存储器和旋转磁性存储介质的混合驱动器。本公 开能够应用于SSD和混合实现二者,但是为了简单起见,将参考基于SSD 的实现来描述各个实施例。根据一个实施例的数据存储设备控制器202可 以被配置为与主机耦合,主机如附图标记218所示。主机218可以利用逻 辑块寻址(LBA)方案。虽然LBA尺寸通常是固定的,但是主机能够动态 地改变LBA的尺寸。例如,可以对物理数据存储设备进行逻辑划分,以支 持被配置用于不同尺寸的LBA的分区。但是,物理设备不需要这样的分区 来同时支持不同尺寸的LBA。例如,LBA尺寸可以根据接口和接口模式而 不同。事实上,虽然512字节是最常见的,但是4KB也变得更加普遍, 512+(520,528,等)以及4KB+(4KB+8,4K+16,等)格式也是如此。如其 中所示,数据存储设备控制器202可以包括或者耦合到页寄存器204。页寄 存器204可被配置以使控制器202能够从数据存储设备200读取数据以及 将数据存储到数据存储设备200中。控制器202可以被配置为响应于来自 主机218的数据存取指令来对数据进行编程并且从闪速存储器设备的阵列 读取数据。虽然此处的说明一般性地指闪速存储器,但是应当理解存储器 设备的阵列可以包括一个或多个各种类型的非易失性存储器设备,例如, 闪速集成电路、硫属化物RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、 可编程金属化单元RAM(PMC-RAM或PMCm)、双向统一存储器(OUM)、 电阻式RAM(RRAM)、NAND存储器(例如,单层单元(SLC)存储器、 多层单元(MLC)存储器、或其任意组合)、NOR存储器、EEPROM、铁 电存储器(FeRAM)、磁阻式RAM(MRAM)、其他离散的NVM(非易失 性存储器)芯片、或其任意组合。

页寄存器204可以被配置为使控制器202能够从阵列读取数据以及将 数据存储到阵列中。根据一个实施例,闪速存储器设备的阵列可以在管芯 (例如,128个管芯)上包括多个非易失性存储器设备,其中的每一个都包 括多个块,例如图2中的206所示。其他的页寄存器204(未示出)可以与 其它管芯上的块耦合。成组在一起的闪速块的组合可以被称为超级块或S- 块(S-Block)。在一些实施例中,形成S-块的单独的块可以从一个或多个 管芯、平面或其他粒度级选出。因此,S-块可以包括分散在一个或多个管芯 上的、被组合在一起的多个闪速块。以这种方式,S-块可以形成闪速管理系 统(FMS)在其上进行操作的单元。在一些实施例中,形成S-块的单独的 块可以根据与管芯级不同的粒度级来选出,例如,当存储器设备包括被细 分成例如平面的结构的管芯时的情况(即,可以从单独的平面取得块)。根 据一个实施例,可以在S-块级上实施分配、擦除和垃圾收集。在其他实施 例中,FMS可以根据其他逻辑分组(例如,页、块、平面、管芯等)来执 行数据操作。

根据一个实施例,MLC非易失性存储器设备的阵列可以包括多个较低 页和相对应的多个较高序页。也即,每一个较低页可以与相对应的单个上 页或者与相对应的多个(即,两个或更多个)的较高序页相关联。MLC非 易失性存储器设备可以组织在闪速块206中,每一个闪速块包括多个闪速 页(F-页)207,如图2所示。可替代地,可以采用不同的物理组织。根据 一个实施例,F-页可以是非易失性存储器设备的最小程序单元的尺寸。控制 器202可以与多个非易失性存储器设备耦合并且可以被配置为将数据写到 多个较低页和一个或多个相对应的较高序页以及从多个较低页和一个或多 个相对应的较高序页读取数据。为了解决困扰常规数据存储设备的较低页 讹误问题,数据存储设备200的一个实施例包括缓冲器208。在一个实施例 中,缓冲器包括非易失性存储器。在写命令从主机218接收并且由控制器 202执行时,可以对要写到MLC非易失性存储器设备(即,闪速块206) 的数据进行累积。根据一个实施例,要写入的数据可以累积在写存储装置 203中。写存储装置203可以与控制器202耦合。在一个实施例中,写存储 装置203是控制器202内部的存储装置。与在写存储装置203中累积数据 同时进行(或者至少紧接在这样的累积之前或之后),控制器202可以分配 缓冲器208中的存储器空间并且可以将所累积的数据写到缓冲器208中所 分配的空间中。根据一个实施例,要写到MLC非易失性存储器设备的数据 可以存储在写存储装置203和缓冲器208中,使得缓冲器208和写存储装 置203彼此镜像或者彼此基本镜像。事实上,根据一个实施例,控制器202 可以被配置为对要写到写存储装置203和缓冲器208中的数据进行累积, 直到构造出完整的F-页。根据一个实施例,部分F-页可以与预定的编码值 封装在一起并且被视为完整的。完整的F-页可以写到MLC非易失性存储器 设备。也即,所累积的数据的至少一部分可以写到MLC非易失性存储器设 备的较低页。根据一个实施例,当与较低页相对应的所有较高序页已写MLC 非易失性存储器设备时,可以将缓冲器208中先前分配的空间解除分配。 也即,控制器202可以被配置为将较低页数据保存在缓冲器208中,直到 已经对与较低页相对应的上页或高序页进行编程。这确保了写数据的电力 安全副本被维持在缓冲器208中,直到较低页和较高序页或多个页二者已 被编程,此后数据可以被视为防电力故障或讹误。

根据一个实施例,在数据存储设备200的正常操作过程中,随着构造 出完整的F-页(并且在写存储装置203中累积以及写出到缓冲器208),它 们可以写出到MLC非易失性存储器设备。根据一个实施例,写出到MLC 非易失性存储器设备的是存储在写存储装置203中的完整的F-页。事实上, 由于写存储装置203能够支持比缓冲器208更大的带宽,所以优选的是将 完整的F-页从写存储装置203中而不是从缓冲器208中写出。

根据一个实施例,缓冲器208可以包括非易失性存储器。例如,缓冲 器208可以包括这样的存储器:其为非易失性的,以及特征为具有高的存 取速度、读速度和写速度。根据一个实施例,缓冲器208可以包括磁性随 机存取存储器(MRAM)。还可以使用其他存储器类型。MRAM可以展现 出与SRAM类似的性能,相当于DRAM的密度以及低功耗。而且,MRAM 不随时间而降级。虽然成本相对高,但是MRAM非常适合于缓冲器208的 任务;也即,适合于存储较低页数据的电力安全副本,至少直到相对应的 较高序页已经安全地存储在闪速块206中。但是,值得注意的是,由于该 写入,在MRAM中实现缓冲器208的成本仍比常规的超级电容器的使用或 者离散电容器阵列的使用更廉价。在缓冲器208包括例如MRAM的非易失 性存储器的实现中,尚未安全地存储在闪速块206中的写到非易失性存储 器中的数据(例如,在电力故障事件之前其相对应的较高序页未存储到闪 速存储器中的较低页数据)可以在对数据存储设备200恢复供电时,由控 制器202从缓冲器208读出并且存储在闪速块206中。也即,控制器202 可以进一步被配置为,在对掉电之后的数据存储设备200恢复供电之后, 从缓冲器208中读取数据以及将读取的数据的至少一部分写到闪速块206 的非易失性存储器设备。

根据一个实施例,缓冲器208可以被配置为至少足够大以使得在数据 存储设备掉电之后能够从较低页讹误恢复。因此,缓冲器208的尺寸可以 随着例如较低页与较高序页之间的页数、F-页的尺寸、平面的数量以及数据 存储设备的管芯数而不同。例如,缓冲器208的尺寸可以从几MB到几百 MB不同,但是其他实现可以利用其他尺寸而达到良好效果。根据一个实施 例,缓冲器208可以包括用于每一个管芯的多个缓冲器,因为每一个管芯 在不同的时间完成其编程。这使得能够独立地管理每管芯的多个页,产生 高效的缓冲器208的配置。缓冲器208可以例如被实现为多个缓冲器,当 相对应的较低页的较高序页存储在闪速块206中时,控制器202从所述多 个缓冲器分配空间,存储数据,以及对空间解除分配。这样的缓冲器配置 非常适合于缓存来自主机写命令的写数据流,直到在电力故障时较低页讹 误的概率可接受地小或者为零。根据一个实施例,控制器202可以被配置 为在累积的数据被写缓冲器中的分配空间之后(例如,一旦累积的数据被 写缓冲器中的分配空间)就生成写确认,并且将该写确认发送到主机218。 也即,从主机的视角看,当数据存储在缓冲器208中时,数据就可以被视 为已经安全地存储在闪速存储器中。根据一个实施例,MLC非易失性设备 可以在仅较低页模式或者“SLC”模式下运行。在该情况下,由于没有要处 理的较高序页,所以一旦对仅MLC较低页模式下的页或者SLC模式中的 页进行编程,就可以实施对缓冲器208中的空间进行解除分配,并且在等 待要被编程的任何较高序页的同时无需被延迟。

图3是根据一个实施例的S-块的框图。如其中所示,S-块302可以每 管芯包括一个闪速块(F-块)206。因此,S-块可以被视为F-块的集合,每 个管芯上一个F-块,这些F-块组合在一起而形成数据存储设备的闪速管理 系统(FMS)的单元。根据一个实施例,可以在S-块级上管理分配、擦除 和GC。如图3所示,每一个F-块206可以包括多个闪速页(F-页),例如, 256或512个F-页。根据一个实施例,F-页可以为用于给定的非易失性存储 器设备的最小程序单元的尺寸。图4示出了根据一个实施例的超级页(S- 页)。如其中所示,S-页402可以每S-块的F-块包括一个F-页,意味着S- 页跨越整个S-块。根据图2所示的一个实施例,数据可以S-页402为单位 进行累积、写和存储。缓冲器208可以被配置为取决于具体的实现来存储 以与S-页402不同的方式组织的写数据。

图5是根据一个实施例的另一数据存储设备500的框图。参考图2,类 似的附图标记表示类似的元件,并且为简要起见省略了对这样的类似元件 的说明。在该实施例中,控制器502无需(但是可以)包括写存储装置, 例如图2中的写存储装置203。易失性存储器缓冲器504(或者多个这样的 易失性存储器缓冲器)可以与控制器502耦合。例如,易失性存储器缓冲 器504可以包括动态随机存取存储器(DRAM)或者被配置在动态随机存 取存储器(DRAM)中。易失性存储器缓冲器504在图5中示出为位于控 制器502的外部。但是,易失性存储器缓冲器504还可以位于控制器502 的内部,其可以通过控制器502来变换为更快的存取时间。但是,尺寸和/ 或其他考量可以推荐的是,将易失性存储器缓冲器504配置为与控制器502 耦合的外部存储器缓冲器。图5的数据存储设备500还可以包括例如506 所示的备用电源以及如508所示的非易失性存储器。备用电源506可以与 易失性存储器缓冲器504、控制器504和非易失性存储器508耦合。备用电 源506可以被配置为在电力故障事件发生时至少保持易失性存储器缓冲器 504、控制器502和/或非易失性存储器508在一段时间内加电,而不会丢失 易失性存储器504中的数据(至少直到其内容能够被保存到非易失性存储 器508中)。根据一个实施例,备用电源506可以被配置为对图5的数据存 储设备的至少部分加电,至少长达控制器502将数据从易失性缓冲器504 写到非易失性存储器508所需的时间。备用电源506可以包括电容器、超 级电容器和/或任何能量存储元件。在一个实施例中,其中数据存储设备是 与硬盘驱动器耦合的混合磁盘驱动器或者固态驱动器,电源506可以由根 据硬盘驱动器的主轴电动机生成的BEMF(反向电动势)来提供。

事实上,在正常操作期间,由于写命令是从主机218接收并且由控制 器502执行的,所以要写到MLC非易失性存储器设备(即,闪速块206) 的数据可以写到易失性存储器缓冲器504和MLC非易失性存储器设备二 者。根据一个实施例,控制器502可以被配置为累积待在内部(例如,在 写存储装置203中)写(如例如由主机218发出的写命令所引导)的数据, 直到构造了完整的F-页。可替代地以及根据一个实施例,部分F-页可以与 预定的编码值封装在一起并且被视为完整的。然后,完整的F-页可以写到 易失性存储器缓冲器504和MLC非易失性存储器设备二者。根据一个实施 例,数据还可以以S-页402为单位或者以任何其他数据组织单元为单位来 进行累积、写以及存储。实际上,易失性存储器缓冲器504可以被配置为 取决于具体的实现来存储以与S-页402不同的方式组织的写数据。因此, 根据一个实施例,除了将累积的数据(或其部分)写到易失性存储器缓冲 器504中之外,所累积的数据(或其部分)可以写到MLC非易失性存储器 设备(闪速块206)的一个或多个较低页和/或上页。根据一个实施例,当 与之前编程的较低页相对应的所有较高序页已经写到MLC非易失性存储 器设备中,并且因此可以被视为有效地防讹误时,可以将易失性存储器缓 冲器504中的先前分配的空间解除分配,其中解除分配的空间重新用于新 的写数据。也即,控制器202可以被配置为将较低页数据保存在易失性存 储器缓冲器504中至少直到与较低页相对应的上页或较高序页已被编程在 MLC非易失性存储器设备中。

在发生掉电的事件中,备用电源506可以至少向控制器502、易失性存 储器缓冲器504和/或非易失性存储器508供电。在控制器502、易失性存 储器缓冲器504和/或非易失性存储器508由备用电源506供电期间,控制 器502可以使存储在易失性存储器缓冲器504中的数据被复制到非易失性 存储器508,从而以防讹误方式将尚未保存到MLC非易失性存储器设备中 的数据进行保存,从而使控制器能够确认写到主机218。当恢复对MLC非 易失性存储器设备供电时,保存在非易失性存储器508中的数据可以被编 程到MLC非易失性存储器设备中。

值得注意的是,根据一个实施例,可以仅在发生电力故障的事件中, 写非易失性存储器508。而且,通过仅在发生电力故障的事件中对控制器 502、易失性存储器缓冲器504和非易失性存储器508供电,与还对MLC 非易失性存储器设备(例如,闪速块206)的管芯进行供电所需的电力相比, 需要相对较少的电力。值得注意的是,非易失性存储器508可以从由备用 电源506供电的控制器502汲取其电力。根据一个实施例,非易失性存储 器508可以包括MRAM。根据一个实施例,备用电源506仅需要与控制器 502和易失性存储器缓冲器504耦合。另外,通过在发生电力故障的事件中, 使用易失性存储器缓冲器504作为数据路径和非易失性存储器508中的主 写位置,降低了非易失性存储器508的磨损。

图6是根据一个实施例的控制数据存储设备的方法的流程图。数据存 储设备可以包括缓冲器以及多个多层单元(MLC)非易失性存储器设备(包 括例如闪速块206)。如本文所描述的,MLC非易失性存储器设备可以包括 多个较低页以及相对应的多个较高序页。例如502所示的控制器可以被配 置为将数据写到多个较低页和相对应的多个较高序页以及从多个较低页和 相对应的多个较高序页读取数据。根据一个实施例,以及如图6所示,该 方法可以包括:对要写到MLC非易失性存储器设备的数据进行累积,如块 B61所示。块B62要求分配缓冲器208、504中的空间以及将累积的数据写 到缓冲器208、504中分配的空间。如在B63所示,累积的数据的至少一部 分可以写到MLC非易失性存储器设备的一个或多个较低页。应当理解的 是,所累积的数据的一部分还可以写到MLC非易失性存储器设备的一个或 多个上页。当与较低页相对应的所有较高序页已经写到MLC非易失性存储 器设备中时,正如在块B64中所要求的,可以安全地对存储要被写到较低 页的数据的缓冲器中的空间解除分配。

根据一个实施例并且如图2所示,缓冲器可以包括或被配置为非易失 性存储器,例如,磁性随机存取存储器(MRAM)。如关于图2所描述的, 以及如图5中的B65所示,该方法还可以包括:在对掉电之后的数据存储 设备恢复供电之后,从缓冲器208读取数据以及将所读取的数据的至少一 部分写到MLC非易失性存储器设备。如关于图5所描述的,该方法还可以 包括:在对掉电之后的数据存储设备恢复供电(由备用电源506)之后,从 易失性存储器缓冲器504读取数据,以及将所读取的数据的至少一部分写 到非易失性存储器508,如图6中的B65所示。根据一个实施例,缓冲器 208、504可以至少足够大以使得能够在数据存储设备掉电之后从可能的较 低页讹误中恢复。根据一个实施例,缓冲器208、504可以被配置为一个或 多个缓冲器。在累积的数据写到缓冲器208、504中的分配的空间之后,可 以生成写确认并将所述写确认发送到主机218,因为从该时间点向前,数据 可以被视为是防讹误的。根据一个实施例,MLC非易失性存储器设备可以 被配置为包括多个块,多个块中的每一个包括多个物理页。这些块的集合 可以限定超级块(S-块)。S-块中的每块一个物理页的物理页的集合可以限 定超级页(S-页),所述S-页可以是控制器202累积、写和存储主机和/或其 他数据的单位。可以在当前的上下文中实现其他的数据组织和单位。

如关于图5所示出和描述的,该方法还可以包括:提供备用电源506 和非易失性存储器,例如,如508所示的非易失性存储器。在该实施例中, 缓冲器504可以包括易失性存储器。根据一个实施例,该方法还可以包括: 对数据存储设备500的至少一部分供电至少长达控制器502将数据从缓冲 器504写到非易失性存储器508所需的时间。根据一个实施例,在对掉电 之后的数据存储设备恢复供电之后,非易失性存储器508中的数据的至少 一部分可以写到MLC非易失性存储器设备。可以提供写存储装置(图2和 图5中的203),并且控制器202、502可以被配置为在所累积的数据写到缓 冲器208、504中所分配的空间时将所累积的数据写到写存储装置203中。 根据一个实施例,控制器202、502还可以配置为:当与较低页相对应的所 有较高序页已经写到MLC非易失性存储器设备中时,对存储要被写到较高 序页的数据的缓冲器208、504中的空间解除分配,因为这样的数据可以被 视为防讹误的。

虽然已经描述了一些实施例,但是这些实施例仅通过示例的方式提供, 并且并不是要限制本发明的范围。事实上,本文所描述的新颖的方法、设 备和系统可以通过各种的其他形式来具体实现。此外,可以在不偏离本公 开精神的情况下做出对本文所描述的方法和系统的形式的各种省略、替代 和变化。随附的权利要求书及其等效物是要涵盖落在本公开的范围和精神 内的这样的形式或改进。例如,本领域的技术人员将意识到,在各个实施 例中,实际的结构可能与图中所示的那些不同。根据实施例,在上述示例 中描述的一些步骤可以去除,可以添加其他步骤。而且,上文公开的具体 实施例的特征和属性可以通过不同方式组合而形成额外的实施例,所有这 些落在本公开范围内。虽然本公开提供了一些优选的实施例和应用,但是 对于本领域普通技术人员而言显而易见的是,其他实施例,包括不提供本 文阐述的全部特征和优点的实施例,也在本公开的范围内。因此,本公开 的范围是要仅由随附的权利要求书来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号