具有运行时变量raid保护方案的方法、固态驱动器控制器以及数据存储设备的制造方法

文档序号:9291645阅读:591来源:国知局
具有运行时变量raid保护方案的方法、固态驱动器控制器以及数据存储设备的制造方法
【专利说明】具有运行时变量RA ID保护方案的方法、固态驱动器控制器以及数据存储设备
[0001]相关申请的交叉引用
[0002]本申请要求于2012年12月3日提交的临时美国专利申请序列号61/732, 830 (Atty.Docket N0.T5961.P)的优先权,其整体以引用的方式并入在此。
【背景技术】
[0003]除其他因素外,由于工艺技术和制造偏差,在固态驱动器(SSD)的任何管芯中可能存在很多坏的存储器块。而且,每个块的耐久性不同。在管芯的早期寿命中,块中的大部分是好的。然而,存在一些初始故障。在大量的管芯寿命期间,发生随机位错误。最终,在管芯的寿命即将结束时,磨损效应显露,在其中错误率增加。每个块都经历这样的生命周期,虽然潜在地以不同的速率。实际上,一些块花费很长的时间经历该生命周期,而其他块花费相比较而言较短的时间段。然而,为了提供充足的安全裕量,常规的SSD系统根据表现最差的块而被提供。
[0004]闪存中的位可能在被编程之后被错误地读取(即,开发位错误)。闪存单元(cell)上的电荷水平将由于若干条件(例如,时间、温度、对块中的其他页的访问等)而改变。最终,当受到影响的单元被读取,则会返回错误的值。闪存制造商基于工艺技术、单元设计、实验室测试、模拟、操作条件等来规定针对闪存页的位错误的最大数。通常将位错误规范规定为每M字节P个错误。在一些情况下,控制器制造商负责实现满足或超过规范的纠错码(ECC) ο ECC的类型包括Reed Solomon码、BCH码和低密度奇偶校验(LDPC)码,他们是在数据位的块中纠正位错误的方法。由闪存制造商规定的闪存设备的寿命(以编程/擦除(PE)周期测量)是基于对所规定的纠错需求的实现。闪存制造商在闪存页中提供额外的字节以容纳预期的ECC位的数量加上针对诸如例如循环冗余校验(CRC)字段、扇区号等的其他元数据的少量空间。
[0005]开放NAND闪存接口(ONFI)规范版本2.3将闪存页定义为包含数据区域和备用区域。备用区域旨在用于保持ECC校验位和元数据,而数据区域被假定包含扇区(例如,逻辑块)数据。错误可能发生在特定页的数据部分以及在整个页中。针对每种类型的错误,需要不同的ECC代码和不同的纠错策略。
【附图说明】
[0006]图1A是示出了根据一个实施例的数据存储设备的物理数据组织和逻辑数据组织的方面的图。
[0007]图1B是根据一个实施例的其中每个E页的数据部分和ECC部分在物理上分开的F页的图。
[0008]图1C是示出了在给定F页内F页数据部分和F页ECC部分在尺寸上可变的图。
[0009]图2示出了根据一个实施例的逻辑到物理地址转换映射及其示例性条目。
[0010]图3示出了显示针对常规设备和方法二者的以及根据一个实施例的坏块与编程/擦除周期的百分比的图。
[0011]图4是示出了根据一个实施例的块失效率与数据存储设备的生命期之间关系、以及可以变化E页的ECC部分和数据部分以扩展数据存储设备的有用生命期的方式的图。
[0012]图5是根据一个实施例的块信息数据结构的图。
[0013]图6是根据一个实施例的超块(S块)的方框图。
[0014]图7示出了根据一个实施例的超页(S页)的另一视图。
[0015]图8是根据一个实施例的示出了校验页的生成与存储的S页的图。
[0016]图9是示出了根据一个实施例的块失效率与数据存储设备的生命期之间关系、以及可以变化校验页的数量以扩展数据存储设备的有用生命期的方式的图。
[0017]图10是根据一个实施例的在数据存储设备中生成和存储校验页的方法的流程图。
【具体实施方式】
[0018]图1A是示出了根据一个实施例的数据存储设备的物理数据组织和逻辑数据组织的方面的图。在一个实施例中,数据存储设备是SSD。在另一实施例中,数据存储设备是包括闪存和旋转磁存储介质的混合驱动器。本公开能够应用于SSD和混合实现二者,但是出于简单的缘故,参考基于SSD的实现来对各种实施例进行描述。根据一个实施例,SSD控制器102可以被配置为耦合到如附图标记118处所示的主机。主机118可以采用逻辑块寻址(LBA)方案。尽管LBA的尺寸通常是固定的,但是主机能够动态地改变LBA的尺寸。例如,LBA的尺寸可以随着接口和接口模式而不同。实际上,尽管512字节是最常见的,但4KB的尺寸也正在获得青睐,还有512+(520、528等)和4K+(4K+8、4K+16等)格式。如其中所示出的,SSD控制器102可以包括或耦合到一个或多个页寄存器104。控制器102可以被配置为响应于来自主机118的数据访问命令而对来自闪存设备的阵列的数据进行编程并且读取。尽管本文的描述涉及闪存,但是应当理解的是,存储器设备的阵列可以包括其他类型的非易失性存储器,例如,闪存集成电路、硫系RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元 RAM (PMC-RAMSPMCm)、Ovonic Unified Memory (OUM)、阻变式 RAM (RRAM)、NAND存储器(例如,单层单元(SLC)存储器、多层单元(MLC)存储器、或其任意组合)、NOR存储器、EEPR0M、铁电体存储器(FeRAM)、磁阻RAM(MRAM)、其他分立的NVM(非易失性存储器)芯片、或其任意组合。
[0019]页寄存器104可以被配置为使控制器102能够从阵列中读取数据以及将数据存储到阵列。闪存设备的阵列可以包括一个或多个管芯(例如,128管芯)中的多个闪存设备。闪存设备可以包括多个闪存块,如图1A中109处所示。集合在一起的闪存块的组合可以被称为超块或S块。在一些实施例中,形成S块的单独的块可以从一个或多个管芯、平面或其他粒度级别中选择。因此,S块可以包括组合在一起的、跨过一个或多个管芯分布的多个闪存块。以这种方式,S块可以形成闪存管理系统(FMS)在其上操作的单元。在一些实施例中,可以根据与在管芯级不同的粒度来选择形成S块的单独的块,例如以下情况:当存储器设备包括被细分为诸如平面的结构的管芯(即,块可以从单独的平面中取得)时。根据一个实施例,分配、擦除和垃圾收集可以在S块级执行。在其他实施例中,FMS可以根据诸如页、块、平面、管芯等的其他逻辑分组来执行数据操作。
[0020]闪存块109中的每一个可以包括多个诸如闪存页(F页)208的物理页。每一个F页208可以是固定尺寸的,例如,16KB。根据一个实施例,F页208的尺寸可以被定义为用于给定的闪存设备的编程的最小单元的尺寸。同样如图1A所示,每一个F页208可以被配置为容纳一个或多个诸如ECC页的物理子页,在下文中被称为E页210。本文中所使用的术语“E页”指的是被配置为在非易失性存储器(在其上应用了纠错码)中存储数据的数据结构。根据一个实施例,E页210可以形成SSD内的物理寻址的基础,并且可以构成闪存读取数据传送的最小单元。即,每个E页210可以被配置为存储由控制器102可读取的数据的最小量。E页210可以是预定的固定尺寸(例如,2KB),并且确定ECC系统的有效载荷(例如,主机或其他数据)的尺寸。然而,物理页(例如,E页)的尺寸不必是固定的。在一个实施例中,E页的地址唯一地标识在闪存内E页的位置。例如,E页的地址可以指定闪存通道、在所标识的闪存通道内的特定管芯、在管芯内的特定块、特定F页、以及最后在所标识的F页内的E页的起始。
[0021]根据一个实施例,每一个F页208可以被配置为将一个或多个E页210安置在其边界内。例如,给定16KB宽的F页208以及每E页210固定尺寸2KB,八个E页210安置在单个F页208内,如图1A所示。根据一个实施例,在任何事件中,整数个E页,诸如2的幂次个E页210 (包括ECC)可以被配置为安置于F页208。同样如图1A所示,每一个E页210可以包括数据部分114,并且取决于E页210位于何处也可以包括ECC部分116。ECC部分116可以被配置为存储被应用于E页210的数据部分114中存储的数据的ECC。根据一个实施例,数据部分114和ECC部分116在尺寸上都不需要是固定的。因此,根据一个实施例,对于给定的E页尺寸,E页内ECC部分的尺寸与数据部分的尺寸之间的比率可以变化。
[0022]E页、数据部分、以及ECC部分不需要根据图1A的示例性布局来布置。例如,每个E页的数据部分和ECC部分可以在物理上分离,这使得在F页内数据部分集合在一起而ECC部分集合在一起,如图1B中所示。在F页内,数据部分和ECC部分尺寸可变。实际上,图1C示出了 F页,其构成数据部分比图1B中示出的E页的数据部分相对较大。相应地,图1C的F页的ECC部分比图1B中示出的E页的ECC部分在尺寸上相对较小。因此,结果就是在F页内的聚合中,图1C的F页的F页数据部分大于图1B中示出的F页的F页数据部分。类似地,在F页内的聚合中,与图1B中示出的F页的F页数据部分相比,图1C的F页的F页ECC部分在尺寸上较小。F页的数据部分和ECC部分尺寸可变将被用作在存储F页纠错码中的优势,这在下文中得到充分发展。在各种实施例中,E页、数据部分、以及ECC部分的其他布置是可能的,并且本文所公开的尺寸调节方法也能够应用于那些实施例。在一个实施例中,F页可以包括仅一个E页。
[0023]实际上,为了在SSD上的物理寻址与由主机进行的逻辑块寻址之间建立桥梁,引入了逻辑页(L页)结构。图1A和图2中由附图标记212所指示的L页可以包括由闪存管理系统所使用的地址转换的最小单元。根据一个实施例,每一个L页212可以与L页号相关联。在一个实施例中,数据被逻辑地存储在L页212中,而L页212被物理地存储在SSD上、在E页210中。根据一个实施例,鉴于E页210是固定尺寸的(整数的E页可以安置在F页内),根据一个实施例由于对要存储的数据进行的压缩中的可变性,L页11
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1