基于可编程控制器实现闪存芯片数据恢复的系统及方法

文档序号:6516860阅读:269来源:国知局
基于可编程控制器实现闪存芯片数据恢复的系统及方法
【专利摘要】本发明涉及一种基于可编程控制器实现闪存芯片数据恢复的系统,其中包括可编程控制器,用以根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;程序闪存;嵌入式处理器,用以根据与所述的闪存芯片数据恢复程序读取闪存芯片的原始数据并将原始数据恢复成为可被操作系统识别的数据;活动芯片安装底座连接器;程序内存,本发明还涉及一种基于可编程控制器实现闪存芯片数据恢复的方法。采用该种结构的基于可编程控制器实现闪存芯片数据恢复的系统及方法,可以实现快速恢复闪存芯片内的数据信息和快速查找恢复的数据,根据不同类型的闪存芯片更改内部数据恢复的控制逻辑,不需要更换设备就可以适用于各种类型的闪存芯片,具有更广泛的应用范围。
【专利说明】基于可编程控制器实现闪存芯片数据恢复的系统及方法
【技术领域】
[0001]本发明涉及计算机数据处理领域,尤其涉及闪存芯片数据恢复领域,具体是指一种基于可编程控制器实现闪存芯片数据恢复的系统及方法。
【背景技术】
[0002]目前,闪存芯片已经是十分普及的存储设备,广泛的应用于移动电子设备、嵌入式电子设备以及其他各类电子设备中。
[0003]现有技术中,闪存芯片里的数据读取完全依赖于原有的系统,原有系统中控制和连接设备的损坏比例往往大于闪存芯片本身的损坏,而原有系统一旦出现问题,即使闪存芯片完好也难以实现闪存芯片中的数据恢复。
[0004]虽然ONFI接口标准规定了大部分闪存芯片的读取时序,可以实现方便地读取闪存芯片的逻辑,但仍然有部分未在标准中规定的闪存芯片需要特别的读取方法进行数据恢复。

【发明内容】

[0005]本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现直接从闪存芯片中读取和恢复存储数据、根据不同类型的闪存芯片更改内部数据恢复的控制逻辑、适用于各种闪存芯片、具有更广泛应用范围的基于可编程控制器实现闪存芯片数据恢复的系统及方法。
[0006]为了实现上述目的,本发明的基于可编程控制器实现闪存芯片数据恢复的系统及方法具有如下构成:
[0007]该基于可编程控制器实现闪存芯片数据恢复的系统,其主要特点是,所述的系统包括:
[0008]可编程控制器,用以根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;
[0009]程序闪存,用以实时存放所述的可编程控制器动态修改的闪存芯片数据恢复程序;
[0010]嵌入式处理器,用以根据与所述的闪存芯片数据恢复程序读取闪存芯片的原始数据并将原始数据恢复成为可被操作系统识别的数据;
[0011]活动芯片安装底座连接器,连接于封装的各种类型的闪存芯片和所述的嵌入式处理器之间;
[0012]程序内存,用以存放所述的嵌入式处理器在处理过程中的动态数据。
[0013]较佳地,所述的系统还包括USB连接控制器,所述的USB连接控制器连接于上位处理设备与所述的嵌入式处理器之间。
[0014]更佳地,所述的上位处理设备为U盘、固态硬盘或上位机。
[0015]较佳地,所述的系统还包括触摸屏,所述的触摸屏与所述的嵌入式处理器相连接。
[0016]较佳地,所述的嵌入式处理器为基于ARM内核的主控处理器。[0017]较佳地,所述的可编程控制器为现场可编程门阵列。
[0018]本发明还涉及一种通过所述的系统基于可编程控制器实现闪存芯片数据恢复的方法,其主要特点是,所述的方法包括以下步骤:
[0019](I)所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;
[0020](2)所述的嵌入式处理器根据所述的闪存芯片数据恢复程序通过所述的活动芯片安装底座连接器读取闪存芯片中的原始数据;
[0021](3)所述的嵌入式处理器将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据。
[0022]较佳地,所述的系统还包括USB连接控制器,所述的步骤(3)之后,还包括以下步骤:
[0023](4)所述的嵌入式处理器将可被操作系统识别的数据通过所述的USB连接控制器传输到上位处理设备。
[0024]较佳地,所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序,包括以下步骤:
[0025]( 11)所述的可编程控制器根据所述的闪存芯片的类型重新编程来修改硬件IP信号逻辑;
[0026](12)所述的可编程控制器根据所述的闪存芯片的类型进行控制器内软核的编程来修改数据读取协议。
[0027]较佳地,将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据,包括以下步骤:
[0028](31)确定闪存芯片的数据存储块和数据存储页的大小;
[0029](32)读取闪存芯片的数据存储页备用区中的元数据;
[0030](33)计算所述的元数据的分布频率表;
[0031](34)计算数据的逻辑地址与物理地址的转换公式;
[0032](35)将数据重组成可被操作系统识别的数据。
[0033]采用了该发明中的基于可编程控制器实现闪存芯片数据恢复的系统及方法,可以实现在不连接PC的情况下,直接从闪存芯片中读取和恢复存储数据,快速恢复闪存芯片内的数据信息和快速查找恢复的数据,根据不同类型的闪存芯片更改内部数据恢复的控制逻辑,不需要更换设备就可以适用于各种类型的闪存芯片,具有更广泛的应用范围。
【专利附图】

【附图说明】
[0034]图1为本发明的基于可编程控制器实现闪存芯片数据恢复的系统的结构示意图。
[0035]图2为本发明的基于可编程控制器实现闪存芯片数据恢复的方法的流程图。
[0036]图3为本发明的将闪存芯片中的原始数据转换成可被操作系统识别的数据的流程图。
【具体实施方式】
[0037]为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0038]本发明可以在不连接PC的情况下,快速恢复芯片内的数据信息和快速查找恢复的数据。
[0039]本发明可以通过可编程控制器动态的改变与闪存芯片的连接时序,从而不需要更换设备就可以读取更多类型的闪存芯片。恢复后的数据可以通过USB接口连接上位主机。
[0040]如图1所示,本发明的基于可编程控制器实现闪存芯片数据恢复的系统包括:
[0041]程序闪存DISK (磁盘):主要组成部分有:操作系统(Operating System, OS)、用户交互的⑶I (Graphical User Interface,图形用户界面)、芯片数据恢复程序和可编程控制器内核系统动态更新程序。
[0042]程序内存RAM (Random Access Memory,随机存储器):操作系统使用,用以存放嵌入式处理器的动态数据。
[0043]嵌入式处理器SOC (System on a chip,片上系统):基于ARM内核的主控处理器,带有丰富的高速总线和低速总线,可以连接可编程控制器和输入输出设备。
[0044]可编程控制器FPGA (Field Programmable Gata Array,现场可编程门阵列):基于微型软核uCore+uC/OS操作系统,内部uC/OS可以通过软件动态更新,这样可以修改连接Nand Flash的时序从而适应多种芯片的读取。
[0045]USB连接控制器(USB host/client):用来连接U盘、SSD或上位机等上位处理设备来恢复原始的文件系统。
[0046]活动芯片安装底座连接器(Adapter):用来连接各种封装的Nand Flash芯片。
[0047]如图2所示为本发明的基于可编程控制器实现闪存芯片数据恢复的方法的流程图,该方法包括以下步骤:
[0048](I)所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;
[0049]通过可编程控制器可以动态的调整读取闪存芯片的时序和协议,具体就是,根据Nand Flash的型号来调整FPGA的硬IP的逻辑来实现信号时序的匹配,调整FPGA的软核程序来调整读取数据协议。
[0050]ONFI接口标准是一个读取Nand Flash的协议和时序标准,本发明设计的方案不仅可以满足ONFI的标准,也可以提供ONFI标准以外的更加灵活的动态读取接口。
[0051]通过可编程控制器动态地改变连接内存连接时序,包括如下步骤:
[0052](11)通过对FPGA重新编程来修改硬件IP信号逻辑;
[0053](12)通过对FPGA内软核的编程来修改数据议。
[0054](2)所述的嵌入式处理器根据所述的闪存芯片数据恢复程序通过所述的活动芯片安装底座连接器读取闪存芯片中的原始数据;
[0055](3)所述的嵌入式处理器将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据;
[0056](4)所述的嵌入式处理器将可被操作系统识别的数据通过所述的USB连接控制器传输到上位处理设备。
[0057]其中第三步数据恢复的过程,包括以下子步骤,如图3所示:
[0058](31)确定Nand Flash芯片的数据存储块(block)和数据存储页(page)的大小;[0059](32)读取元数据meta data (spare area备用区)的数据;
[0060](33)计算meta data的分布频率表;
[0061 ] (34)计算LBN逻辑地址与PBN物理地址的转换公式;
[0062](35)加入参数重建文件系统;
[0063](36)文件系统正确性测试。
[0064]采用了该发明中的基于可编程控制器实现闪存芯片数据恢复的系统及方法,可以实现在不连接PC的情况下,直接从闪存芯片中读取和恢复存储数据,快速恢复闪存芯片内的数据信息和快速查找恢复的数据,根据不同类型的闪存芯片更改内部数据恢复的控制逻辑,不需要更换设备就可以适用于各种类型的闪存芯片,具有更广泛的应用范围。
[0065]在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
【权利要求】
1.一种基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的系统包括: 可编程控制器,用以根据所述的闪存芯片的类型修改闪存芯片数据恢复程序; 程序闪存,用以实时存放所述的可编程控制器动态修改的闪存芯片数据恢复程序;嵌入式处理器,用以根据与所述的闪存芯片数据恢复程序读取闪存芯片的原始数据并将原始数据恢复成为可被操作系统识别的数据; 活动芯片安装底座连接器,连接于封装的各种类型的闪存芯片和所述的嵌入式处理器之间; 程序内存,用以存放所述的嵌入式处理器在处理过程中的动态数据。
2.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的系统还包括USB连接控制器,所述的USB连接控制器连接于上位处理设备与所述的嵌入式处理器之间。
3.根据权利要求2所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的上位处理设备为U盘、固态硬盘或上位机。
4.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的系统还包括触摸屏,所述的触摸屏与所述的嵌入式处理器相连接。
5.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的嵌入式处理器为基于ARM内核的主控处理器。
6.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的可编程控制器为现场可编程门阵列。
7.—种通过权利要求1所述的系统基于可编程控制器实现闪存芯片数据恢复的方法,其特征在于,所述的方法包括以下步骤: (1)所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序; (2)所述的嵌入式处理器根据所述的闪存芯片数据恢复程序通过所述的活动芯片安装底座连接器读取闪存芯片中的原始数据; (3)所述的嵌入式处理器将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据。
8.根据权利要求7所述的基于可编程控制器实现闪存芯片数据恢复的方法,其特征在于,所述的系统还包括USB连接控制器,所述的步骤(3)之后,还包括以下步骤: (4)所述的嵌入式处理器将可被操作系统识别的数据通过所述的USB连接控制器传输到上位处理设备。
9.根据权利要求7所述的基于可编程控制器实现闪存芯片数据恢复的方法,其特征在于,所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序,包括以下步骤: (11)所述的可编程控制器根据所述的闪存芯片的类型重新编程来修改硬件IP信号逻辑; (12)所述的可编程控制器根据所述的闪存芯片的类型进行控制器内软核的编程来修改数据读取协议。
10.根据权利要求7所述的基于可编程控制器实现闪存芯片数据恢复的方法,其特征在于,将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据,包括以下步骤: (31)确定闪存芯片的数据存储块和数据存储页的大小; (32)读取闪存芯片的数据存储页备用区中的元数据; (33)计算所述的元数据的分布频率表; (34)计算数据的逻辑地址与物理地址的转换公式; (35)将数据重组成可被操作系统识别的数据。
【文档编号】G06F11/14GK103544079SQ201310518047
【公开日】2014年1月29日 申请日期:2013年10月28日 优先权日:2013年10月28日
【发明者】何俊峰, 吴松洋, 王旭鹏, 其他发明人请求不公开姓名 申请人:公安部第三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1