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

文档序号:9332668阅读:235来源:国知局
用于避免数据存储设备中较低页讹误的方法和设备的制造方法
【专利说明】
【背景技术】
[0001]闪速存储器是一种能够进行电擦除以及重编程的非易失性计算机存储技术。闪速存储器通常按块写,以及按较大的超级块或S-块进行分配、垃圾收集和擦除。
[0002]闪速存储器包括多个单元,其中每一个单元被配置为每单元存储一位、两位或更多位。SLC是“单层单元(Single-Level Cell) ”的缩写,其表示每一个单元存储一位的配置。SLC的特征不仅在于快速的传送速度、低功率消耗以及高的单元持久性,而且还在于相对高的成本。MLC是“多层单元(Mult1-level Cell) ”的简称,其表示每一个单元每单元存储两位或更多位的配置。首字母缩略词MLC通常用来表示具有每单元存储两位的单元的闪速存储器。但是,该相同的首字母缩略词MLC还用于指定的闪速存储器,所述指定的闪速存储器具有被配置为每单元存储三位(也称为“TLC”或三元组或三层单元)或者每单元甚至更多位数的单元。当MLC用来指定在每一个单元中存储两位的存储器时,这样的MLC闪速存储器的特征可以在于与单层单元存储器相比较慢的传输速度、较高的功耗以及较低的单元持久性。但是,与SLC存储器相比,这样的MLC存储器享有每比特相对较低的制造成本。
[0003]在MLC NAND闪速存储器中,存储器单元的相同的物理页可以用来存储数据的两个或更多个逻辑页,每一个单元被配置为存储2位或更多位。当每单元存储两位时,首先存储较低页(lower page)的第一位,以及然后存储一个或多个较高序页(higher-order page)的下一位或多位。首先对较低页进行编程,然后对较高序的一页或多页进行编程。当对上页进行编程时,编程电压被施加到已经在较低页中存储有效数据的相同的单元。如果在对较高序的一页或多页进行编程期间发生电力故障,则较低页中存储的数据可能不可恢复地讹误,想要存储在较高序的一页或多页中的数据可能也是如此。该问题由于主机可能已经接收到来自数据存储设备的、指示存储在较低页中的数据已经保存到闪速存储器的确认的事实而复杂化。
[0004]图1是常规闪速数据存储设备的各方面的框图。如其中所示,闪速数据存储设备100包括控制器104。控制器104与统一以数字102指代的非易失性存储器(例如,闪速存储器设备)的阵列相耦合。常规地,为了提供电力故障保护,常规的闪速数据存储设备包括备用电源,如图1中的106所示。如106所指示的,超级电容器或离散电容器的阵列常规地用于在掉电期间保持控制器104和非易失性存储器102加电,通常仅足够长以结束将数据编程到闪速存储器设备102中。事实上,这些超级电容器或离散电容器阵列被配置为存储充分大量的能量来使控制器104能够在掉电时完成任何固件操作(例如写操作)。但是,这不是最优的,因为超级电容器很大、不可靠、易出现问题,而且昂贵。
【附图说明】
[0005]图1是常规闪速数据存储设备的方面的框图。
[0006]图2是根据一个实施例的示出了数据存储设备的物理的和逻辑的数据组织的方面的图。
[0007]图3是根据一个实施例的S-块的框图。
[0008]图4是根据一个实施例的S-页的框图。
[0009]图5是根据一个实施例的数据存储设备的框图。
[0010]图6是根据一个实施例的控制数据存储设备的方法的流程图。
【具体实施方式】
[0011]在本公开的范围内,首字母缩略词“MLC”明确地表示包括每单元存储两位或更多位的单元的闪速存储器。在其中这样的MLC闪速存储器被配置为每单元存储两位的情况下,数据被存储在较低页和相对应的上页中。在其中这样的MLC闪速存储器被配置为每单元存储三位或更多位的情况下,数据被存储在较低页以及一个或多个相对应的较高序页中。术语“较高序页”是要明确地涵盖上页和/或上页以及较高序的一个或多个页。
[0012]图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存储器、EEPR0M、铁电存储器(FeRAM)、磁阻式RAM(MRAM)、其他离散的NVM(非易失性存储器)芯片、或其任意组合。
[0013]页寄存器204可以被配置为使控制器202能够从阵列读取数据以及将数据存储到阵列中。根据一个实施例,闪速存储器设备的阵列可以在管芯(例如,128个管芯)上包括多个非易失性存储器设备,其中的每一个都包括多个块,例如图2中的206所示。其他的页寄存器204(未示出)可以与其它管芯上的块耦合。成组在一起的闪速块的组合可以被称为超级块或S-块(S-Block)。在一些实施例中,形成S-块的单独的块可以从一个或多个管芯、平面或其他粒度级选出。因此,S-块可以包括分散在一个或多个管芯上的、被组合在一起的多个闪速块。以这种方式,S-块可以形成闪速管理系统(FMS)在其上进行操作的单元。在一些实施例中,形成S-块的单独的块可以根据与管芯级不同的粒度级来选出,例如,当存储器设备包括被细分成例如平面的结构的管芯时的情况(即,可以从单独的平面取得块)。根据一个实施例,可以在S-块级上实施分配、擦除和垃圾收集。在其他实施例中,FMS可以根据其他逻辑分组(例如,页、块、平面、管芯等)来执行数据操作。
[0014]根据一个实施例,MLC非易失性存储器设备的阵列可以包括多个较低页和相对应的多个较高序页。也即,每一个较低页可以与相对应的单个上页或者与相对应的多个(即,两个或更多个)的较高序页相关联。MLC非易失性存储器设备可以组织在闪速块206中,每一个闪速块包括多个闪速页(F-页)207,如图2所示。可替代地,可以采用不同的物理组织。根据一个实施例,F-页可以是非易失性存储器设备的最小程序单元的尺寸。控制器202可以与多个非易失性存储器设备耦合并且可以被配置为将数据写到多个较低页和一个或多个相对应的较高序页以及从多个较低页和一个或多个相对应的较高序页读取数据。为了解决困扰常规数据存储设备的较低页讹误问题,数据存储设备200的一个实施例包括缓冲器208。在一个实施例中,缓冲器包括非易失性存储器。在写命令从主机218接收并且由控制器202执行时,可以对要写到MLC非易失性存储器设备(即,闪速块206)的数据进行累积。根据一个实施例,要写入的数据可以累积在写存储装置203中。写存储装置203可以与控制器202耦合。在一个实施例中,写存储装置203是控制器202内部的存储装置。与在写存储装置203中累积数据同时进行(或者至少紧接在这样的累积之前或之后),控制器202可以分配缓冲器208中的存储器空间并且可以将所累积的数据写到缓冲器208中所分配的空间中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1