基于闪存芯片实现存储设备数据恢复的方法

文档序号:6516857阅读:288来源:国知局
基于闪存芯片实现存储设备数据恢复的方法
【专利摘要】本发明涉及一种基于闪存芯片实现存储设备数据恢复的方法,其中包括从所述的闪存芯片中获取其中存储的原始数据;根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像,即根据备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式。采用该种结构的基于闪存芯片实现存储设备数据恢复的方法,可以实现当主控制器或者外围逻辑电路板出现故障时,从闪存芯片底层直接读取数据并按照数据存储规律还原出操作系统可识别的文件镜像,以实现基于内存芯片直接恢复存储设备中的数据,避免因存储设备部分部件损坏而造成的数据丢失,提高数据恢复的成功率,应用方式简便,对于各种不同的闪存存储设备均可适用,具有更广泛的应用范围。
【专利说明】基于闪存芯片实现存储设备数据恢复的方法
【技术领域】
[0001]本发明涉及计算机数据处理领域,尤其涉及存储芯片数据恢复领域,具体是指一种基于闪存芯片实现存储设备数据恢复的方法。
【背景技术】
[0002]U盘存储设备主要包括主控制器、存储芯片和外围逻辑电路板。U盘存储芯片介质主要为NandFlash,相比传统物理磁盘按照盘片、磁道、扇区组织数据,闪存芯片是按照块和页来组织数据。数据存储块是擦除的最小单位,数据存储页是写入的最小单位,数据写入时需要先擦除原有数据再写入新的数据。
[0003]现有技术中传统的数据读取方法为:由主控制器操作NandFlash芯片读写数据,操作系统收到用户的读写请求后,首先通过文件系统定位逻辑扇区位置,然后通过底层驱动访问存储设备,将读写请求信号发送给主控制器,主控制器根据自己的算法找到逻辑扇区对应物理存储介质的块和页,读写数据。
[0004]但是,当主控制器或者外围逻辑电路板出现故障时,通过USB接口无法正常读出数据,传统的软件数据恢复方法不再适用。因此需要直接从存储芯片底层读取数据,然后根据数据存储规律还原出操作系统可识别的文件镜像。

【发明内容】

[0005]本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现从闪存芯片底层直接读取数据、按照数据存储规律还原出操作系统可识别的文件镜像、基于闪存芯片直接恢复存储设备中的数据、具有广泛应用范围的基于闪存芯片实现存储设备数据恢复的方法。
[0006]为了实现上述目的,本发明的基于闪存芯片实现存储设备数据恢复的方法具有如下构成:
[0007]该基于闪存芯片实现存储设备数据恢复的方法,其主要特点是,所述的方法包括以下步骤:
[0008](I)从所述的闪存芯片中获取其中存储的原始数据;
[0009]( 2)根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像。
[0010]较佳地,所述的闪存芯片为采用薄型小尺寸封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤:
[0011](11-1)使用热风枪将所述的闪存芯片封装的引脚吹化并取出去除封装后的闪存
-H-* I I
心片;
[0012](11-2)将去除封装后的闪存芯片嵌入到TSOP读卡器并通过所述的TSOP读卡器获取其中存储的原始数据。
[0013]较佳地,所述的闪存芯片为采用球栅阵列封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤:[0014](12-1)通过球栅阵列封装拆卸返修台取出去除封装后的闪存芯片;
[0015](12-2)将去除封装后的闪存芯片嵌入到BGA读卡器并通过所述的BGA读卡器获取其中存储的原始数据。
[0016]较佳地,所述的根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像,包括以下步骤:
[0017](21)对所述的原始数据进行数据存储块和数据存储页的识别;
[0018](22)对每个数据存储页的备用数据区进行识别;
[0019](23)检查确认该原始数据是否进行过异或操作;
[0020](24)根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式。
[0021]更佳地,所述的对所述的原始数据进行数据存储块和数据存储页的识别,具体为:
[0022]根据所述的闪存芯片固定的数据存储块和数据存储页的大小识别并划分各个数据存储块和数据存储页。
[0023]更佳地,所述的对每个数据存储页的备用数据区进行识别,具体为:
[0024]根据所述的备用数据区中的逻辑地址编号识别出所述的备用数据区存放在相对应的数据存储页的位置。
[0025]更佳地,所述的检查确认该原始数据是否进行过异或操作,包括以下步骤:
[0026](231)通过与同种存储设备完好情况下通过主控制器读取的数据相对比,判断该原始数据是否进行过异或操作,如果是,继续步骤(232),否则继续步骤(24);
[0027](232)对该原始数据进行再次异或还原操作,然后继续步骤(24)。
[0028]更佳地,所述的根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式,包括以下步骤:
[0029](241)根据所述的备用数据区中的坏快标记排除掉已损坏的数据存储块;
[0030](242)将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合。
[0031]更进一步地,所述的将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合,包括以下步骤:
[0032](242-1)判断是否存在具有相同逻辑地址编号的数据存储页,如果是,则继续步骤(242-2),否则继续步骤(242-5);
[0033](242-2)判断具有相同逻辑地址编号的数据存储页是否属于不同的存储通道,如果是,则继续步骤(242-3),否则继续步骤(242-4);
[0034](242-3)将具有相同逻辑地址编号的数据存储页按照所属存储通道顺序进行排列,然后继续步骤(242-5);
[0035](242-4)将具有相同逻辑地址编号的数据存储页按照物理地址编号的顺序进行排列;
[0036](242-5 )将具有不同逻辑地址编号的数据存储页按照逻辑地址编号的顺序进行排列。
[0037]采用了该发明中的基于闪存芯片实现存储设备数据恢复的方法,可以实现当存储设备的主控制器或者外围逻辑电路板出现故障时,从闪存芯片底层直接读取数据并按照数据存储规律还原出操作系统可识别的文件镜像,以实现基于闪存芯片直接恢复存储设备中的数据,避免因存储设备部分部件损坏而造成的数据丢失,提高数据恢复的成功率,应用方式简便,对于各种不同的闪存存储设备均可适用,具有更广泛的应用范围。
【专利附图】

【附图说明】
[0038]图1为本发明的基于闪存芯片实现存储设备数据恢复的方法的流程图。
[0039]图2为存储设备通过主控制器读取出的镜像数据的示意图。
[0040]图3为采用本发明的方法基于闪存芯片读取出的镜像数据的示意图。
【具体实施方式】
[0041]为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0042]存储设备的主控制器的核心功能包括坏块管理、磨损平衡、逻辑扇区到物理扇区地址映射、ECC (Error Correction Code,纠错码)校验。为了满足坏块管理和磨损平衡,上层文件系统的连续扇区在闪存芯片上并不是连续存储的,主控制器对逻辑扇区到物理扇区转换进行地址映射。由于主控器或者外围电路的故障,我们只能直接从存储芯片底层读取数据,绕过主控制器的管理,所以需要对获取的物理镜像数据进行重组还原,从物理扇区排列方式逆向成逻辑扇区排列方式。
[0043]如图1所示为本发明的基于闪存芯片实现存储设备数据恢复的方法的流程图。
[0044]本实施例的U盘存储芯片数据恢复主要分为两步:
[0045](I)闪存芯片数据读取:闪存芯片主要采用TSOP (Thin small outline package薄型小尺寸封装)和BGA(Ball grid array,球栅阵列封装)两种方式封装。
[0046](11)采用TSOP封装方式的闪存芯片:TS0P封装在芯片的周围做出引脚,采用表面安装技术直接附着在PCB板的表面。可以通过热风枪将引脚吹化,取出芯片嵌入到TSOP读卡器,获取数据。
[0047](12)采用BGA封装方式的闪存芯片:BGA是球栅阵列封装,引脚以圆形或柱状焊点按阵列形式分布在封装下面。由于引脚没有暴露在外,通过热风枪焊接容易对数据造成损坏,可以通过BGA拆卸返修台取出芯片,然后通过BGA读卡器获取数据。
[0048](2)物理镜像数据重组还原:闪存芯片物理上按照数据存储块和数据存储页来存储数据,数据存储块由连续的页组成。每页数据分为正常数据区和备用数据区,正常数据区通常包括多个扇区。备用数据区包括坏块标记、LSN (Logical sequence number,逻辑地址编号)、ECC校验码等。每个数据存储页的备用区的位置会位于页头或者页尾,或者页中。
[0049]坏块标记通常I个字节,当主控制器编程/擦除数据块时,造成Page PiOgram(写页面)和Block Erase (块擦除)操作时的错误,该数据块被标记为坏块,或者闪存在出厂时由于工艺原因,出现坏块。ECC校验码是对扇区存储数据进行校验,当写入和读取数据不一致时,会检测出错误。少量字节出现错误时,能够进行纠错。
[0050]LSN是主控制器对物理扇区进行的逻辑扇区编号,主控制器根据LSN形成逻辑扇区到物理扇区映射表。数据重组还原主要包括以下几步:[0051](21)数据存储块和页识别:每块数据大小固定,包含相同数目的页。芯片在出厂后,可以根据芯片手册找到块和页大小,连续的页备用区LSN通常是连续的,也可以根据存储规律找出块和页的大小。
[0052](22)备用数据区识别:通常每512字节正常数据区会附加备用数据区,同一页中备用区LSN是相同的。根据LSN识别出备用区存放在页头、页尾还是页间。
[0053](23)异或检查:主控制器在存储数据时通常会进行异或操作,如果进行过异或操作,需要对物理镜像再次异或还原数据。可以将同种类型芯片在完好情况下通过主控制器读取镜像,然后与拆卸后通过读卡器读取的镜像进行对比,比较两类镜像数据是否存在异或差异。
[0054]如图2是U盘完好时,芯片连接主控制器,通过USB接口读取的镜像数据。图3是U盘中闪存芯片拆卸后,通过读卡器读取的镜像数据,61异或后数据为9E,由图2和图3可以判断该类型主控制器在存储数据时进行了异或操作。
[0055](24)数据重组,包括以下两个子步骤:
[0056](241)根据备用数据区坏块标记排除掉坏块;
[0057](242 )取出根据每页数据中LSN和数据存储页的物理地址,将数据根据LSN顺序进行重新排列组合。多个正常数据区中的数据块含有相同LSN,按照物理地址优先的顺序排列。对于双通道或者多通道芯片,多页数据并行写入多个数据块中,需要将属于不同通道的含有相同LSN的页面按照通道顺序进行排列。
[0058]进行上述操作后可以将通过读卡器读取的芯片镜像还原成U盘完好时,接到电脑读取的操作系统可是别的镜像,这样就能查看文件。以后遇到同种类型U盘或者主控芯片损坏时,直接应用该算法即可恢复数据。
[0059]采用了该发明中的基于闪存芯片实现存储设备数据恢复的方法,可以实现当存储设备的主控制器或者外围逻辑电路板出现故障时,从闪存芯片底层直接读取数据并按照数据存储规律还原出操作系统可识别的文件镜像,以实现基于内存芯片直接恢复存储设备中的数据,避免因存储设备部分部件损坏而造成的数据丢失,提高数据恢复的成功率,应用方式简便,对于各种不同的闪存存储设备均可适用,具有更广泛的应用范围。
[0060]在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
【权利要求】
1.一种基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的方法包括以下步骤: (1)从所述的闪存芯片中获取其中存储的原始数据; (2)根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像。
2.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的闪存芯片为采用薄型小尺寸封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤: (11-1)使用热风枪将所述的闪存芯片封装的引脚吹化并取出去除封装后的闪存芯片; (11-2)将去除封装后的闪存芯片嵌入到TSOP读卡器并通过所述的TSOP读卡器获取其中存储的原始数据。
3.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的闪存芯片为采用球栅阵列封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤: (12-1)通过球栅阵列封装拆卸返修台取出去除封装后的闪存芯片; (12-2)将去除封装后的闪存芯片嵌入到BGA读卡器并通过所述的BGA读卡器获取其中存储的原始数据。
4.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的根据闪存芯片的数据存储规 律还原出操作系统可识别的文件镜像,包括以下步骤: (21)对所述的原始数据进行数据存储块和数据存储页的识别; (22)对每个数据存储页的备用数据区进行识别; (23)检查确认该原始数据是否进行过异或操作; (24)根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式。
5.根据权利要求4所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的对所述的原始数据进行数据存储块和数据存储页的识别,具体为: 根据所述的闪存芯片固定的数据存储块和数据存储页的大小识别并划分各个数据存储块和数据存储页。
6.根据权利要求4所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的对每个数据存储页的备用数据区进行识别,具体为: 根据所述的备用数据区中的逻辑地址编号识别出所述的备用数据区存放在相对应的数据存储页的位置。
7.根据权利要求4所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的检查确认该原始数据是否进行过异或操作,包括以下步骤: (231)通过与同种存储设备完好情况下通过主控制器读取的数据相对比,判断该原始数据是否进行过异或操作,如果是,继续步骤(232),否则继续步骤(24); (232)对该原始数据进行再次异或还原操作,然后继续步骤(24)。
8.根据权利要求4所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式,包括以下步骤: (241)根据所述的备用数据区中的坏快标记排除掉已损坏的数据存储块; (242)将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合。
9.根据权利要求8所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合,包括以下步骤: (242-1)判断是否存在具有相同逻辑地址编号的数据存储页,如果是,则继续步骤(242-2),否则继续步骤(242-5); (242-2)判断具有相同逻辑地址编号的数据存储页是否属于不同的存储通道,如果是,则继续步骤(242-3),否则继续步骤(242-4); (242-3)将具有相同逻辑地址编号的数据存储页按照所属存储通道顺序进行排列,然后继续步骤(242-5); (242-4)将具有相同逻辑地址编号的数据存储页按照物理地址编号的顺序进行排列; (242-5)将具有不同逻 辑地址编号的数据存储页按照逻辑地址编号的顺序进行排列。
【文档编号】G06F11/16GK103544082SQ201310518039
【公开日】2014年1月29日 申请日期:2013年10月28日 优先权日:2013年10月28日
【发明者】吴松洋, 王旭鹏, 刘善军, 张熙哲, 熊雄 申请人:公安部第三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1