CN103544082B - 基于闪存芯片实现存储设备数据恢复的方法 - Google Patents
基于闪存芯片实现存储设备数据恢复的方法 Download PDFInfo
- Publication number
- CN103544082B CN103544082B CN201310518039.8A CN201310518039A CN103544082B CN 103544082 B CN103544082 B CN 103544082B CN 201310518039 A CN201310518039 A CN 201310518039A CN 103544082 B CN103544082 B CN 103544082B
- Authority
- CN
- China
- Prior art keywords
- data
- flash chip
- memory page
- storage device
- district
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种基于闪存芯片实现存储设备数据恢复的方法,其中包括从所述的闪存芯片中获取其中存储的原始数据;根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像,即根据备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式。采用该种结构的基于闪存芯片实现存储设备数据恢复的方法,可以实现当主控制器或者外围逻辑电路板出现故障时,从闪存芯片底层直接读取数据并按照数据存储规律还原出操作系统可识别的文件镜像,以实现基于内存芯片直接恢复存储设备中的数据,避免因存储设备部分部件损坏而造成的数据丢失,提高数据恢复的成功率,应用方式简便,对于各种不同的闪存存储设备均可适用,具有更广泛的应用范围。
Description
技术领域
本发明涉及计算机数据处理领域,尤其涉及存储芯片数据恢复领域,具体是指一种基于闪存芯片实现存储设备数据恢复的方法。
背景技术
U盘存储设备主要包括主控制器、存储芯片和外围逻辑电路板。U盘存储芯片介质主要为NandFlash,相比传统物理磁盘按照盘片、磁道、扇区组织数据,闪存芯片是按照块和页来组织数据。数据存储块是擦除的最小单位,数据存储页是写入的最小单位,数据写入时需要先擦除原有数据再写入新的数据。
现有技术中传统的数据读取方法为:由主控制器操作NandFlash芯片读写数据,操作系统收到用户的读写请求后,首先通过文件系统定位逻辑扇区位置,然后通过底层驱动访问存储设备,将读写请求信号发送给主控制器,主控制器根据自己的算法找到逻辑扇区对应物理存储介质的块和页,读写数据。
但是,当主控制器或者外围逻辑电路板出现故障时,通过USB接口无法正常读出数据,传统的软件数据恢复方法不再适用。因此需要直接从存储芯片底层读取数据,然后根据数据存储规律还原出操作系统可识别的文件镜像。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现从闪存芯片底层直接读取数据、按照数据存储规律还原出操作系统可识别的文件镜像、基于闪存芯片直接恢复存储设备中的数据、具有广泛应用范围的基于闪存芯片实现存储设备数据恢复的方法。
为了实现上述目的,本发明的基于闪存芯片实现存储设备数据恢复的方法具有如下构成:
该基于闪存芯片实现存储设备数据恢复的方法,其主要特点是,所述的方法包括以下步骤:
(1)从所述的闪存芯片中获取其中存储的原始数据;
(2)根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像。
较佳地,所述的闪存芯片为采用薄型小尺寸封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤:
(11-1)使用热风枪将所述的闪存芯片封装的引脚吹化并取出去除封装后的闪存芯片;
(11-2)将去除封装后的闪存芯片嵌入到TSOP读卡器并通过所述的TSOP读卡器获取其中存储的原始数据。
较佳地,所述的闪存芯片为采用球栅阵列封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤:
(12-1)通过球栅阵列封装拆卸返修台取出去除封装后的闪存芯片;
(12-2)将去除封装后的闪存芯片嵌入到BGA读卡器并通过所述的BGA读卡器获取其中存储的原始数据。
较佳地,所述的根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像,包括以下步骤:
(21)对所述的原始数据进行数据存储块和数据存储页的识别;
(22)对每个数据存储页的备用数据区进行识别;
(23)检查确认该原始数据是否进行过异或操作;
(24)根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式。
更佳地,所述的对所述的原始数据进行数据存储块和数据存储页的识别,具体为:
根据所述的闪存芯片固定的数据存储块和数据存储页的大小识别并划分各个数据存储块和数据存储页。
更佳地,所述的对每个数据存储页的备用数据区进行识别,具体为:
根据所述的备用数据区中的逻辑地址编号识别出所述的备用数据区存放在相对应的数据存储页的位置。
更佳地,所述的检查确认该原始数据是否进行过异或操作,包括以下步骤:
(231)通过与同种存储设备完好情况下通过主控制器读取的数据相对比,判断该原始数据是否进行过异或操作,如果是,继续步骤(232),否则继续步骤(24);
(232)对该原始数据进行再次异或还原操作,然后继续步骤(24)。
更佳地,所述的根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式,包括以下步骤:
(241)根据所述的备用数据区中的坏快标记排除掉已损坏的数据存储块;
(242)将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合。
更进一步地,所述的将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合,包括以下步骤:
(242-1)判断是否存在具有相同逻辑地址编号的数据存储页,如果是,则继续步骤(242-2),否则继续步骤(242-5);
(242-2)判断具有相同逻辑地址编号的数据存储页是否属于不同的存储通道,如果是,则继续步骤(242-3),否则继续步骤(242-4);
(242-3)将具有相同逻辑地址编号的数据存储页按照所属存储通道顺序进行排列,然后继续步骤(242-5);
(242-4)将具有相同逻辑地址编号的数据存储页按照物理地址编号的顺序进行排列;
(242-5)将具有不同逻辑地址编号的数据存储页按照逻辑地址编号的顺序进行排列。
采用了该发明中的基于闪存芯片实现存储设备数据恢复的方法,可以实现当存储设备的主控制器或者外围逻辑电路板出现故障时,从闪存芯片底层直接读取数据并按照数据存储规律还原出操作系统可识别的文件镜像,以实现基于闪存芯片直接恢复存储设备中的数据,避免因存储设备部分部件损坏而造成的数据丢失,提高数据恢复的成功率,应用方式简便,对于各种不同的闪存存储设备均可适用,具有更广泛的应用范围。
附图说明
图1为本发明的基于闪存芯片实现存储设备数据恢复的方法的流程图。
图2为存储设备通过主控制器读取出的镜像数据的示意图。
图3为采用本发明的方法基于闪存芯片读取出的镜像数据的示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
存储设备的主控制器的核心功能包括坏块管理、磨损平衡、逻辑扇区到物理扇区地址映射、ECC(Error Correction Code,纠错码)校验。为了满足坏块管理和磨损平衡,上层文件系统的连续扇区在闪存芯片上并不是连续存储的,主控制器对逻辑扇区到物理扇区转换进行地址映射。由于主控器或者外围电路的故障,我们只能直接从存储芯片底层读取数据,绕过主控制器的管理,所以需要对获取的物理镜像数据进行重组还原,从物理扇区排列方式逆向成逻辑扇区排列方式。
如图1所示为本发明的基于闪存芯片实现存储设备数据恢复的方法的流程图。
本实施例的U盘存储芯片数据恢复主要分为两步:
(1)闪存芯片数据读取:闪存芯片主要采用TSOP(Thin small outline package薄型小尺寸封装)和BGA(Ball grid array,球栅阵列封装)两种方式封装。
(11)采用TSOP封装方式的闪存芯片:TSOP封装在芯片的周围做出引脚,采用表面安装技术直接附着在PCB板的表面。可以通过热风枪将引脚吹化,取出芯片嵌入到TSOP读卡器,获取数据。
(12)采用BGA封装方式的闪存芯片:BGA是球栅阵列封装,引脚以圆形或柱状焊点按阵列形式分布在封装下面。由于引脚没有暴露在外,通过热风枪焊接容易对数据造成损坏,可以通过BGA拆卸返修台取出芯片,然后通过BGA读卡器获取数据。
(2)物理镜像数据重组还原:闪存芯片物理上按照数据存储块和数据存储页来存储数据,数据存储块由连续的页组成。每页数据分为正常数据区和备用数据区,正常数据区通常包括多个扇区。备用数据区包括坏块标记、LSN(Logical sequence number,逻辑地址编号)、ECC校验码等。每个数据存储页的备用区的位置会位于页头或者页尾,或者页中。
坏块标记通常1个字节,当主控制器编程/擦除数据块时,造成Page Program(写页面)和Block Erase(块擦除)操作时的错误,该数据块被标记为坏块,或者闪存在出厂时由于工艺原因,出现坏块。ECC校验码是对扇区存储数据进行校验,当写入和读取数据不一致时,会检测出错误。少量字节出现错误时,能够进行纠错。
LSN是主控制器对物理扇区进行的逻辑扇区编号,主控制器根据LSN形成逻辑扇区到物理扇区映射表。数据重组还原主要包括以下几步:
(21)数据存储块和页识别:每块数据大小固定,包含相同数目的页。芯片在出厂后,可以根据芯片手册找到块和页大小,连续的页备用区LSN通常是连续的,也可以根据存储规律找出块和页的大小。
(22)备用数据区识别:通常每512字节正常数据区会附加备用数据区,同一页中备用区LSN是相同的。根据LSN识别出备用区存放在页头、页尾还是页间。
(23)异或检查:主控制器在存储数据时通常会进行异或操作,如果进行过异或操作,需要对物理镜像再次异或还原数据。可以将同种类型芯片在完好情况下通过主控制器读取镜像,然后与拆卸后通过读卡器读取的镜像进行对比,比较两类镜像数据是否存在异或差异。
如图2是U盘完好时,芯片连接主控制器,通过USB接口读取的镜像数据。图3是U盘中闪存芯片拆卸后,通过读卡器读取的镜像数据,61异或后数据为9E,由图2和图3可以判断该类型主控制器在存储数据时进行了异或操作。
(24)数据重组,包括以下两个子步骤:
(241)根据备用数据区坏块标记排除掉坏块;
(242)取出根据每页数据中LSN和数据存储页的物理地址,将数据根据LSN顺序进行重新排列组合。多个正常数据区中的数据块含有相同LSN,按照物理地址优先的顺序排列。对于双通道或者多通道芯片,多页数据并行写入多个数据块中,需要将属于不同通道的含有相同LSN的页面按照通道顺序进行排列。
进行上述操作后可以将通过读卡器读取的芯片镜像还原成U盘完好时,接到电脑读取的操作系统可是别的镜像,这样就能查看文件。以后遇到同种类型U盘或者主控芯片损坏时,直接应用该算法即可恢复数据。
采用了该发明中的基于闪存芯片实现存储设备数据恢复的方法,可以实现当存储设备的主控制器或者外围逻辑电路板出现故障时,从闪存芯片底层直接读取数据并按照数据存储规律还原出操作系统可识别的文件镜像,以实现基于内存芯片直接恢复存储设备中的数据,避免因存储设备部分部件损坏而造成的数据丢失,提高数据恢复的成功率,应用方式简便,对于各种不同的闪存存储设备均可适用,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (6)
1.一种基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的方法包括以下步骤:
(1)从所述的闪存芯片中获取其中存储的原始数据;
(2)根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像;
所述的根据闪存芯片的数据存储规律还原出操作系统可识别的文件镜像,包括以下步骤:
(21)对所述的原始数据进行数据存储块和数据存储页的识别;
(22)对每个数据存储页的备用数据区进行识别;
(23)检查确认该原始数据是否进行过异或操作;
(24)根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式;
所述的根据所述的备用数据区中的标记信息将数据由物理排列方式重组成逻辑排列方式,包括以下步骤:
(241)根据所述的备用数据区中的坏快标记排除掉已损坏的数据存储块;
(242)将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合;
所述的将各个数据存储页按照所对应的备用数据区中的逻辑地址编号的顺序重新排列组合,包括以下步骤:
(242-1)判断是否存在具有相同逻辑地址编号的数据存储页,如果是,则继续步骤(242-2),否则继续步骤(242-5);
(242-2)判断具有相同逻辑地址编号的数据存储页是否属于不同的存储通道,如果是,则继续步骤(242-3),否则继续步骤(242-4);
(242-3)将具有相同逻辑地址编号的数据存储页按照所属存储通道顺序进行排列,然后继续步骤(242-5);
(242-4)将具有相同逻辑地址编号的数据存储页按照物理地址编号的顺序进行排列;
(242-5)将具有不同逻辑地址编号的数据存储页按照逻辑地址编号的顺序进行排列。
2.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的闪存芯片为采用薄型小尺寸封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤:
(11-1)使用热风枪将所述的闪存芯片封装的引脚吹化并取出去除封装后的闪存芯片;
(11-2)将去除封装后的闪存芯片嵌入到TSOP读卡器并通过所述的TSOP读卡器获取其中存储的原始数据。
3.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的闪存芯片为采用球栅阵列封装的闪存芯片,所述的从所述的闪存芯片中获取其中存储的原始数据,包括以下步骤:
(12-1)通过球栅阵列封装拆卸返修台取出去除封装后的闪存芯片;
(12-2)将去除封装后的闪存芯片嵌入到BGA读卡器并通过所述的BGA读卡器获取其中存储的原始数据。
4.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的对所述的原始数据进行数据存储块和数据存储页的识别,具体为:
根据所述的闪存芯片固定的数据存储块和数据存储页的大小识别并划分各个数据存储块和数据存储页。
5.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的对每个数据存储页的备用数据区进行识别,具体为:
根据所述的备用数据区中的逻辑地址编号识别出所述的备用数据区存放在相对应的数据存储页的位置。
6.根据权利要求1所述的基于闪存芯片实现存储设备数据恢复的方法,其特征在于,所述的检查确认该原始数据是否进行过异或操作,包括以下步骤:
(231)通过与同种存储设备完好情况下通过主控制器读取的数据相对比,判断该原始数据是否进行过异或操作,如果是,继续步骤(232),否则继续步骤(24);
(232)对该原始数据进行再次异或还原操作,然后继续步骤(24)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310518039.8A CN103544082B (zh) | 2013-10-28 | 2013-10-28 | 基于闪存芯片实现存储设备数据恢复的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310518039.8A CN103544082B (zh) | 2013-10-28 | 2013-10-28 | 基于闪存芯片实现存储设备数据恢复的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544082A CN103544082A (zh) | 2014-01-29 |
CN103544082B true CN103544082B (zh) | 2015-08-19 |
Family
ID=49967555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310518039.8A Active CN103544082B (zh) | 2013-10-28 | 2013-10-28 | 基于闪存芯片实现存储设备数据恢复的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103544082B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155578A (zh) * | 2015-04-27 | 2016-11-23 | 四川效率源信息安全技术有限责任公司 | 手机闪存芯片数据重组的方法 |
CN106845251A (zh) * | 2015-12-07 | 2017-06-13 | 四川效率源信息安全技术股份有限公司 | 闪存芯片物理镜像后的数据解密方法 |
CN109189603A (zh) * | 2018-07-20 | 2019-01-11 | 江苏华存电子科技有限公司 | 一种用于动态随机存取存储器使用raid做纠错校验的方法 |
CN113971964B (zh) * | 2020-07-24 | 2023-08-04 | 深圳市江波龙电子股份有限公司 | 一种数据恢复方法及存储设备、终端设备 |
CN113342577B (zh) * | 2021-06-24 | 2023-11-03 | 长江存储科技有限责任公司 | 存储设备及其数据恢复方法 |
CN115687171B (zh) * | 2022-10-26 | 2023-06-06 | 深圳三地一芯电子股份有限公司 | 闪存块绑定方法、装置、设备及存储介质 |
CN116842589B (zh) * | 2023-07-04 | 2024-09-06 | 沈阳安华晟源信息科技有限公司 | 一种flash芯片底层物理镜像提取方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346691A (zh) * | 2010-07-30 | 2012-02-08 | 联芯科技有限公司 | 闪存镜像文件制作方法及装置 |
CN103136108A (zh) * | 2011-12-05 | 2013-06-05 | 慧荣科技股份有限公司 | 快闪存储装置及其数据读取方法 |
CN103365739A (zh) * | 2013-08-02 | 2013-10-23 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存存储设备及其数据恢复方法 |
-
2013
- 2013-10-28 CN CN201310518039.8A patent/CN103544082B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346691A (zh) * | 2010-07-30 | 2012-02-08 | 联芯科技有限公司 | 闪存镜像文件制作方法及装置 |
CN103136108A (zh) * | 2011-12-05 | 2013-06-05 | 慧荣科技股份有限公司 | 快闪存储装置及其数据读取方法 |
CN103365739A (zh) * | 2013-08-02 | 2013-10-23 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存存储设备及其数据恢复方法 |
Non-Patent Citations (1)
Title |
---|
基于闪存数据恢复的计算机取证技术的研究与实现;易凌鹰;《北京邮电大学硕士研究生学位论文》;20110315;第6-30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103544082A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544082B (zh) | 基于闪存芯片实现存储设备数据恢复的方法 | |
TWI527037B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN102023815B (zh) | 在固态存储器中实现raid | |
US8046645B2 (en) | Bad block identifying method for flash memory, storage system, and controller thereof | |
US8074148B2 (en) | Memory management method and controller for non-volatile memory storage device | |
JP6125087B2 (ja) | 利用可能なメモリスペースに基づく冗長ストレージ構成の選択 | |
US7610435B2 (en) | Nonvolatile memory device employing a write completion flag table | |
KR101648531B1 (ko) | 불휘발성 메모리 시스템과 이의 동작 방법 | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
CN101944386B (zh) | 识别闪速存储器中错误数据的控制电路及存储系统与方法 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
MX2012010944A (es) | Detección de distribución de paridad no regulada vía etiqueta de metadatos. | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
TWI459393B (zh) | 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置 | |
CN111124758A (zh) | 一种故障硬盘的数据恢复方法 | |
CN103699457A (zh) | 基于条带化的磁盘阵列修复方法及装置 | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
TWI420313B (zh) | 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN103699491A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN105320464A (zh) | 防止读取干扰的方法、存储器控制电路单元与存储装置 | |
CN104636267A (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN105022695A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN104252317A (zh) | 数据写入方法、存储器控制器与存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |