CN102789431B - 数据保护方法和系统 - Google Patents
数据保护方法和系统 Download PDFInfo
- Publication number
- CN102789431B CN102789431B CN201210222546.2A CN201210222546A CN102789431B CN 102789431 B CN102789431 B CN 102789431B CN 201210222546 A CN201210222546 A CN 201210222546A CN 102789431 B CN102789431 B CN 102789431B
- Authority
- CN
- China
- Prior art keywords
- data
- new record
- ftl
- tables
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提供了一种数据保护方法,应用于固态硬盘,包括:在存储FTL数据表的易失性存储器中建立一存储区域,当FTL数据表有更新时,存储其更新记录;当更新记录达到第一预设单元值时,将更新记录写入非易失性存储器;当更新记录达到第二预设单元值时,将最新的FTL数据表写入非易失性存储器。更好的是,第一预设单元值采用一个Flash?page,当固态硬盘掉电时,可将最后一个Flash?page的更新记录写入非易失性存储器,上电时,可将非易失存储器中的FTL数据表读取到易失性存储器,再根据非易失性存储器中的更新记录更新所述易失性存储器中的FTL数据表。借此,可以大大缩短保护数据的写入时间及FTL数据表的恢复时间。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据保护方法和系统。
背景技术
目前的固态硬盘的存储通常使用的都是NandFlash,由于NandFlash自身的特点,必须为NandFlash提供FTL(FlashTranslationLayer,闪存转换层)数据表,FTL通常需要各种各样的表,为了提高工作的效率,工作时这些表一般都存储在易失性的存储器RAM(randomaccessmemory,随机存储器)中,掉电时需要将这些表及时的写入NandFlash中进行保存。FTL的表通常都比较大,在掉电时将它们完全写入NandFlash需要较长的时间。
现有技术解决该问题可以分为两类方法:一类是在向NandFlash写入用户数据的同时,附带将相关信息(一般称为原数据)写入,掉电时不管RAM中的FTL的表,下次上电时再遍历整个NandFlash空间,恢复FTL的表。这种方法在异常掉电后的第一次上电需要的时间非常长,由于固态硬盘容量的不同,通常需要几分钟甚至几个小时的恢复时间。
另一类是利用大容量储能器件,存储大量的能量,在掉电时延迟固态硬盘的掉电时间,利用这段时间将FTL的表写入NandFlash。根据具体FTL表的大小,通常需要延迟掉电时间几十ms甚至几秒时间。因此需要很大容量的储能器件,占用大量的固态硬盘空间。
综上可知,现有的固态硬盘的数据掉电保护技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种数据保护方法和系统,使固态硬盘掉电时缩短保护数据的写入时间及上电后FTL数据表的恢复时间。
为了实现上述目的,本发明提供一种数据保护方法,应用于固态硬盘,所述方法包括:
在用于存储闪存转换层数据表的易失性存储器中建立一存储区域,当所述闪存转换层数据表有更新时,所述存储区域存储所述闪存转换层数据表的更新记录;
当所述更新记录达到第一预设单元值时,将所述更新记录写入非易失性存储器;
当所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器。
根据本发明的数据保护方法,所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列。
根据本发明的数据保护方法,所述第一预设单元值为一个Flashpage,所述更新记录的Flashpage按时间顺序排列。
根据本发明的数据保护方法,所述方法还包括:所述固态硬盘掉电时,将所述易失性存储器中的最后一个Flashpage的更新记录写入所述非易失性存储器。
根据本发明的数据保护方法,所述方法还包括:所述固态硬盘上电时,将所述非易失存储器中的闪存转换层数据表读取到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。
本发明还提供一种数据保护系统,应用于固态硬盘,所述系统包括储能元件、易失性存储器、非易失性存储器及掉电保护控制器,
所述易失性存储器储存有闪存转换层数据表,且所述易失性存储器还具有一存储区域,用于当所述闪存转换层数据表有更新时,存储所述闪存转换层数据表的更新记录;
所述掉电保护控制器用于:
所述更新记录达到第一预设单元值时,将所述更新记录写入所述非易失性存储器;
所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器;
所述储能元件用于在所述固态硬盘掉电时,为所述固态硬盘供电。
根据本发明的数据保护系统,所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列。
根据本发明的数据保护系统,所述第一预设单元值为一个Flashpage,所述更新记录的Flashpage按时间顺序排列。
根据本发明的数据保护系统,所述掉电保护控制器还用于在所述固态硬盘掉电时,将所述易失性存储器中的最后一个Flashpage的更新记录写入所述非易失性存储器。
根据本发明的数据保护系统,所述掉电保护控制器还用于在所述固态硬盘上电时,将所述非易失存储器中的闪存转换层数据表读取到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。
本发明通过在易失性存储器内部建立一存储区域,用于存储FTL数据表的更新记录,当该记录达到第一预设的单元值时,将其写入到固态硬盘的非易失性存储器,借此保证在易失性存储器中最多只有一个第一预设单元值的的更新记录没有被保护,掉电时只需要将这个还在易失性存储器中的更新记录写入固态硬盘的非易失性存储器即可,大大缩短掉电时保护数据的写入时间。另外,当更新记录达到第二预设的单元值时,将最新的FTL数据表写入非易失性存储器。在固态硬盘上电时,只要将其非易失性存储器中的FTL数据表搬移到易失性存储器中,并且根据非易失性存储器中保存的更新记录,即可将FTL数据表更新到最新状态,大大缩短了FTL数据表的恢复时间。
附图说明
图1是本发明的数据保护系统的结构示意图;
图2是本发明优选实施例的数据保护系统的结构示意图;
图3是本发明的数据保护方法的流程图;
图4是本发明优选实施例的数据保护方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种应用于固态硬盘的数据保护系统,该数据保护系统100包括储能元件10、易失性存储器20、非易失性存储器30和掉电保护控制器40。其中:
储能元件10在固态硬盘正常工作时存储电能,其可以是电容或是电池元件,当固态硬盘异常掉电时,储能元件10对固态硬盘提供电能,借此使固态硬盘可以处理需要保护的数据。
易失性存储器20作为固态硬盘的缓存机构,本发明的实施例中,优选采用RAM,其储存有FTL数据表。同时,该易失性存储器20内部还有另外一存储区域,用于当FTL数据表有更新时,存储所述FTL数据表的更新记录。
非易失性存储器30是固态硬盘的主储存机构,其具有Flash阵列,且在实际应用中,优选采用NandFlash作为存储介质。
具体应用中,用户可以为FTL数据表的更新记录设定第一预设单元值和第二预设单元值,当所述FTL数据表的更新记录达到第一预设单元值时,掉电保护控制器40将所述更新记录写入非易失性存储器30,当所述FTL数据表的更新记录达到第二预设单元值时,掉电保护控制器40将最新的FTL数据表写入非易失性存储器30。
本发明的优选实施例中,结合图2,第一预设单元值为一个Flashpage,当RAM中的FTL数据表的更新记录达到一个Flashpage时,掉电保护控制器40将该Flashpage的更新记录写入NandFlash30进行储存,如果有持续更新,则当FTL数据表的更新记录再达到另一个Flashpage时,同样将该Flashpage的更新记录写入NandFlash30进行保存,且各个更新记录的Flashpage按照时间顺序排列于RAM20的储存区域,固态硬盘持续执行该进程,借此可保证RAM20中最多只有一个Flashpage的FTL数据表的更新记录没有写入NandFlash30。当固态硬盘异常掉电时,掉电保护控制器40可以将RAM20中的最后一个Flashpage的更新记录写入NandFlash30,借此大大缩短了掉电时数据的写入时间。
更好的,当固态硬盘异常掉电后进行上电,掉电保护控制器40将RAM20中的FTL数据表读取到NandFlash30,再根据NandFlash30中的更新记录更新RAM20中的FTL数据表,借此使作为缓存的RAM20中的FTL数据表恢复到最新状态,大大缩短FTL数据表的恢复时间。
本发明的另一实施例中,若当前Flashpage的更新记录已被写入NandFlash30,则掉电保护控制器40可以控制RAM20的储存区域,将已被写入NandFlash30的所有FTL数据表的更新记录的Flashpage删除并记录被删除的Flashpage的个数,仅在RAM20中保留未被写入NandFlash30的Flashpage,借此可以大大节省RAM空间。
参见图3,本发明提供了一种数据保护方法,其可以通过如图1或图2所示的固态硬盘的数据保护系统100实现,该方法包括:
步骤S301,在储存FTL数据表的易失性存储器20内建立一存储区域,当FTL数据表有更新时,该存储区域存储所述FTL数据表的更新记录。
本发明的实施例中,作为缓存机构的易失性存储器20优选采用RAM,其在掉电保护控制器40的控制下,划分出一存储区域,用于单独存储FTL数据表的更新记录。
步骤S302,FTL数据表的更新记录达到第一预设单元值时,掉电保护控制器40将所述更新记录写入非易失性存储器30。
非易失性存储器30是固态硬盘的主存储结构,其优选采用NandFlash芯片,第一预设单元值为一个Flashpage的大小,即,当RAM中FTL数据表的更新记录达到一个Flashpage时,掉电保护控制器40将该Flashpage的数据记录写入NandFlash进行储存,若未达到一个Flashpage,则继续等待,不作其它处理。
步骤S303,FTL数据表的更新记录达到第二预设单元值时,掉电保护控制器40将最新的FTL数据表写入非易失性存储器30。
具体的,第二预设单元值应大于第一预设单元值,比如,第二预设单元值可以为三个Flashpage大小,当RAM中的FTL数据表的更新记录达到三个Flashpage,则掉电保护控制器40将最新的FTL数据表写入到NandFlash保存。
参见图4,本发明另一实施例提供的数据保护方法流程图,该方法包括:
步骤S401,RAM20中的FTL数据表有更新时,判断更新记录是否达到一个Flashpage,若是则执行步骤S402,否则等待,不作其它处理。
步骤S402,将最近一个Flashpage的更新记录写入NandFlash30。
步骤S403,判断更新记录是否达到第二预设单元值,若是则执行步骤S404。
步骤S404,将最新的FTL数据表写入NandFlash30。
步骤S405,判断固态硬盘是否异常掉电,若是,则执行步骤S406,否则固态硬盘正常工作。
步骤S406,将最后一个Flashpage的更新记录写入到NandFlash30。
步骤S407,判断固态硬盘是否上电,若是则执行步骤S408,否则不作处理。
步骤S408,将NandFlash30中最新的FTL数据表读取到RAM20中。
步骤S409,读取NandFlash30中的更新记录,并修改RAM20中的FTL数据表,使其恢复到最新状态。该步骤中,需遍历FTL数据更新记录,直至最后一个Flashpage。
综上所述,本发明通过在易失性存储器内部建立一存储区域,用于存储FTL数据表的更新记录,当该记录达到第一预设的单元值时,将其写入到固态硬盘的非易失性存储器,借此保证在易失性存储器中最多只有一个第一预设单元值的的更新记录没有被保护,掉电时只需要将这个还在易失性存储器中的更新记录写入固态硬盘的非易失性存储器即可,大大缩短掉电时保护数据的写入时间。另外,当更新记录达到第二预设的单元值时,将最新的FTL数据表写入非易失性存储器。在固态硬盘上电时,只要将其非易失性存储器中的FTL数据表搬移到易失性存储器中,并且根据非易失性存储器中保存的更新记录,即可将FTL数据表更新到最新状态,大大缩短了FTL数据表的恢复时间。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种数据保护方法,应用于固态硬盘,其特征在于,所述方法包括:
在用于存储闪存转换层数据表的易失性存储器中建立一存储区域,当所述闪存转换层数据表有更新时,所述存储区域存储所述闪存转换层数据表的更新记录;
当所述更新记录达到第一预设单元值时,将所述更新记录写入非易失性存储器;
当所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器;
所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列;
所述第一预设单元值为一个Flashpage,所述更新记录的Flashpage按时间顺序排列;所述第二预设单元值大于第一预设单元值。
2.根据权利要求1所述的数据保护方法,其特征在于,所述方法还包括:所述固态硬盘掉电时,将所述易失性存储器中的最后一个Flashpage的更新记录写入所述非易失性存储器。
3.根据权利要求2所述的数据保护方法,其特征在于,所述方法还包括:所述固态硬盘上电时,读取所述非易失存储器中的闪存转换层数据表,将所述闪存转换层数据表复制到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。
4.一种数据保护系统,应用于固态硬盘,所述系统包括储能元件、易失性存储器、非易失性存储器及掉电保护控制器,其特征在于,
所述易失性存储器储存有闪存转换层数据表,且所述易失性存储器还具有一存储区域,用于当所述闪存转换层数据表有更新时,存储所述闪存转换层数据表的更新记录;
所述掉电保护控制器用于:
所述更新记录达到第一预设单元值时,将所述更新记录写入所述非易失性存储器;
所述更新记录达到第二预设单元值时,将最新的所述闪存转换层数据表写入所述非易失性存储器;
所述储能元件用于在所述固态硬盘掉电时,为所述固态硬盘供电;
所述易失性存储器为随机存储器,所述非易失性存储器包括Flash阵列;
所述第一预设单元值为一个Flashpage,所述更新记录的Flashpage按时间顺序排列,所述第二预设单元值大于第一预设单元值。
5.根据权利要求4所述的数据保护系统,其特征在于,所述掉电保护控制器还用于在所述固态硬盘掉电时,将所述易失性存储器中的最后一个Flashpage的更新记录写入所述非易失性存储器。
6.根据权利要求5所述的数据保护系统,其特征在于,所述掉电保护控制器还用于在所述固态硬盘上电时,读取所述非易失存储器中的闪存转换层数据表,将所述闪存转换层数据表复制到所述易失性存储器,再根据所述非易失性存储器中的更新记录更新所述易失性存储器中的闪存转换层数据表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210222546.2A CN102789431B (zh) | 2012-06-29 | 2012-06-29 | 数据保护方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210222546.2A CN102789431B (zh) | 2012-06-29 | 2012-06-29 | 数据保护方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102789431A CN102789431A (zh) | 2012-11-21 |
CN102789431B true CN102789431B (zh) | 2015-11-25 |
Family
ID=47154835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210222546.2A Active CN102789431B (zh) | 2012-06-29 | 2012-06-29 | 数据保护方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102789431B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268294A (zh) * | 2013-04-19 | 2013-08-28 | 深圳创维数字技术股份有限公司 | 一种存取数据的操作方法和数据处理设备 |
CN103425605A (zh) * | 2013-07-26 | 2013-12-04 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电保护及快速启动方法、系统 |
US10037071B2 (en) * | 2015-02-25 | 2018-07-31 | Texas Instruments Incorporated | Compute through power loss approach for processing device having nonvolatile logic memory |
CN106445400B (zh) * | 2015-08-05 | 2019-05-24 | 宏碁股份有限公司 | 计算机系统及非挥发性存储器的控制方法 |
US10452594B2 (en) | 2015-10-20 | 2019-10-22 | Texas Instruments Incorporated | Nonvolatile logic memory for computing module reconfiguration |
US11294442B2 (en) | 2017-02-01 | 2022-04-05 | Hewlett-Packard Development Company, L.P. | Delay of power off to write data from volatile to non-volatile memory of a solid state drive |
CN108255630A (zh) * | 2017-11-29 | 2018-07-06 | 深圳忆联信息系统有限公司 | 一种降低固态硬盘异常掉电处理时间的方法 |
CN109213690A (zh) * | 2018-09-21 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 一种l2p表的重建方法及相关装置 |
CN111831213A (zh) * | 2019-04-19 | 2020-10-27 | 北京京东乾石科技有限公司 | 数据记录方法和装置 |
CN111142792B (zh) * | 2019-12-17 | 2022-11-22 | 尧云科技(西安)有限公司 | 一种存储装置的掉电保护方法 |
CN112571408B (zh) * | 2020-12-09 | 2023-03-24 | 中电科鹏跃电子科技有限公司 | 一种掉电可恢复运行状态的机械手控制系统及控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102193745A (zh) * | 2010-03-05 | 2011-09-21 | 群联电子股份有限公司 | 快闪存储器储存装置、其控制器与写入管理方法 |
CN102253868A (zh) * | 2010-05-21 | 2011-11-23 | 联发科技股份有限公司 | 用于数据恢复的方法以及用于数据恢复的装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101477047B1 (ko) * | 2008-02-29 | 2014-12-30 | 삼성전자주식회사 | 메모리 시스템 및 그것의 블록 병합 방법 |
-
2012
- 2012-06-29 CN CN201210222546.2A patent/CN102789431B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102193745A (zh) * | 2010-03-05 | 2011-09-21 | 群联电子股份有限公司 | 快闪存储器储存装置、其控制器与写入管理方法 |
CN102253868A (zh) * | 2010-05-21 | 2011-11-23 | 联发科技股份有限公司 | 用于数据恢复的方法以及用于数据恢复的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102789431A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102789431B (zh) | 数据保护方法和系统 | |
TWI611293B (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
US20180059755A1 (en) | Memory system and controller | |
CN102043727B (zh) | 恢复固态硬盘映射表的方法及其装置 | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8473675B2 (en) | Memory system and information processing device | |
CN104268095A (zh) | 一种存储器及基于该存储器进行数据读/写操作的方法 | |
JP5990430B2 (ja) | Ssd(ソリッドステートドライブ)装置 | |
KR20100009464A (ko) | 메모리 스토리지 장치 및 그 제어 방법 | |
CN103530237B (zh) | 一种固态盘阵列的垃圾回收方法 | |
JP2017084342A (ja) | フラッシュメモリデバイスのための操作パラメータ | |
JP2013061799A (ja) | 記憶装置、記憶装置の制御方法およびコントローラ | |
CN107038131A (zh) | 固态硬盘断电保护装置及方法 | |
US10162561B2 (en) | Managing backup of logical-to-physical translation information to control boot-time and write amplification | |
JP2009181314A (ja) | 情報記録装置およびその制御方法 | |
TW201508749A (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
CN108874574B (zh) | 一种垃圾回收处理方法及相关装置 | |
CN107506311B (zh) | 一种固态硬盘的ftl表的刷写方法及装置 | |
CN103488572A (zh) | 数据储存装置及数据清除方法 | |
CN104834610A (zh) | 一种磁盘掉电保护电路及方法 | |
CN103412727A (zh) | 优化固态硬盘的删减命令的方法及其固态硬盘 | |
CN104850511A (zh) | 磁盘装置以及数据保存方法 | |
WO2014185038A1 (ja) | 半導体記憶装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |