CN103544079B - 基于可编程控制器实现闪存芯片数据恢复的系统及方法 - Google Patents
基于可编程控制器实现闪存芯片数据恢复的系统及方法 Download PDFInfo
- Publication number
- CN103544079B CN103544079B CN201310518047.2A CN201310518047A CN103544079B CN 103544079 B CN103544079 B CN 103544079B CN 201310518047 A CN201310518047 A CN 201310518047A CN 103544079 B CN103544079 B CN 103544079B
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- programmable logic
- logic controller
- memory chip
- 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
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于可编程控制器实现闪存芯片数据恢复的系统,其中包括可编程控制器,用以根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;程序闪存;嵌入式处理器,用以根据与所述的闪存芯片数据恢复程序读取闪存芯片的原始数据并将原始数据恢复成为可被操作系统识别的数据;活动芯片安装底座连接器;程序内存,本发明还涉及一种基于可编程控制器实现闪存芯片数据恢复的方法。采用该种结构的基于可编程控制器实现闪存芯片数据恢复的系统及方法,可以实现快速恢复闪存芯片内的数据信息和快速查找恢复的数据,根据不同类型的闪存芯片更改内部数据恢复的控制逻辑,不需要更换设备就可以适用于各种类型的闪存芯片,具有更广泛的应用范围。
Description
技术领域
本发明涉及计算机数据处理领域,尤其涉及闪存芯片数据恢复领域,具体是指一种基于可编程控制器实现闪存芯片数据恢复的系统及方法。
背景技术
目前,闪存芯片已经是十分普及的存储设备,广泛的应用于移动电子设备、嵌入式电子设备以及其他各类电子设备中。
现有技术中,闪存芯片里的数据读取完全依赖于原有的系统,原有系统中控制和连接设备的损坏比例往往大于闪存芯片本身的损坏,而原有系统一旦出现问题,即使闪存芯片完好也难以实现闪存芯片中的数据恢复。
虽然ONFI接口标准规定了大部分闪存芯片的读取时序,可以实现方便地读取闪存芯片的逻辑,但仍然有部分未在标准中规定的闪存芯片需要特别的读取方法进行数据恢复。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现直接从闪存芯片中读取和恢复存储数据、根据不同类型的闪存芯片更改内部数据恢复的控制逻辑、适用于各种闪存芯片、具有更广泛应用范围的基于可编程控制器实现闪存芯片数据恢复的系统及方法。为了实现上述目的,本发明的基于可编程控制器实现闪存芯片数据恢复的系统及方法具有如下构成:
该基于可编程控制器实现闪存芯片数据恢复的系统,其主要特点是,所述的系统包括:可编程控制器,用以根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;程序闪存DISK,用以实时存放所述的可编程控制器动态修改的闪存芯片数据恢复程序;嵌入式处理器,用以根据与所述的闪存芯片数据恢复程序读取闪存芯片的原始数据并将原始数据恢复成为可被操作系统识别的数据;
活动芯片安装底座连接器,连接于封装的各种类型的闪存芯片和所述的嵌入式处理器之间;
程序内存RAM,用以存放所述的嵌入式处理器在处理过程中的动态数据。
较佳地,所述的系统还包括USB连接控制器,所述的USB连接控制器连接于上位处理设备与所述的嵌入式处理器之间。
更佳地,所述的上位处理设备为U盘、固态硬盘或上位机。
较佳地,所述的系统还包括触摸屏,所述的触摸屏与所述的嵌入式处理器相连接。
较佳地,所述的嵌入式处理器为基于ARM内核的主控处理器。
较佳地,所述的可编程控制器为现场可编程门阵列。
本发明还涉及一种通过所述的系统基于可编程控制器实现闪存芯片数据恢复的方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;
(2)所述的嵌入式处理器根据所述的闪存芯片数据恢复程序通过所述的活动芯片安装底座连接器读取闪存芯片中的原始数据;
(3)所述的嵌入式处理器将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据。
较佳地,所述的系统还包括USB连接控制器,所述的步骤(3)之后,还包括以下步骤:
(4)所述的嵌入式处理器将可被操作系统识别的数据通过所述的USB连接控制器传输到上位处理设备。
较佳地,所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序,包括以下步骤:
(11)所述的可编程控制器根据所述的闪存芯片的类型重新编程来修改硬件IP信号逻辑;
(12)所述的可编程控制器根据所述的闪存芯片的类型进行控制器内软核的编程来修改数据读取协议。
较佳地,将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据,包括以下步骤:
(31)确定闪存芯片的数据存储块和数据存储页的大小;
(32)读取闪存芯片的数据存储页备用区中的元数据;
(33)计算所述的元数据的分布频率表;
(34)计算数据的逻辑地址与物理地址的转换公式;
(35)将数据重组成可被操作系统识别的数据。
采用了该发明中的基于可编程控制器实现闪存芯片数据恢复的系统及方法,可以实现在不连接PC的情况下,直接从闪存芯片中读取和恢复存储数据,快速恢复闪存芯片内的数据信息和快速查找恢复的数据,根据不同类型的闪存芯片更改内部数据恢复的控制逻辑,不需要更换设备就可以适用于各种类型的闪存芯片,具有更广泛的应用范围。
附图说明
图1为本发明的基于可编程控制器实现闪存芯片数据恢复的系统的结构示意图。
图2为本发明的基于可编程控制器实现闪存芯片数据恢复的方法的流程图。
图3为本发明的将闪存芯片中的原始数据转换成可被操作系统识别的数据的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明可以在不连接PC的情况下,快速恢复芯片内的数据信息和快速查找恢复的数据。
本发明可以通过可编程控制器动态的改变与闪存芯片的连接时序,从而不需要更换设备就可以读取更多类型的闪存芯片。恢复后的数据可以通过USB接口连接上位主机。
如图1所示,本发明的基于可编程控制器实现闪存芯片数据恢复的系统包括:
程序闪存DISK(磁盘):主要组成部分有:操作系统(Operating System,OS)、用户交互的GUI(Graphical User Interface,图形用户界面)、芯片数据恢复程序和可编程控制器内核系统动态更新程序。
程序内存RAM(Random Access Memory,随机存储器):操作系统使用,用以存放嵌入式处理器的动态数据。
嵌入式处理器SOC(System on a chip,片上系统):基于ARM内核的主控处理器,带有丰富的高速总线和低速总线,可以连接可编程控制器和输入输出设备。
可编程控制器FPGA(Field Programmable Gata Array,现场可编程门阵列):基于微型软核uCore+uC/OS操作系统,内部uC/OS可以通过软件动态更新,这样可以修改连接Nand Flash的时序从而适应多种芯片的读取。
USB连接控制器(USB host/client):用来连接U盘、SSD或上位机等上位处理设备来恢复原始的文件系统。
活动芯片安装底座连接器(Adapter):用来连接各种封装的Nand Flash芯片。
如图2所示为本发明的基于可编程控制器实现闪存芯片数据恢复的方法的流程图,该方法包括以下步骤:
(1)所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;
通过可编程控制器可以动态的调整读取闪存芯片的时序和协议,具体就是,根据Nand Flash的型号来调整FPGA的硬IP的逻辑来实现信号时序的匹配,调整FPGA的软核程序来调整读取数据协议。
ONFI接口标准是一个读取Nand Flash的协议和时序标准,本发明设计的方案不仅可以满足ONFI的标准,也可以提供ONFI标准以外的更加灵活的动态读取接口。
通过可编程控制器动态地改变连接内存连接时序,包括如下步骤:
(11)通过对FPGA重新编程来修改硬件IP信号逻辑;
(12)通过对FPGA内软核的编程来修改数据议。
(2)所述的嵌入式处理器根据所述的闪存芯片数据恢复程序通过所述的活动芯片安装底座连接器读取闪存芯片中的原始数据;
(3)所述的嵌入式处理器将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据;
(4)所述的嵌入式处理器将可被操作系统识别的数据通过所述的USB连接控制器传输到上位处理设备。
其中第三步数据恢复的过程,包括以下子步骤,如图3所示:
(31)确定Nand Flash芯片的数据存储块(block)和数据存储页(page)的大小;
(32)读取元数据meta data(spare area备用区)的数据;
(33)计算meta data的分布频率表;
(34)计算LBN逻辑地址与PBN物理地址的转换公式;
(35)加入参数重建文件系统;
(36)文件系统正确性测试。
采用了该发明中的基于可编程控制器实现闪存芯片数据恢复的系统及方法,可以实现在不连接PC的情况下,直接从闪存芯片中读取和恢复存储数据,快速恢复闪存芯片内的数据信息和快速查找恢复的数据,根据不同类型的闪存芯片更改内部数据恢复的控制逻辑,不需要更换设备就可以适用于各种类型的闪存芯片,具有更广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (9)
1.一种基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的系统包括:
可编程控制器,用以根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;
程序闪存DISK,用以实时存放所述的可编程控制器动态修改的闪存芯片数据恢复程序;
嵌入式处理器,用以根据与所述的闪存芯片数据恢复程序读取闪存芯片的原始数据并通过确定闪存芯片的数据存储块和数据存储页的大小;读取闪存芯片的数据存储页备用区中的元数据;计算所述的元数据的分布频率表;计算数据的逻辑地址与物理地址的转换公式;以将数据重组成可被操作系统识别的数据;
活动芯片安装底座连接器,连接于封装的各种类型的闪存芯片和所述的嵌入式处理器之间;
程序内存RAM,用以存放所述的嵌入式处理器在处理过程中的动态数据。
2.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的系统还包括USB连接控制器,所述的USB连接控制器连接于上位处理设备与所述的嵌入式处理器之间。
3.根据权利要求2所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的上位处理设备为U盘、固态硬盘或上位机。
4.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的系统还包括触摸屏,所述的触摸屏与所述的嵌入式处理器相连接。
5.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的嵌入式处理器为基于ARM内核的主控处理器。
6.根据权利要求1所述的基于可编程控制器实现闪存芯片数据恢复的系统,其特征在于,所述的可编程控制器为现场可编程门阵列。
7.一种通过权利要求1所述的系统基于可编程控制器实现闪存芯片数据恢复的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序;
(2)所述的嵌入式处理器根据所述的闪存芯片数据恢复程序通过所述的活动芯片安装底座连接器读取闪存芯片中的原始数据;
(3)所述的嵌入式处理器将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据;
将所述的闪存芯片中的原始数据转换成可被操作系统识别的数据,包括以下步骤:
(31)确定闪存芯片的数据存储块和数据存储页的大小;
(32)读取闪存芯片的数据存储页备用区中的元数据;
(33)计算所述的元数据的分布频率表;
(34)计算数据的逻辑地址与物理地址的转换公式;
(35)将数据重组成可被操作系统识别的数据。
8.根据权利要求7所述的基于可编程控制器实现闪存芯片数据恢复的方法,其特征在于,所述的系统还包括USB连接控制器,所述的步骤(3)之后,还包括以下步骤:
(4)所述的嵌入式处理器将可被操作系统识别的数据通过所述的USB连接控制器传输到上位处理设备。
9.根据权利要求7所述的基于可编程控制器实现闪存芯片数据恢复的方法,其特征在于,所述的可编程控制器根据所述的闪存芯片的类型修改闪存芯片数据恢复程序,包括以下步骤:
(11)所述的可编程控制器根据所述的闪存芯片的类型重新编程来修改硬件IP信号逻辑;
(12)所述的可编程控制器根据所述的闪存芯片的类型进行控制器内软核的编程来修改数据读取协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310518047.2A CN103544079B (zh) | 2013-10-28 | 2013-10-28 | 基于可编程控制器实现闪存芯片数据恢复的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310518047.2A CN103544079B (zh) | 2013-10-28 | 2013-10-28 | 基于可编程控制器实现闪存芯片数据恢复的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544079A CN103544079A (zh) | 2014-01-29 |
CN103544079B true CN103544079B (zh) | 2017-02-01 |
Family
ID=49967552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310518047.2A Active CN103544079B (zh) | 2013-10-28 | 2013-10-28 | 基于可编程控制器实现闪存芯片数据恢复的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103544079B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6600976B2 (ja) * | 2015-04-20 | 2019-11-06 | 株式会社ジェイテクト | プログラマブルコントローラのモニタ装置 |
CN107634861A (zh) * | 2017-10-10 | 2018-01-26 | 安徽皖通邮电股份有限公司 | 一种路由器多业务配置分层管理方法 |
CN116431218B (zh) * | 2023-05-10 | 2024-01-26 | 灵动微电子(苏州)有限公司 | 一种可兼容的芯片存储器控制方法、系统和控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3732413B2 (ja) * | 2001-02-05 | 2006-01-05 | 株式会社日立製作所 | 自動車用制御装置 |
CN101315812A (zh) * | 2008-03-20 | 2008-12-03 | 上海交通大学 | 基于并口的flash存储器在线编程方法 |
CN103365815A (zh) * | 2013-06-27 | 2013-10-23 | 清华大学 | 支持sd模式下ip实现的sd存储卡接口 |
-
2013
- 2013-10-28 CN CN201310518047.2A patent/CN103544079B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3732413B2 (ja) * | 2001-02-05 | 2006-01-05 | 株式会社日立製作所 | 自動車用制御装置 |
CN101315812A (zh) * | 2008-03-20 | 2008-12-03 | 上海交通大学 | 基于并口的flash存储器在线编程方法 |
CN103365815A (zh) * | 2013-06-27 | 2013-10-23 | 清华大学 | 支持sd模式下ip实现的sd存储卡接口 |
Non-Patent Citations (1)
Title |
---|
基于闪存数据恢复的计算机取证技术的研究与实现;易凌鹰;《中国优秀硕士学位论文全文数据库信息科技辑》;20110315(第3期);第四章第4.1、4.3、4.4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN103544079A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103095855B (zh) | I2c通信接口装置 | |
US8266371B2 (en) | Non-volatile storage device, host device, non-volatile storage system, data recording method, and program | |
CN109165025A (zh) | 芯片离线烧录方法、装置、系统、计算机存储介质及设备 | |
CN108089940A (zh) | 处理超时的系统、方法和装置 | |
CN105700732A (zh) | 用于传输触摸传感器信息的装置、系统和方法 | |
CN104820637A (zh) | 一种手持式usb3.0协议分析仪 | |
CN105159731A (zh) | 一种fpga配置文件远程升级的装置 | |
CN104063300A (zh) | 一种基于fpga的高端多路服务器监控信息采集装置 | |
US11003614B2 (en) | Embedding protocol parameters in data streams between host devices and storage devices | |
CN103544079B (zh) | 基于可编程控制器实现闪存芯片数据恢复的系统及方法 | |
CN105657309A (zh) | 一种执法记录仪多路数据采集方法及系统 | |
CN102752294A (zh) | 基于设备能力的多终端数据同步方法和系统 | |
CN106681945A (zh) | 多协议接口的固态硬盘 | |
CN105117179A (zh) | 一种主机与存储设备数据交互的方法及存储控制器 | |
CN101788946B (zh) | Cpld上连接有e2prom设备的固件烧结方法及装置 | |
CN106292544B (zh) | 基于pcie接口硬件板卡及其总线控制方法及系统 | |
CN108228314B (zh) | 一种基于设备规约的虚拟原型错误检测方法 | |
WO2020113421A1 (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN110703948A (zh) | 触摸屏操作录播系统及方法 | |
CN201278146Y (zh) | 一种基于fpga实现ata接口信号捕获装置 | |
CN104572515A (zh) | 跟踪模块、方法、系统和片上系统芯片 | |
CN107704417A (zh) | 与被测设备通信的方法及其通信系统 | |
CN203825617U (zh) | 一种基于usb的高速数据传输设备 | |
CN105068965A (zh) | 基于I2C总线的NAND Flash存储方法及系统 | |
CN111026584A (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 |