数据保护方法和系统的制作方法

文档序号:6372404阅读:166来源:国知局
专利名称:数据保护方法和系统的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及ー种数据保护方法和系统。
背景技术
目前的固态硬盘的存储通常使用的都是Nand Flash,由于Nand Flash自身的特点,必须为Nand Flash提供FTL(Flash Translation Layer,闪存转换层)数据表,FTL通常需要各种各样的表,为了提高工作的效率,工作时这些表一般都存储在易失性的存储器RAM (random access memory,随机存储器)中,掉 电时需要将这些表及时的写入Nand Flash中进行保存。FTL的表通常都比较大,在掉电时将它们完全写入Nand Flash需要较长的时间。现有技术解决该问题可以分为两类方法一类是在向Nand Flash写入用户数据的同时,附帯将相关信息(一般称为原数据)写入,掉电时不管RAM中的FTL的表,下次上电时再遍历整个Nand Flash空间,恢复FTL的表。这种方法在异常掉电后的第一次上电需要的时间非常长,由于固态硬盘容量的不同,通常需要几分钟甚至几个小时的恢复时间。另ー类是利用大容量储能器件,存储大量的能量,在掉电时延迟固态硬盘的掉电时间,利用这段时间将FTL的表写入Nand Flash。根据具体FTL表的大小,通常需要延迟掉电时间几十ms甚至几秒时间。因此需要很大容量的储能器件,占用大量的固态硬盘空间。综上可知,现有的固态硬盘的数据掉电保护技术,在实际使用上显然存在不便与缺陷,所以有必要加以改迸。

发明内容
针对上述的缺陷,本发明的目的在于提供ー种数据保护方法和系统,使固态硬盘掉电时缩短保护数据的写入时间及上电后FTL数据表的恢复时间。为了实现上述目的,本发明提供ー种数据保护方法,应用于固态硬盘,所述方法包括在用于存储闪存转换层数据表的易失性存储器中建立一存储区域,当所述闪存转换层数据表有更新时,所述存储区域存储所述闪存转换层数据表的更新记录;当所述更新记录达到第一预设单元值时,将所述更新记录写入非易失性存储器;当所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器。根据本发明的数据保护方法,所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列。根据本发明的数据保护方法,所述第一预设单元值为ー个Flash page,所述更新记录的Flash page按时间顺序排列。根据本发明的数据保护方法,所述方法还包括所述固态硬盘掉电吋,将所述易失性存储器中的最后ー个Flash page的更新记录写入所述非易失性存储器。
根据本发明的数据保护方法,所述方法还包括所述固态硬盘上电吋,将所述非易失存储器中的闪存转换层数据表读取到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。本发明还提供一种数据保护系统,应用于固态硬盘,所述系统包括储能元件、易失性存储器、非易失性存储器及掉电保护控制器,所述易失性存储器储存有闪存转换层数据表,且所述易失性存储器还具有一存储区域,用于当所述闪存转换层数据表有更新时,存储所述闪存转换层数据表的更新记录;所述掉电保护控制器用于所述更新记录达到第一预设单元值时,将所述更新记录写入所述非易失性存储器; 所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器;所述储能元件用于在所述固态硬盘掉电时,为所述固态硬盘供电。根据本发明的数据保护系统,所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列。根据本发明的数据保护系统,所述第一预设单元值为ー个Flash page,所述更新记录的Flash page按时间顺序排列。根据本发明的数据保护系统,所述掉电保护控制器还用于在所述固态硬盘掉电吋,将所述易失性存储器中的最后ー个Flash page的更新记录写入所述非易失性存储器。根据本发明的数据保护系统,所述掉电保护控制器还用于在所述固态硬盘上电吋,将所述非易失存储器中的闪存转换层数据表读取到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。本发明通过在易失性存储器内部建立一存储区域,用于存储FTL数据表的更新记录,当该记录达到第一预设的単元值时,将其写入到固态硬盘的非易失性存储器,借此保证在易失性存储器中最多只有ー个第一预设单元值的的更新记录没有被保护,掉电时只需要将这个还在易失性存储器中的更新记录写入固态硬盘的非易失性存储器即可,大大缩短掉电时保护数据的写入时间。另外,当更新记录达到第二预设的単元值时,将最新的FTL数据表写入非易失性存储器。在固态硬盘上电时,只要将其非易失性存储器中的FTL数据表搬移到易失性存储器中,并且根据非易失性存储器中保存的更新记录,即可将FTL数据表更新到最新状态,大大缩短了 FTL数据表的恢复时间。


图I是本发明的数据保护系统的结构示意图;图2是本发明优选实施例的数据保护系统的结构示意图;图3是本发明的数据保护方法的流程图;图4是本发明优选实施例的数据保护方法的流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。參见图1,本发明提供了一种应用于固态硬盘的数据保护系统,该数据保护系统100包括储能元件10、易失性存储器20、非易失性存储器30和掉电保护控制器40。其中储能元件10在固态硬盘正常工作时存储电能,其可以是电容或是电池元件,当固态硬盘异常掉电时,储能元件10对固态硬盘提供电能,借此使固态硬盘可以处理需要保护的数据。易失性存储器20作为固态硬盘的缓存机构,本发明的实施例中,优选采用RAM,其 储存有FTL数据表。同时,该易失性存储器20内部还有另外一存储区域,用于当FTL数据表有更新时,存储所述FTL数据表的更新记录。非易失性存储器30是固态硬盘的主储存机构,其具有Flash阵列,且在实际应用中,优选采用Nand Flash作为存储介质。具体应用中,用户可以为FTL数据表的更新记录设定第一预设单元值和第二预设単元值,当所述FTL数据表的更新记录达到第一预设单元值时,掉电保护控制器40将所述更新记录写入非易失性存储器30,当所述FTL数据表的更新记录达到第二预设单元值时,掉电保护控制器40将最新的FTL数据表写入非易失性存储器30。本发明的优选实施例中,结合图2,第一预设单元值为ー个Flash page,当RAM中的FTL数据表的更新记录达到ー个Flash page时,掉电保护控制器40将该Flash page的更新记录写入Nand Flash 30进行储存,如果有持续更新,则当FTL数据表的更新记录再达到另一个Flash page时,同样将该Flash page的更新记录写入Nand Flash 30进行保存,且各个更新记录的Flash page按照时间顺序排列于RAM 20的储存区域,固态硬盘持续执行该进程,借此可保证RAM 20中最多只有ー个Flash page的FTL数据表的更新记录没有写入Nand Flash 30。当固态硬盘异常掉电时,掉电保护控制器40可以将RAM 20中的最后ー个Flashpage的更新记录写入Nand Flash 30,借此大大缩短了掉电时数据的写入时间。更好的,当固态硬盘异常掉电后进行上电,掉电保护控制器40将RAM 20中的FTL数据表读取到Nand Flash 30,再根据Nand Flash 30中的更新记录更新RAM 20中的FTL数据表,借此使作为缓存的RAM 20中的FTL数据表恢复到最新状态,大大缩短FTL数据表的恢复时间。本发明的另ー实施例中,若当前Flash page的更新记录已被写入Nand Flash30,则掉电保护控制器40可以控制RAM 20的储存区域,将已被写入Nand Flash30的所有FTL数据表的更新记录的Flash page删除并记录被删除的Flash page的个数,仅在RAM 20中保留未被写入Nand Flash 30的Flash page,借此可以大大节省RAM空间。參见图3,本发明提供了ー种数据保护方法,其可以通过如图I或图2所示的固态硬盘的数据保护系统100实现,该方法包括步骤S301,在储存FTL数据表的易失性存储器20内建立一存储区域,当FTL数据表有更新吋,该存储区域存储所述FTL数据表的更新记录。本发明的实施例中,作为缓存机构的易失性存储器20优选采用RAM,其在掉电保护控制器40的控制下,划分出一存储区域,用于单独存储FTL数据表的更新记录。步骤S302,FTL数据表的更新记录达到第一预设单元值时,掉电保护控制器40将所述更新记录写入非易失性存储器30。非易失性存储器30是固态硬盘的主存储结构,其优选采用Nand Flash芯片,第一预设单元值为ー个Flash page的大小,即,当RAM中FTL数据表的更新记录达到ー个Flashpage时,掉电保护控制器40将该Flash page的数据记录写入Nand Flash进行储存,若未达到ー个Flash page,则继续等待,不作其它处理。步骤S303,FTL数据表的更新记录达到第二预设单元值时,掉电保护控制器40将最新的FTL数据表写入非易失性存储器30。具体的,第二预设单元值应大于第一预设单元值,比如,第二预设单元值可以为三个Flash page大小,当RAM中的FTL数据表的更新记录达到三个Flash page,则掉电保护控制器40将最新的FTL数据表写入到Nand Flash保存。

參见图4,本发明另一实施例提供的数据保护方法流程图,该方法包括步骤S401,RAM 20中的FTL数据表有更新时,判断更新记录是否达到ー个Flashpage,若是则执行步骤S402,否则等待,不作其它处理。步骤S402,将最近一个Flash page的更新记录写入Nand Flash 30。步骤S403,判断更新记录是否达到第二预设单元值,若是则执行步骤S404。步骤S404,将最新的FTL数据表写入Nand Flash 30。步骤S405,判断固态硬盘是否异常掉电,若是,则执行步骤S406,否则固态硬盘正
常工作。步骤S406,将最后一个Flash page的更新记录写入到Nand Flash 30。步骤S407,判断固态硬盘是否上电,若是则执行步骤S408,否则不作处理。步骤S408,将Nand Flash 30中最新的FTL数据表读取到RAM 20中。步骤S409,读取Nand Flash 30中的更新记录,并修改RAM 20中的FTL数据表,使其恢复到最新状态。该步骤中,需遍历FTL数据更新记录,直至最后ー个Flash page。综上所述,本发明通过在易失性存储器内部建立一存储区域,用于存储FTL数据表的更新记录,当该记录达到第一预设的単元值时,将其写入到固态硬盘的非易失性存储器,借此保证在易失性存储器中最多只有ー个第一预设单元值的的更新记录没有被保护,掉电时只需要将这个还在易失性存储器中的更新记录写入固态硬盘的非易失性存储器即可,大大缩短掉电时保护数据的写入时间。另外,当更新记录达到第二预设的単元值时,将最新的FTL数据表写入非易失性存储器。在固态硬盘上电时,只要将其非易失性存储器中的FTL数据表搬移到易失性存储器中,并且根据非易失性存储器中保存的更新记录,即可将FTL数据表更新到最新状态,大大缩短了 FTL数据表的恢复时间。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种数据保护方法,应用于固态硬盘,其特征在于,所述方法包括 在用于存储闪存转换层数据表的易失性存储器中建立一存储区域,当所述闪存转换层数据表有更新时,所述存储区域存储所述闪存转换层数据表的更新记录; 当所述更新记录达到第一预设单元值时,将所述更新记录写入非易失性存储器; 当所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器。
2.根据权利要求I所述的数据保护方法,其特征在于,所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列。
3.根据权利要求2所述的数据保护方法,其特征在于,所述第一预设单元值为一个Flash page,所述更新记录的Flash page按时间顺序排列。
4.根据权利要求3所述的数据保护方法,其特征在于,所述方法还包括所述固态硬盘掉电时,将所述易失性存储器中的最后一个Flash page的更新记录写入所述非易失性存储器。
5.根据权利要求4所述的数据保护方法,其特征在于,所述方法还包括所述固态硬盘上电时,读取所述非易失存储器中的闪存转换层数据表,将所述闪存转换层数据表复制到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。
6.一种数据保护系统,应用于固态硬盘,所述系统包括储能元件、易失性存储器、非易失性存储器及掉电保护控制器,其特征在于, 所述易失性存储器储存有闪存转换层数据表,且所述易失性存储器还具有一存储区域,用于当所述闪存转换层数据表有更新时,存储所述闪存转换层数据表的更新记录; 所述掉电保护控制器用于 所述更新记录达到第一预设单元值时,将所述更新记录写入所述非易失性存储器; 所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器; 所述储能元件用于在所述固态硬盘掉电时,为所述固态硬盘供电。
7.根据权利要求6所述的数据保护系统,其特征在于,所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列。
8.根据权利要求7所述的数据保护系统,其特征在于,所述第一预设单元值为一个Flash page,所述更新记录的Flash page按时间顺序排列。
9.根据权利要求8所述的数据保护系统,其特征在于,所述掉电保护控制器还用于在所述固态硬盘掉电时,将所述易失性存储器中的最后一个Flash page的更新记录写入所述非易失性存储器。
10.根据权利要求9所述的数据保护系统,其特征在于,所述掉电保护控制器还用于在所述固态硬盘上电时,读取所述非易失存储器中的闪存转换层数据表,将所述闪存转换层数据表复制到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。
全文摘要
本发明提供了一种数据保护方法,应用于固态硬盘,包括在存储FTL数据表的易失性存储器中建立一存储区域,当FTL数据表有更新时,存储其更新记录;当更新记录达到第一预设单元值时,将更新记录写入非易失性存储器;当更新记录达到第二预设单元值时,将最新的FTL数据表写入非易失性存储器。更好的是,第一预设单元值采用一个Flash page,当固态硬盘掉电时,可将最后一个Flash page的更新记录写入非易失性存储器,上电时,可将非易失存储器中的FTL数据表读取到易失性存储器,再根据非易失性存储器中的更新记录更新所述易失性存储器中的FTL数据表。借此,可以大大缩短保护数据的写入时间及FTL数据表的恢复时间。
文档编号G06F12/16GK102789431SQ20121022254
公开日2012年11月21日 申请日期2012年6月29日 优先权日2012年6月29日
发明者陈宏彬 申请人:记忆科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1