CN101794261B - 映射表数据恢复方法及装置 - Google Patents

映射表数据恢复方法及装置 Download PDF

Info

Publication number
CN101794261B
CN101794261B CN 200910189539 CN200910189539A CN101794261B CN 101794261 B CN101794261 B CN 101794261B CN 200910189539 CN200910189539 CN 200910189539 CN 200910189539 A CN200910189539 A CN 200910189539A CN 101794261 B CN101794261 B CN 101794261B
Authority
CN
China
Prior art keywords
storage area
mapping table
identifier
data recovery
record
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
Application number
CN 200910189539
Other languages
English (en)
Other versions
CN101794261A (zh
Inventor
张彦伟
罗胜
李发生
成晓华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen SiliconGo Semiconductor Co., Ltd.
Original Assignee
SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd filed Critical SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd
Priority to CN 200910189539 priority Critical patent/CN101794261B/zh
Publication of CN101794261A publication Critical patent/CN101794261A/zh
Application granted granted Critical
Publication of CN101794261B publication Critical patent/CN101794261B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明揭示了一种映射表数据恢复方法及装置。所述映射表数据恢复方法,应用于非易失性存储器中,所述非易失性存储器包括至少一存储区域,包括步骤:建立针对所述存储区域的映射表,保存至所述存储区域中分配的存储空间;根据存储区域的标识符,建立映射表的存储地址的记录并保存;在对所述存储区域进行操作后,获取存储区域标识符进行保存;根据所述存储区域标识符提取对应的映射表,进行映射表数据恢复。所述映射表数据恢复装置,提高了数据恢复的速度,以及整个闪存系统的可靠性。

Description

映射表数据恢复方法及装置
技术领域
本发明涉及到数据恢复领域,特别涉及到一种映射表数据恢复方法及装置。
背景技术
现有技术中,Flash(闪存)系统在使用时,映射表通常存储在内存中,因此在掉电后该映射表数据将丢失。而Flash管理系统针对异常掉电进行的数据恢复处理时,通常都需要重新建立映射表。但是在掉电过程中,映射表往往只有很少的部分没有进行保存,大部分的数据都是可靠的,而不需要全部重建。
而现有Flash在掉电后再重新上电时,大多数情况下,都需将所有映射表数据恢复一次。如此,大大降低了映射表数据的恢复速度,以及数据的可靠性,造成资源浪费。
发明内容
本发明的目的之一为提供一种映射表数据恢复方法及装置,可提升存储装置的可靠性。
本发明提出一种映射表数据恢复方法,应用于非易失性存储器中,所述非易失性存储器包括至少一存储区域,包括步骤:
建立针对任意一所述存储区域的映射表,保存至所述存储区域中分配的存储空间;
根据存储区域的标识符,建立所述存储区域的标识符对应的映射表的存储地址的记录进行保存;
在对所述存储区域进行操作后,获取存储区域标识符进行保存;
根据所述存储区域标识符提取对应的映射表,进行映射表数据恢复。
优选地,根据所述存储区域标识符提取对应的映射表的步骤进一步包括步骤:
搜索最后保存的记录,提取存储区域标识符;
根据存储区域标识符获取对应的映射表的存储地址;
根据所述存储地址提取对应的映射表。
优选地,所述存储区域标识符包括:
下次操作存储区域的标识符。
优选地,所述存储区域标识符包括:
当前操作存储区域的标识符以及下次操作存储区域的标识符。
优选地,所述存储区域标识符为存储区域编号。
本发明还提出一种映射表数据恢复装置,应用于非易失性存储器中,所述非易失性存储器包括至少一存储区域,包括:
建表模块,建立针对任意一所述存储区域的映射表,保存至所述存储区域中分配的存储空间;
记录地址模块,根据存储区域的标识符,建立所述存储区域的标识符对应的映射表的存储地址的记录进行保存;
保存模块,在对所述存储区域进行操作后,获取存储区域标识符进行保存;
恢复模块,根据所述存储区域标识符提取对应的映射表,进行映射表数据恢复。
优选地,所述恢复模块进一步包括:
搜索记录单元,搜索最后保存的记录,提取存储区域标识符;
提取标识单元,根据存储区域标识符获取对应的映射表的存储地址;
提取地址单元,根据所述存储地址提取对应的映射表。
本发明映射表数据恢复方法及装置,可针对闪存系统的每一个区域建立一映射表,并存储在该区域的物理块,同时建立一记录表记录该映射表的存放地址;且可在完成一区域的操作后,记录下一次操作的区域编号;在断电重启后,闪存系统可根据该区域编号提取对应的映射表,进行数据重建,提高了数据恢复的速度,以及整个闪存系统的可靠性。
附图说明
图1是本发明一实施例中映射表数据恢复方法的步骤流程示意图;
图2是本发明一实施例中存储区域映射表示意图;
图3是本发明一实施例一实施方式中映射表数据恢复方法的步骤流程示意图;
图4是本发明一实施例中映射表的存储地址记录示意图;
图5是本发明一实施例另一实施方式中步骤S12的流程示意图;
图6是本发明一实施例中最近两次存储地址记录的示意图;
图7是本发明另一实施例中映射表数据恢复装置的结构示意图;
图8是本发明另一实施例一实施方式中映射表数据恢复装置的结构示意图;
图9是本发明另一实施例另一实施方式中恢复模块的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明可针对闪存系统的每一个区域建立一映射表,并存储在该区域的物理块,同时建立一记录表记录该映射表的存放地址;且可在完成一区域的操作后,记录下一次操作的区域编号;在断电重启后,闪存系统可根据该区域编号提取对应的映射表,进行数据重建。其他区域的映射表可按照断电前保存的状态读取,提高了数据恢复的速度,以及整个闪存系统的可靠性。
参照图1,提出本发明一实施例的一种映射表数据恢复方法,应用于非易失性存储器中,所述非易失性存储器包括至少一存储区域,包括:
步骤S10,建立针对所述存储区域的映射表,保存至所述存储区域中分配的存储空间;
步骤S11,在对所述存储区域进行操作后,获取存储区域标识符进行保存;
步骤S12,根据所述存储区域标识符提取对应的映射表,进行映射表数据恢复。
如步骤S10所述,上述非易失性存储器可为Flash(闪存)存储器。Flash中设置至少一个逻辑的存储区域,该存储区域中至少包括一个及以上的物理块。针对某一存储区域建立一映射表,并保存在一物理块(存储空间)中。
参照图2,示出Flash中包括编号为0至N的N+1个存储区域;其中,任意一存储区域中包括编号为0至N的N+1个物理块;且,任意一存储区域中建立有一映射表,存储于物理块中。
参照图3,在本实施例的一实施方式中,所述步骤S10后还包括:
步骤S100,根据存储区域的标识符,建立映射表的存储地址的记录并保存。
如步骤S100所述,上述存储区域的映射表,可根据存储区域的标识符进行区分;该存储区域的标识符可为存储区域的编号。比如存储区域0的映射表为映射表0,存储区域N的映射表为映射表N。
上述记录可包括映射表0至N中全部映射表的存储地址。
如步骤S11所述,当对某一存储区域进行操作后,该存储区域相对应的映射表中信息以及映射表的存储地址,可能发生变化,需要进行更新并保存。因此,当对某一存储区域的操作进行后,需添加一条记录,保存该映射表的存储地址。且还需获取该当前操作存储区域编号(标识符)以及下次操作存储区域编号,保存至上述记录中。或者,仅获取下次操作存储区域编号,保存至该记录中。
在对某一操作完成后的存储区域,建立一记录并保存后,继续进行下一存储区域的操作。如果在操作中Flash断电,对该存储区域正在进行操作或者已经完成的操作将不被保存。
上述记录可保存在某一固定区域;比如一物理块。当该物理块存储已满时,可全部擦除该物理块数据,再写入新的记录。
如步骤S12所述,由于是完成一存储区域的操作就建立一记录并保存,则Flash在断电重启后,对于已保存有记录的,则可根据记录中保存的映射表地址,直接读取对应的映射表;对于未保存的,可在上述固定区域(物理块)中寻找记录,根据记录中的映射表地址提取对应的映射表,进行重建。(参照图4)
参照图5,在本实施例的另一实施方式中,所述根据所述存储区域标识符提取对应的映射表的步骤进一步包括步骤:
步骤S121,搜索最后保存的记录,提取存储区域标识符;
步骤S122,根据存储区域标识符获取映射表的存储地址;
步骤S123,根据所述存储地址提取对应的映射表。
如步骤S121所述,当记录中仅保存下次操作存储区域编号时,可在上述固定区域寻找最后一次保存的记录,提取该下次操作存储区域的编号,对该存储区域进行重建,恢复到断电前的状态,提高了重建速度及可靠性。
当记录中保存本次操作存储区域编号以及下次操作存储区域编号的情况时,可在上述固定区域寻找最近若干次(比如两次)的记录,比较保存存储区域编号,就可以查找到掉电时正在使用的存储区域编号(即下次操作存储区域编号),然后进行重建,恢复到掉电前的状态,提高了重建速度及可靠性。
参照图6,本实施例以寻找最近两次记录(记录2以及记录3)为例,对查找掉电时正在使用的存储区域编号(即下次操作存储区域编号)。上述记录2中保存的本次操作存储区域编号为4,下次操作存储区域编号为5;记录3中保存的本次操作存储区域编号为5,下次操作存储区域编号为6。
由于记录中保存有本次操作存储区域编号以及下次操作存储区域编号,则可提取记录2中的下次操作存储区域编号(5),与记录3中的本次操作存储区域编号(5)进行比较;如果两编号一致,则可确定正在使用的存储区域编号为6;否则,报错。
如步骤S122所述,从最后一次保存提取下次操作存储区域编号,根据该下次操作存储区域编号获取对应的映射表的存储地址。
如步骤S123所述,根据获取的映射表的存储地址,从存储区域的物理块上提取映射表,进行恢复。
参照图7,提出本发明另一实施例的一种映射表数据恢复装置20,应用于非易失性存储器中,所述非易失性存储器包括至少一存储区域,所述装置20包括建表模块21、保存模块22以及恢复模块23等;该建表模块21,建立针对所述存储区域的映射表,保存至所述存储区域中分配的存储空间;该保存模块22,在对所述存储区域进行操作后,获取存储区域标识符进行保存;该恢复模块23,根据所述存储区域标识符提取对应的映射表,进行映射表数据恢复。
上述建表模块21可针对Flash的任意一存储区域建立一映射表,并保存在该存储区域的一物理块(存储空间)中。
参照图8,在本实施例的一实施方式中,所述装置20进一步包括记录地址模块24,根据存储区域的标识符,建立映射表的存储地址的记录并保存。
上述记录地址模块24,可根据存储区域的标识符区分存储区域的映射表,并建立映射表的存储地址的记录并保存;该存储区域的标识符可为存储区域的编号。比如存储区域0的映射表为映射表0,存储区域N的映射表为映射表N。上述记录可包括映射表0至N中全部映射表的存储地址。
上述保存模块22可在对某一存储区域的操作进行后,添加一条记录,保存该存储区域映射表的存储地址。且还需获取该当前操作存储区域编号(标识符)以及下次操作存储区域编号,保存至上述记录中。或者,仅获取下次操作存储区域编号,保存至该记录中。
上述恢复模块23可在Flash在断电重启后,对于已保存有记录的,根据记录中保存的映射表地址,直接读取对应的映射表;对于未保存的,在上述固定区域(物理块)中寻找记录,根据记录中的映射表地址提取对应的映射表,进行重建。
参照图9,在本实施例的另一实施方式中,所述恢复模块23进一步包括搜索记录单元231、提取标识单元232以及提取地址单元233;该搜索记录单元231,搜索最后保存的记录,提取存储区域标识符;该提取标识单元232,根据存储区域标识符获取映射表的存储地址;该提取地址单元233,根据所述存储地址提取对应的映射表。
上述搜索记录单元231,可在记录中仅保存下次操作存储区域编号时,从上述固定区域寻找最后一次保存的记录,提取该下次操作存储区域的编号,对该存储区域进行重建,恢复到断电前的状态,提高了重建速度及可靠性。
且可在记录中保存本次操作存储区域编号以及下次操作存储区域编号的情况时,从上述固定区域寻找最近若干次(比如两次)的记录,比较保存存储区域编号,就可以查找到掉电时正在使用的存储区域编号(即下次操作存储区域编号),然后进行重建,恢复到掉电前的状态,提高了重建速度及可靠性。
本实施例以寻找最近两次记录(比如记录2以及记录3)为例,对查找掉电时正在使用的存储区域编号(即下次操作存储区域编号)。上述记录2中保存的本次操作存储区域编号为4,下次操作存储区域编号为5;记录3中保存的本次操作存储区域编号为5,下次操作存储区域编号为6。
由于记录中保存有本次操作存储区域编号以及下次操作存储区域编号,则可提取记录2中的下次操作存储区域编号(5),与记录3中的本次操作存储区域编号(5)进行比较;如果两编号一致,则可确定正在使用的存储区域编号为6;否则,报错。
上述提取标识单元232,可从最后一次保存提取下次操作存储区域编号,根据该下次操作存储区域编号获取对应的映射表的存储地址。
上述提取地址单元233,可根据获取的映射表的存储地址,从存储区域的物理块上提取映射表,进行恢复。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种映射表数据恢复方法,应用于非易失性存储器中,所述非易失性存储器包括至少一存储区域,其特征在于,包括步骤:
建立针对任意一所述存储区域的映射表,保存至所述存储区域中分配的存储空间;
根据存储区域的标识符,建立所述存储区域的标识符对应的映射表的存储地址的记录进行保存;
在对所述存储区域进行操作后,获取存储区域标识符进行保存;
根据所述存储区域标识符提取对应的映射表,进行映射表数据恢复。
2.根据权利要求1所述的映射表数据恢复方法,其特征在于,根据所述存储区域标识符提取对应的映射表的步骤进一步包括步骤:
搜索最后保存的记录,提取存储区域标识符;
根据存储区域标识符获取对应的映射表的存储地址;
根据所述存储地址提取对应的映射表。
3.根据权利要求1或2所述的映射表数据恢复方法,其特征在于,所述存储区域标识符包括:
下次操作存储区域的标识符。
4.根据权利要求1或2所述的映射表数据恢复方法,其特征在于,所述存储区域标识符包括:
当前操作存储区域的标识符以及下次操作存储区域的标识符。
5.根据权利要求1或2所述的映射表数据恢复方法,其特征在于,所述存储区域标识符为存储区域编号。
6.一种映射表数据恢复装置,应用于非易失性存储器中,所述非易失性存储器包括至少一存储区域,其特征在于,包括:
建表模块,建立针对任意一所述存储区域的映射表,保存至所述存储区域中分配的存储空间;
记录地址模块,根据存储区域的标识符,建立所述存储区域的标识符对应的映射表的存储地址的记录进行保存;
保存模块,在对所述存储区域进行操作后,获取存储区域标识符进行保存;
恢复模块,根据所述存储区域标识符提取对应的映射表,进行映射表数据恢复。
7.根据权利要求6所述的映射表数据恢复装置,其特征在于,所述恢复模块进一步包括:
搜索记录单元,搜索最后保存的记录,提取存储区域标识符;
提取标识单元,根据存储区域标识符获取对应的映射表的存储地址;
提取地址单元,根据所述存储地址提取对应的映射表。
CN 200910189539 2009-11-24 2009-11-24 映射表数据恢复方法及装置 Active CN101794261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910189539 CN101794261B (zh) 2009-11-24 2009-11-24 映射表数据恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910189539 CN101794261B (zh) 2009-11-24 2009-11-24 映射表数据恢复方法及装置

Publications (2)

Publication Number Publication Date
CN101794261A CN101794261A (zh) 2010-08-04
CN101794261B true CN101794261B (zh) 2013-05-08

Family

ID=42586969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910189539 Active CN101794261B (zh) 2009-11-24 2009-11-24 映射表数据恢复方法及装置

Country Status (1)

Country Link
CN (1) CN101794261B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567209B (zh) * 2010-12-21 2015-03-04 厦门市美亚柏科信息股份有限公司 闪存芯片数据解析方法和装置
CN102567210B (zh) * 2010-12-27 2015-01-21 厦门市美亚柏科信息股份有限公司 闪存芯片数据分析环境重组方法和装置
CN102314480B (zh) * 2011-07-05 2013-04-10 万达信息股份有限公司 一种针对海量数据的分布式数据存储方法
CN103902406A (zh) * 2012-12-31 2014-07-02 杨威锋 高可靠性固态存储设备的映射表信息的保存和恢复技术
TWI514140B (zh) 2013-02-05 2015-12-21 Via Tech Inc 非揮發性記憶裝置及其操作方法
CN106024046B (zh) * 2016-05-24 2019-09-20 深圳市硅格半导体有限公司 数据存储方法及装置
CN108614665B (zh) * 2016-12-09 2021-04-02 北京兆易创新科技股份有限公司 基于NAND flash的映射表数据更新方法和装置
CN107329909B (zh) * 2017-06-27 2020-07-07 郑州云海信息技术有限公司 一种数据管理方法及装置
CN110162493B (zh) * 2018-02-12 2021-05-18 深圳大心电子科技有限公司 存储器管理方法及使用所述方法的储存控制器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1420440A (zh) * 2001-11-16 2003-05-28 三星电子株式会社 快闪存储器管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1420440A (zh) * 2001-11-16 2003-05-28 三星电子株式会社 快闪存储器管理方法

Also Published As

Publication number Publication date
CN101794261A (zh) 2010-08-04

Similar Documents

Publication Publication Date Title
CN101794261B (zh) 映射表数据恢复方法及装置
CN102231852B (zh) 一种机顶盒序列号烧写方法及装置
CN101446921B (zh) 一种Flash存储器的动态存储方法
KR101910759B1 (ko) 트랜잭션 처리 방법, 장치 및 컴퓨터 시스템
CN102843396A (zh) 一种分布式缓存系统中的数据写入及读取方法及装置
CN103559276A (zh) 一种清理垃圾文件的方法及其装置
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN109284252B (zh) 一种通信设备中轻量级文件系统管理方法
CN102929697A (zh) 一种状态机、调度方法、装置及usb媒体播放控制装置
CN102231137B (zh) 一种数据存储系统及方法
CN103092726A (zh) 注册表删除数据的恢复方法和装置
CN104166601A (zh) 一种存储数据的备份方法和装置
CN106055279A (zh) 管理固态硬盘的地址映射表的方法、装置及固态硬盘
CN103544097B (zh) 嵌入式系统的日志存储方法、系统及日志读取方法和系统
CN103049298A (zh) 一种Nandflash烧写方法
CN103309771A (zh) 基于Android系统实现应用程序开机快速恢复的方法
CN102193787B (zh) 一种序列化和反序列化的方法、装置及系统
CN106446133A (zh) 同时对接两个数据库的方法及装置
CN102117623B (zh) 一种磁带元数据的恢复方法及装置
CN104331348A (zh) 一种还原fat32目录项的起始簇号恢复文件的方法
CN105446652A (zh) 进行摄像数据存储的方法及装置
CN102375779B (zh) 一种数据处理方法以及数据处理模块
CN102003979B (zh) 一种载荷谱实测试验数据读取系统及其方法
CN102033823B (zh) 一种保存数据的方法及装置
CN102063365B (zh) 一种记录单板运行信息的方法及装置

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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: The southern city of Shenzhen province Guangdong 518057 Keyuan Road, Nanshan District high tech Zone students Pioneering Building No. 2208

Patentee after: SILICONGO MICROELECTRONICS CO., LTD.

Address before: The southern city of Shenzhen province Guangdong 518057 Keyuan Road, Nanshan District high tech Zone students Pioneering Building No. 2208

Patentee before: Shenzhen SiliconGo Semiconductor Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518057 05-2, 06-08 unit, 6 floor, Changhong science and technology building, 18 Nanshan District science and technology south twelve Road, Shenzhen, Guangdong.

Patentee after: Shenzhen SiliconGo Semiconductor Co., Ltd.

Address before: 518057 international business building 2208, South Yuan Road, Nanshan District high tech Zone, Shenzhen, Guangdong.

Patentee before: SILICONGO MICROELECTRONICS CO., LTD.