存储器坏区的数据备份方法及系统转让专利

申请号 : CN201610020634.2

文献号 : CN105718328B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏益新张豪

申请人 : 珠海煌荣集成电路科技有限公司

摘要 :

本发明提供存储器坏区的数据备份方法及系统,该方法依次包括分类步骤,将物理块分类;映射转换步骤,物理块进行地址映射转换;数据保护步骤,将数据备份;其中,分类步骤包括物理块分组步骤,将物理坏页相同的物理块分为一组,普通模型块为物理块数最多的一组中的物理块,特殊模型块为剩余组中的物理块;数据保护步骤包括逻辑页映射表读入步骤和物理页备份步骤,逻辑页映射表读入步骤根据特殊模型块或普通模型块读入逻辑页映射表;物理页备份步骤备份物理页。该系统是应用上述方法的系统。本发明能够在数据稳定性有保证且对读写性能影响不大的前提下,利用随机坏掉的物理页的物理块的剩余容量,提高容量的优良率和Nand‑Flash的使用率。

权利要求 :

1.存储器坏区的数据备份方法,该方法包括:分类步骤,将存储器的物理块分为特殊模型块和普通模型块的步骤;

映射转换步骤,将所述特殊模型块和所述普通模型块进行地址映射转换的步骤;

数据保护步骤,将数据进行备份的步骤;

其特征在于:

所述分类步骤包括物理块分组步骤,所述物理块分组步骤将物理坏页相同的所述物理块分为一组;所述普通模型块为物理块数最多的一组中的所述物理块,所述特殊模型块为剩余组中的所述物理块;

所述数据保护步骤包括逻辑页映射表读入步骤以及物理页备份步骤,所述逻辑页映射表读入步骤包括根据所述特殊模型块或所述普通模型块读入逻辑页映射表的步骤;所述物理页备份步骤包括根据所述逻辑页映射表备份物理页的步骤;

所述映射转换步骤采用内存和Nand-Flash混合存储的三级映射;

第一级映射为逻辑块属性映射,第二级映射为特殊模型块的存储地址映射,第三级映射为逻辑页属性映射;

所述第一级映射的逻辑块属性表储存在所述内存中,所述第二级映射的所述特殊模型块的物理地址存储在所述内存中,所述第三级映射的所述特殊模型块的所述逻辑页映射表存储在所述Nand-Flash中,所述普通模型块的所述逻辑页映射表存储在所述内存中。

2.根据权利要求1所述的存储器坏区的数据备份方法,其特征在于:所述分类步骤还包括坏页登记步骤,所述坏页登记步骤在所述物理块分组步骤前执行;所述坏页登记步骤登记所述物理块的物理坏页数。

3.根据权利要求1所述的存储器坏区的数据备份方法,其特征在于:所述数据保护步骤还包括校验步骤和擦除步骤,所述校验步骤包括根据一个ECC单元进行校验的步骤;

所述擦除步骤包括擦除备份物理块的数据的步骤。

4.存储器坏区的数据备份系统,包括:

分类模块,用于将存储器的物理块分为特殊模型块和普通模型块;

映射转换模块,用于将所述特殊模型块和所述普通模型块进行地址映射转换;

数据保护模块,用于将数据进行备份;

其特征在于:

所述分类模块包括物理块分组模块,所述物理块分组模块将物理坏页完全相同的所述物理块分为一组;所述普通模型块为物理块数最多的一组中的所述物理块,所述特殊模型块为剩余组中的所述物理块;

所述数据保护模块包括逻辑页映射表读入模块以及物理页备份模块,所述逻辑页映射表读入模块用于根据所述特殊模型块或所述普通模型块读入逻辑页映射表;所述物理页备份模块用于根据逻辑页映射表备份物理页;

所述映射转换模块采用内存和Nand-Flash混合存储的三级映射;

第一级映射为逻辑块属性映射,第二级映射为特殊模型块的存储地址映射,第三级映射为逻辑页属性映射;

所述第一级映射的逻辑块属性表储存在所述内存中,所述第二级映射的所述特殊模型块的物理地址存储在所述内存中,所述第三级映射的所述特殊模型块的所述逻辑页映射表存储在所述Nand-Flash中,所述普通模型块的所述逻辑页映射表存储在所述内存中。

5.根据权利要求4所述的存储器坏区的数据备份系统,其特征在于:所述分类模块还包括坏页登记模块,所述坏页登记模块用于登记所述物理块的物理坏页数。

6.根据权利要求4所述的存储器坏区的数据备份系统,其特征在于:所述数据保护模块还包括校验模块和擦除模块,所述校验模块用于根据一个ECC单元进行校验;

所述擦除模块用于擦除备份物理块的数据。

说明书 :

存储器坏区的数据备份方法及系统

技术领域

[0001] 本发明属于数据存储领域,具体涉及一种存储器坏区的数据备份方法及系统。

背景技术

[0002] 存储芯片(Memory)作为目前全球第一大半导体芯片,以DRAM与Nand-Flash为主要存储芯片的市场销售规模占整个半导体销售规模的近30%。Nand-Flash更是由于本身具备的容量大,非易失性特点被广泛应用于SSD、MP3及手机等设备上。Nand-Flash从物理结构上可以分为块(Block,最小的擦除单元)、页(Page,最小的编程单元)、列(Column,最小的访问单元)和物理单元(Cell)。根据物理单元的差异,技术应用比较成熟的Nand-Flash分为SLC(Single-Level Cell)/MLC(Multi-Level Cell)/TLC(Trinary-Level Cell)三大类。虽然SLC 读写速度快、寿命长,但价格较高,在实际应用中MLC和TLC更为常用。
[0003] MLC和TLC的物理单元大于1bit/Cell,在生产或者在擦写次数累加的过程中,会有一定概率出现一个Cell物理损坏的情况,这种情况下,在访问接口上,TLC表现为一个WordLine(受控于同一Cell的三个Page)同时坏掉,MLC表现为一个Pair Page(受控于同一Cell的两个Page)同时坏掉,或者在一个Cell单元内操作互相干扰出错,出厂时则标记该WordLine/Pair Page所在的块为坏,从而损失当前块上除了该WordLine/Pair Page以外的其他Worline/Pair Page可用的容量。
[0004] 传统闪存转换层(Flash Translation Layer,简称FTL)受制于容量与数据稳定性,较常见的做法是提取有固定规律出错的这类块独立管理使用,但WordLine/Pair Page随机坏的块则无法兼容到,一旦这类随机坏的块较大概率出现,则整批容量达标优良率会大幅下降。

发明内容

[0005] 本发明的主要目的是提供一种提高存储器利用率的存储器坏区的数据备份方法。
[0006] 本发明的另一目的是提供一种提高存储器利用率的存储器坏区的数据备份系统。
[0007] 为实现上述的主要目的,本发明提供的存储器坏区的数据备份方法,包括分类步骤,将存储器的物理块分为特殊模型块和普通模型块的步骤;映射转换步骤,特殊模型块和普通模型块进行地址映射转换的步骤;数据保护步骤,将数据进行备份的步骤;其中,分类步骤包括物理块分组步骤,物理块分组步骤将物理坏页相同的物理块分为一组;普通模型块为物理块数最多的一组中的物理块,特殊模型块为剩余一组中的物理块;数据保护步骤包括逻辑页映射表读入步骤以及物理页备份步骤,逻辑页映射表读入步骤包括根据特殊模型块或普通模型块读入逻辑页映射表的步骤;物理页备份步骤包括根据逻辑页映射表备份物理页的步骤。
[0008] 由上述方案可见,本发明的数据备份方法将存储器的物理块分为特殊模型块和普通模型块,在物理块分组步骤中使物理坏页数多的物理页模型包含物理坏页数少的物理页模型,从而使物理坏页数最多的物理页模型包含的物理页模型数最多,即物理块也最多,且根据物理页模型将物理块分成不同的集合;再将每个集合中具有相同物理页模型的物理块分成一组,一个物理块集合中有多个小组,把符合相同物理页模型的物理块数最多的一组作为普通模型,其他小组作为特殊模型。本发明将随机出错物理块的剩余容量利用起来,提高Nand-Flash的使用率。
[0009] 一个优选的方案是,分类步骤还包括坏页登记步骤,坏页登记步骤在物理块分组步骤前执行,坏页登记步骤登记物理块的物理坏页数。
[0010] 由上可见,扫描数据后筛选出每个物理块中可正常读写的物理页,并将其转换为逻辑页,然后登记相应的物理块的物理坏页的编号和个数。
[0011] 一个优选的方案是,映射转换步骤采用内存和Nand-Flash混合存储的三级映射;第一级映射为逻辑块属性映射,第二级映射为特殊模型块的存储地址映射,第三级映射为逻辑页属性映射。
[0012] 一个优选的方案是,第一级映射的逻辑块属性表储存在内存中,第二级映射的特殊模型块的物理地址存储在内存中,第三级映射的特殊模型块的逻辑页映射表存储在Nand-Flash中,普通模型块的逻辑页映射表存储在内存中。
[0013] 由上可见,逻辑块属性映射表和普通模型块的逻辑页映射表存储在内存中可以降低对读写性能的影响,将特殊模型块对应的逻辑页映射表放入Nand-Flash中可以减少内存消耗。
[0014] 一个优选的方案是,数据保护步骤还包括校验步骤以及擦除步骤,校验步骤包括根据一个ECC单元进行校验的步骤,擦除步骤包括擦除备份物理块的数据的步骤。
[0015] 由上可见,校验时如果完整读出一个逻辑页的数据校验会降低性能,基于逻辑页特性,选择只校验一个ECC单元,从而可以减少对性能的影响。
[0016] 为实现上述的另一目的,本发明提供的存储器坏区的数据备份系统,包括分类模块,用于将将存储器的物理块分为特殊模型块和普通模型块;映射转换模块,用于将特殊模型块和普通模型块进行地址映射转换;数据保护模块,用于将数据进行备份;其中,分类模块包括物理块分组模块,物理块分组模块将物理坏页相同的物理块分为一组;普通模型块为物理块数最多的一组中的物理块,特殊模型块为剩余组中的物理块;数据保护模块包括逻辑页映射表读入模块以及物理页备份模块,逻辑页映射表读入模块用于根据特殊模型块或普通模型块读入逻辑页映射表;物理页备份模块用于根据逻辑页映射表备份物理页。
[0017] 由上述方案可见,由于利用了无规律出错物理页的物理块,这类物理块的数据错误率相对于有规律出错物理页的物理块大,所以本发明通过分配备份物理块,对数据进行完整性保护。

附图说明

[0018] 图1是本发明存储器坏区的数据备份系统实施例的结构框图。
[0019] 图2是本发明存储器坏区的数据备份方法实施例的提取特殊模型的流程图。
[0020] 图3是本发明存储器坏区的数据备份方法实施例的物理块数和物理坏页数的关系示意图。
[0021] 图4是本发明存储器坏区的数据备份方法实施例的物理块集合的分组示意图。
[0022] 图5是本发明存储器坏区的数据备份方法实施例的特殊模型和普通模型的地址映射转换图。
[0023] 图6是本发明存储器坏区的数据备份方法实施例的特殊模型块集合的坏页映射示意图。
[0024] 图7是本发明存储器坏区的数据备份方法实施例的一级映射图。
[0025] 图8是本发明存储器坏区的数据备份方法实施例的二级映射展开图。
[0026] 图9是本发明存储器坏区的数据备份方法实施例的备份方法流程图。
[0027] 图10是本发明图8备份方法流程图中逻辑页映射表读入的步骤流程图。
[0028] 图11是本发明图8备份方法流程图中物理页备份的步骤流程图。
[0029] 图12是本发明图8备份方法流程图中物理块校验的步骤流程图。
[0030] 以下结合附图及实施例对本发明作进一步说明。

具体实施方式

[0031] 参见图1,图1为本发明存储器坏区的数据备份系统的结构框图,本发明的数据备份系统包括分类模块1、映射转换模块2、屏蔽模块3以及数据保护模块4,分类模块1包括坏页登记模块11和物理块分组模块12,数据保护模块4包括逻辑页映射表读入模块41、物理页备份模块42、校验模块43以及擦除模块44。
[0032] 分类模块1用于将存储器的物理块分为特殊模型块和普通模型块,主要是先通过坏页登记模块11,筛选出每个物理块中可正常读写的物理页,然后登记对应物理块的物理坏页(Bad Page,BP)的编号和个数;然后通过物理块分组模块12,根据物理坏页数将物理块分组,得到普通模型和特殊模型。
[0033] 映射转换模块2用于对特殊模型块和普通模型块进行地址映射转换,本发明的数据备份系统采用将内存和Nand-Flash混合存储的三级映射,其中第一级映射为逻辑块属性映射,第二级映射为特殊模型块的存储地址映射,第三级映射为逻辑页属性映射。
[0034] 屏蔽模块3用于在进行数据备份前,在FTL层根据地址映射关系屏蔽物理层特殊模型块的差异。
[0035] 数据保护模块4用于将数据进行备份,首先给逻辑块分配备份物理块,然后根据逻辑块对应的物理块的属性通过逻辑页映射表读入模块41,在Nand-Flash中读入逻辑页映射表,再通过物理页备份模块42,根据写入的逻辑页映射表备份物理页,然后通过校验模块43,利用一个ECC单元进行物理块校验,校验成功后,擦除模块44将备份物理块内的数据擦除。
[0036] 下面结合图2说明本发明的存储器坏区的数据备份方法的提取特殊模型的流程图。首先执行步骤A1,根据扫描数据,筛选出每个物理块中可正常读写的物理页,登记每个物理块可以正常读写的物理页数,然后执行步骤A2,得到当前筛选的物理块的物理坏页(Bad Page,BP)的编号和个数,接着执行步骤A3,根据物理坏页数的多少将每个物理块归类,通过执行步骤A4,将物理坏页数少物理块的归类到物理坏页数多的物理块,接着执行步骤A5,得到不同物理坏页数的物理块可用的容量,然后执行步骤A6,将物理块集合中最多的相同物理坏页的物理块作为普通模型,其他的物理块作为特殊模型。
[0037] 图3为本发明存储器坏区的数据备份方法的物理块数和物理坏页数的关系示意图。物理坏页数少的物理页模型被物理坏页数多的物理页模型包含,从而物理坏页数最多的物理页模型包含的物理页模型数最多,即可用物理块数最多,通过映射关系可知,对应的逻辑块数也最多,下面为物理块数和物理坏页数( )的关系式:
[0038] (1)=N
[0039] (2)=N+M
[0040] (3)=N+M+K
[0041] 结合图4,图4为物理块集合的分组示意图,在确认普通模型时,需要在每个物理块集合中把具有相同物理页模型的物理块归为一个小组,并把符合相同物理页模型的物理块数最多的小组设置为普通模型(Common Model,CM),普通模型只有一个,把其他小组设置为特殊模型(Special Model,SM)。两种模型物理块集合的总容量 与特殊模型的个数、普通模型个数 、物理块的总物理页数 、物理坏页数 的满足如下关系:
[0042]
[0043] 下面结合图5至图8说明物理块分类后的地址映射转换关系。通过扫描后的可用的物理块分为两种属性块,即特殊模型块和普通模型块,特殊模型块和普通模型块的地址映射转换通过选用图5所示的内存和Nand-Flash混合存储的三级映射来解决,其中第一级映射为逻辑块属性映射,第二级映射为特殊模型块的存储地址映射,第三级映射为逻辑页属性映射。
[0044] 第一级映射中特殊模型块和普通模型块对应的逻辑块属性映射表(Block Map Table)用1bit表示一个物理块,1表示特殊模型块属性,0表示普通模型块属性,逻辑块属性映射表的长度( )可以表示为 ,,其中 为物理块个数,图6所示的特殊模型块集合的坏页映射示意图,构成图7所示的一级映射图(Block Map)。逻辑块属性映射表长度 随Nand-Flash的物理块数的增加而增长,逻辑块属性映射表在内存中常驻以降低对读写性能的影响。
[0045] 第三级映射中特殊模型块(Special Model Block,SMB)的逻辑页与物理页的映射按bit存储,1表示可用物理页,0表示物理坏页(BP),一个特殊模型块对应一个逻辑页映射表(Page Map Table),则逻辑页映射表长度 与Nand-Flash物理页数 的关系满足,其中 为物理页数,以bit存储的逻辑页映射表的存取构成了图5中的第三级映射,特殊模型块越多逻辑页映射表则越大, 随着特殊模型块个数的增多而加长,将特殊模型块对应的逻辑页映射表放入Nand-Flash中可以减少内存消耗,在内存中建立逻辑页映射表与逻辑块属性映射表之间的映射,如图5中的第二级映射。
[0046] 第二级映射中,结合图8的第二级映射展开图可知,第二级映射展开图是通过一个3Byte的单元存储结构构成的,其中低21bit构成对应特殊模型块的物理块和物理页的物理地址,列(Column)地址用高3bit作为Index,与之对应八个列地址,八个列地址独立存放,占用16Byte的内存(LC)。
[0047] 第二级映射结构寻址范围可以支持从0到213,即8192个物理块,当前8192个物理块存在可以正常读写的物理块时,即可满足第二级映射结构条件。3Byte地址指向的存储区域能存放的逻辑页映射表的个数则由内存的大小决定。数据包的大小 和单个数据包可放逻辑页映射表数 ,满足关系 。由于一个数据包对应一个3Byte的内存空间,每增加一个特殊模型块就需要增加3Byte。设特殊模型块数量为 ,那么存放数据包地址的内存空间 满足:
[0048]
[0049] 如果超出的特殊模型块不足以填满一个数据包,则以一个数据包来计算。
[0050] 普通模型块(Common Model Block,CMB)集合是有规律物理页出错的物理块的归类,所以对应的逻辑页映射表只有一种,不用存入Nand-Flash,否则会拉低读写性能。普通模型块对应的逻辑页映射表常驻在内存中,占用内存空间为 ,则整个三级映射对内存的消耗总和为 + + ,内存的总消耗可以根据Nand-Flash类型和控制器进行动态调整。
[0051] 以物理页数为256的Nand-Flash为例,单个物理块对应的 。考虑到BCH编码数据会影响到逻辑页映射表存放的有效载荷,故选用256Byte作为逻辑页映射表在Nand-Flash的最小存储单元,最常见的物理页数为256(PMT=32Byte)的Nand-Flash,
256Byte可以存四个逻辑页映射表,在连续数据存储的情况下,四个连续的特殊模型块切换一次。在连续读写的情况下,一般的Nand-Flash 16M才会触发一次,对读写性能影响可以忽略。
[0052] 参见图9,图9为本发明的备份方法流程图。首先执行步骤S1,将访问的LBA(逻辑寻址)地址转换为逻辑块地址,然后执行捕捉S2,将特殊模型块的逻辑页映射表读入逻辑页映射表或将普通模型块的逻辑页映射表读入内存,接着执行步骤S3,进行物理页备份,然后执行步骤S4,对物理块进行数据校验,之后执行步骤S5,擦除备份物理块,并使备份物理块进入交换循环区。
[0053] 结合图10可知逻辑页映射表读入步骤S2的具体步骤流程,首先执行步骤S21,判断当前逻辑块是否分配了备份的物理块,若是,执行步骤S23,否则执行步骤S22,准备数据备份物理块,然后执行步骤S23。在步骤S23中,根据映射关系找到当前逻辑块对应的物理块;然后执行步骤S24,判断该物理块是否与上次操作的物理块相同,若是则执行步骤S3,进入物理页备份步骤,否则执行步骤S25,判断该物理块是否为特殊模型块,若是则说明该物理块为特殊模型块且和上次读入Nand-Flash的逻辑页映射表不一致,需要执行步骤S26,重新读入对应的逻辑页映射表,否则说明该物理块为普通模型块,由于普通模型块的逻辑页映射表存储在Nand-Flash中,所以不需要重新读入逻辑页映射表,即接着执行步骤S3。
[0054] 结合图11可知物理页备份步骤S3的具体步骤流程,首先执行步骤S31,根据逻辑页映射表编程逻辑页对应的物理页;然后执行步骤S32,同步把同样的数据编程进之前准备好的备份物理块对应的A列/SLC列的物理页,对物理页数据进行备份;接着执行步骤S33,判断与逻辑块对应的物理块是否写到最后一个逻辑页,若是则执行步骤S4,进入物理块校验步骤,否则返回步骤S31进行循环。
[0055] 结合图12可知物理块校验步骤S4的具体步骤流程,首先执行步骤S41,判断利用一个ECC单元对物理块进行校验是否成功,若是执行步骤S5,进入备份物理块擦除步骤,否则执行步骤S42,搬迁整理一个完整逻辑块的数据 ,将备份物理块的数据作为出错的逻辑页的新逻辑块的数据源进行数据搬迁,搬迁完成后回到步骤S41,继续校验新整理的逻辑块进行循环。
[0056] 在本发明的备份方法流程图的步骤S3和步骤S4中多操作了一个备份物理块,增加了数据DMA(直接内存存取)和物理页编程的RB(Resource Block,频率上连续12个子载波,时域上一个slot)时间,增加的时间会对读写性能产生影响,本发明主要采用以下两种方法减小备份物理块带来的影响:1、采用Nand-Flash的Copyback命令节省数据DMA的时间。Copyback命令可以将一个页的数据拷贝到另一个页,不需要外部的存储空间,可以直接读取数据到页寄存器然后写到新页中,但由于整个物理页的数据均没有进行纠错处理,从而会在Copyback指令对应的物理页产生错误积累(一个物理页的错误bit数累积到另一个物理页),导致数据老化影响准确率,该方法只有在Nand-Flash整体数据错误率较低的情况下使用。2、在数据DMA以及RB时间均不能节省的前提下,可以优先选用RB时间短的物理页来备份数据,比如MLC Flash的A列,TLC Flash的SLC 列,用大于等于两个A列/SLC列的物理块备份一个逻辑块的数据,可以在不影响数据完整性的前提下,减小对数据读写性能的影响。
[0057] 由上可见,本发明的存储器坏区的数据备份方法能够在数据稳定性有保证且对读写性能影响不大的前提下把随机坏掉的物理页的物理块的剩余容量利用起来,提高容量的优良率和Nand-Flash的使用率。