CN101645047A - 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 - Google Patents
一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 Download PDFInfo
- Publication number
- CN101645047A CN101645047A CN200910189865A CN200910189865A CN101645047A CN 101645047 A CN101645047 A CN 101645047A CN 200910189865 A CN200910189865 A CN 200910189865A CN 200910189865 A CN200910189865 A CN 200910189865A CN 101645047 A CN101645047 A CN 101645047A
- Authority
- CN
- China
- Prior art keywords
- flash
- lock
- data
- embedded system
- release
- 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.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,解决嵌入式系统中防止系统在上电、掉电过程中闪存数据丢失的技术问题,采用的技术方案是,借助闪存芯片单元中的非易失性字段以及Linux系统和配套管理软件实现,在Linux系统的内核层设置与非易失性字段配套的锁写保护驱动接口电路,CPU借助信号采集单元采集系统运行状态后,向锁写保护驱动接口发送锁或解锁控制命令,实现对闪存芯片单元中的非易失性字段的锁或解锁。本发明的优点是设备在上电和掉电的期间同样受此字段的限制,因此有效的防止了闪存单元中数据的丢失可能,在保证闪存单元中数据完整性的同时很好地避开了由于硬件或软件的原因丢失闪存数据的可能性,具有很好的社会效益和经济效益。
Description
技术领域
本发明属于嵌入式系统中的闪存数据保护技术领域,涉及到一种闪存中数据的保护方法,特别是在系统上电或掉电期间保护闪存数据安全性和完整性的方法。
背景技术
随着社会的进步,科技的发展,多元的化设备也是日新月异,用户的对嵌入式的设备也提出了更高的要求,需要能够提供完备的功能,安全,快捷,稳定,易操作等优点的嵌入式设备,其中的系统简称为嵌入式系统,用来管理嵌入式设备的系统,对整个系统中存在的用户接口和内部接口之间协调和操作,为用户提供更加人性化的操作。统一对系统中资源分配调度,为了保存嵌入式系统(Embedded Operating System)中的数据和代码,必须有一种非易失性存储器,即Flash闪存存储器。同时对用户提供存储私人数据,也是多功能,低能耗,高可靠的嵌入式系统设备(EmbeddedOperating System unit)必不可少的器件。今后的社会发展过程中这种嵌入式系统设备会越来越多,嵌入式系统中Flash闪存数据的完整性和安全性越来越需要得到保证。
目前比较常见的嵌入式系统有Linux,WinCE,VxWorks,UC/OS,Nucleus,其中Linux的特点是开源,免费,并且存在一个庞大的开源组织不管在实际开发过程遇到什么问题都可以通过开源论坛,或者是其它途径找解决方案,该系统为嵌入式系统(Embedded Operating System)注入了活力,使今后嵌入式系统的发展历上添加了重重的一笔。
如上所述,由于嵌入式设备的需求量大加速了嵌入式系统(EmbeddedOperating System)的发展,对嵌入式系统的发展也是个契机,其中Flash闪存数据的安全性和完整性就显得尤其的重要。系统在加电后所有的程序都开始加载,程序加载结束后程序的运行所有的这些一切的操作都依靠着Flash闪存中存储的数据和代码,所以嵌入式系统中flash数据的安全性和完整性是必须的性能指标。
闪存数据容易丢失的原因有以下几种:
1、Flash数据丢失的硬件原因
Flash操作由硬件控制,所以硬件上的不稳定可能造成Flash操作错误。硬件原因主要是能影响CPU正常运行的因素,以及能影响Flash操作环境的因素。这些因素包括操作电压、温度以及外部干扰脉冲等,具体如下:
①能影响CPU运行可靠性的参数有系统时钟源。如果系统时钟由外部晶振提供,外部的电磁干扰引起尖脉冲,并耦合到系统时钟上,则会导致不可预知的操作。
②系统在CPU的工作电压没有稳定(VDD上升时间低于规定的1ms)时就已经完成复位,由于系统复位时需要从Flash读出代码数据,Flash电压不稳定会出现不可预测的错误。
③在对Flash的操作过程中,如果温度、电压不稳定,也可能造成Flash数据错误。
2、Flash数据丢失的软件原因
代码设计的缺陷是程序丢失的原因之一,因为Flash是由硬件来控制的,不能由软件来控制操作的细节,所以程序的不完善可能造成Flash的访问出错,从而使Flash数据出现错误。这些操作包括:在使能flash写之后,由于软件设计的缺陷导致错误的将数据写到Flash中了,从而出现问题。另外,如果使用外部晶振作系统时钟,在时钟没有稳定时就对Flash进行写操作,也可能造成程序丢失。
以上问题单纯从硬件或软件角度并不能很好地解决闪存数据完整性的问题,但是我们发现它们的共同特点是都无法防止系统在上电、掉电过程丢失资料的技术缺陷,因此,虽然不能使上述问题逐一解决,但是只要解决了系统在上电、掉电过程丢失资料的技术缺陷,就可以避免上述的所有问题的发生。现有技术并不能很好的解决,给本领域带来了不便。
发明内容
本发明的目的是为了解决嵌入式系统中防止系统在上电、掉电过程中闪存数据丢失的技术问题,设计了一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,使系统在上电或掉电时将闪存单元中的非易失性字段完全锁住,在此期间不可以对闪存单元中的数据进行写操作,保证了闪存数据的完整性。
本发明为实现发明目的采用的技术方案是,一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,该方法借助闪存芯片单元中的非易失性字段以及Linux系统和配套管理软件实现,在Linux系统的内核层设置与非易失性字段配套的锁写保护驱动接口电路,CPU借助信号采集单元采集系统运行状态后,向锁写保护驱动接口发送锁或解锁控制命令,实现对闪存芯片单元中的非易失性字段的锁或解锁。
本发明利用了flash闪存芯片自带的锁写保护的一个非易失性字段,通过设置锁写保护驱动接口来控制闪存的锁和解锁。即当该字段被关闭(锁)时,任何的数据修改都无法操作,只有当它为打开(解锁)状态才可以写flash闪存数据。重要的是,一旦设置了该字段,即使系统掉电,同样保留了该字段值,通过本方法,设备在上电和掉电的期间同样受此字段的限制,因此有效的防止了闪存单元中数据的丢失可能,在保证闪存单元中数据完整性的同时很好地避开了由于硬件或软件的原因丢失闪存数据的可能性,具有很好的社会效益和经济效益。
下面结合附图对本发明进行详细说明。
附图说明
图1是本发明在系统启动前引导加载程序中应用的步骤流程图。
图2是本发明在系统启动后应用的步骤流程图。
图3是本发明在系统异常掉电时的步骤流程图。
具体实施方式
参看附图,一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,该方法借助闪存芯片单元中的非易失性字段以及Linux系统和配套管理软件实现,在Linux系统的内核层设置与非易失性字段配套的锁写保护驱动接口电路,CPU借助信号采集单元采集系统运行状态后,向锁写保护驱动接口发送锁或解锁控制命令,实现对闪存芯片单元中的非易失性字段的锁或解锁。本发明利用了flash闪存芯片自带的锁写保护的一个非易失性字段,通过设置锁写保护驱动接口来控制闪存的锁和解锁。即当该字段被关闭(锁)时,任何的数据修改都无法操作,只有当它为打开(解锁)状态才可以写flash闪存数据。重要的是,一旦设置了该字段,即使系统掉电,同样保留了该字段值。
为了便于系统控制,设置非易失性字段的二进制数据状态参数,在CPU发送锁或解锁控制命令之前,首先借助驱动接口电路读取二进制数据状态参数,根据状态参数决定CPU进行、或不进行发送锁或解锁的控制命令。若要进行锁命令,当闪存已是锁状态,无需动作;当内存是解锁状态,则进行锁动作。若要进行解锁命令,当内存是锁状态,则进行解锁动作,当内存已是解锁状态,则无需动作。
为方便随时锁定、解锁或者读取内存状态,上述的方法借助计算机在CPU的输入端设置命令行输入接口电路,通过命令行输入接口实现人为对闪存芯片单元中的非易失性字段的锁或解锁。
上述的方法在引导加载程序中或系统启动后实现。
下面举出具体实施例来解释本方法在引导加载程序以及系统启动后中应用的流程。
参看图1,当系统上电后、引导加载程序启动,为防止此阶段闪存单元中数据丢失,要进行锁程序。首先CPU借助锁写保护驱动接口读取当前闪存的状态,如果此时已为锁状态,那么直接结束锁程序;如果是解锁状态,CPU则执行锁命令,发送锁定编码信号至锁写保护驱动接口,使闪存变为锁状态,此后系统启动。
参看图2,当系统启动后,系统会执行启动脚本文件,在此期间,闪存同样容易出现丢失数据,此时也需要对闪存进行锁命令,CPU借助锁写保护驱动接口读取当前闪存的状态,如果为锁状态,那么直接结束锁程序;如果为解锁状态,CPU则执行锁命令,发送锁定编码信号至锁写保护驱动接口,使闪存变为锁状态,启动结束。
参看图3,当系统异常掉电时,根据公知的延时电路,CPU可以在延时期间(一般在毫秒或微秒级)进行低电压检测功能,当电压有下降时(例如从5V下降到3V),马上执行锁命令,发送锁定编码信号至锁写保护驱动接口,使闪存变为锁状态,避免由于异常掉电而使闪存中存储的数据丢失。
本方法就是针对系统在上电和掉电时避免出现闪存数据丢失的现象,通过CPU对锁写保护驱动接口的控制来实现闪存中非易失性字段的完全锁定,在锁定期间闪存数据不可写、不可删除,保证了闪存数据的安全性和完整性。
Claims (4)
1、一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,该方法借助闪存芯片单元中的非易失性字段以及Linux系统和配套管理软件实现,其特征在于:在Linux系统的内核层设置与非易失性字段配套的锁写保护驱动接口电路,CPU借助信号采集单元采集系统运行状态后,向锁写保护驱动接口发送锁或解锁控制命令,实现对闪存芯片单元中的非易失性字段的锁或解锁。
2、根据权利要求1所述的一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,其特征在于:设置非易失性字段的二进制数据状态参数,在CPU发送锁或解锁控制命令之前,首先借助驱动接口电路读取二进制数据状态参数,根据状态参数决定CPU进行、或不进行发送锁或解锁的控制命令。
3、根据权利要求1所述的一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,其特征在于:所述的方法借助计算机在CPU的输入端设置命令行输入接口电路,通过命令行输入接口实现人为对闪存芯片单元中的非易失性字段的锁或解锁。
4、根据权利要求1或3所述的一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,其特征在于:所述的方法在引导加载程序中或系统启动后实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910189865 CN101645047B (zh) | 2009-09-02 | 2009-09-02 | 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910189865 CN101645047B (zh) | 2009-09-02 | 2009-09-02 | 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101645047A true CN101645047A (zh) | 2010-02-10 |
CN101645047B CN101645047B (zh) | 2011-03-16 |
Family
ID=41656936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910189865 Active CN101645047B (zh) | 2009-09-02 | 2009-09-02 | 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101645047B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882189A (zh) * | 2010-06-30 | 2010-11-10 | 华南理工大学 | 一种保证程序完整性的嵌入式系统及其实现方法 |
CN102262598A (zh) * | 2010-05-28 | 2011-11-30 | 纬创资通股份有限公司 | 可提升写入保护的存储器系统及相关方法 |
US8650366B2 (en) | 2010-05-19 | 2014-02-11 | Wistron Corporation | Memory system capable of enhancing writing protection and related method |
CN103761124A (zh) * | 2014-01-06 | 2014-04-30 | 武汉烽火富华电气有限责任公司 | 用于保护测控装置的嵌入式Linux系统启动方法 |
CN112948183A (zh) * | 2021-03-30 | 2021-06-11 | 西安微电子技术研究所 | 一种软硬件结合的嵌入式设备及方法 |
-
2009
- 2009-09-02 CN CN 200910189865 patent/CN101645047B/zh active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650366B2 (en) | 2010-05-19 | 2014-02-11 | Wistron Corporation | Memory system capable of enhancing writing protection and related method |
CN102262598A (zh) * | 2010-05-28 | 2011-11-30 | 纬创资通股份有限公司 | 可提升写入保护的存储器系统及相关方法 |
CN102262598B (zh) * | 2010-05-28 | 2016-10-05 | 纬创资通股份有限公司 | 可提升写入保护的存储器系统及相关方法 |
CN101882189A (zh) * | 2010-06-30 | 2010-11-10 | 华南理工大学 | 一种保证程序完整性的嵌入式系统及其实现方法 |
CN103761124A (zh) * | 2014-01-06 | 2014-04-30 | 武汉烽火富华电气有限责任公司 | 用于保护测控装置的嵌入式Linux系统启动方法 |
CN103761124B (zh) * | 2014-01-06 | 2017-03-01 | 武汉烽火富华电气有限责任公司 | 用于保护测控装置的嵌入式Linux系统启动方法 |
CN112948183A (zh) * | 2021-03-30 | 2021-06-11 | 西安微电子技术研究所 | 一种软硬件结合的嵌入式设备及方法 |
CN112948183B (zh) * | 2021-03-30 | 2023-05-12 | 西安微电子技术研究所 | 一种软硬件结合的嵌入式设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101645047B (zh) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101645047B (zh) | 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 | |
CN100594551C (zh) | 保护集成电路免于错误操作的方法和装置 | |
KR102602990B1 (ko) | 전원 공급 장치 및 이를 포함하는 전자 장치 | |
US8923088B2 (en) | Solid state storage device with sleep control circuit | |
US11550496B2 (en) | Buffer management during power state transitions using self-refresh and dump modes | |
US20100272265A1 (en) | System and method to control one time programmable memory | |
CN108491058A (zh) | 一种非易失性内存的异常掉电数据保护方法及装置 | |
CN103995578A (zh) | 一种具有绿能数据持续模式的器件驱动器 | |
CN110377528B (zh) | 进行电源管理的方法、记忆装置和其控制器、和电子装置 | |
WO2012018605A1 (en) | Dynamic allocation of power budget for a system having non-volatile memory | |
JP4780620B2 (ja) | 制御ルールがフレキシブルに拡張する機能を有する電池管理システムチップ | |
US11990196B2 (en) | Computing register with non-volatile-logic data storage | |
CN105389122B (zh) | 数据储存器件的操作方法 | |
WO2015081129A2 (en) | Hard power fail architecture | |
CN1979686A (zh) | 内嵌非易失存储器的系统集成芯片的安全测试方法 | |
US11815977B2 (en) | Power translator component | |
US11467654B2 (en) | Power management integrated circuit based system management bus isolation | |
CN103064800A (zh) | 一种掉电保护系统及其实现方法 | |
CN108762970A (zh) | 一种高可靠星载计算机程序存储设备 | |
CN216212350U (zh) | 一种电源管理芯片及存储器保护系统 | |
CN112652348B (zh) | 一种NAND Flash芯片掉电保护电路及保护方法 | |
CN114356066B (zh) | 存储器系统和管理存储器系统中的电力的方法 | |
JP6908664B2 (ja) | 電源ユニットホールドアップ時間を延長するためのシステムおよび方法 | |
CN207067989U (zh) | 低功耗控制装置 | |
CN114281754B (zh) | 一种双核异构SoC芯片 |
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 |
Owner name: SHENZHEN GONGJIN ELECTRONIC CO., LTD. Free format text: FORMER NAME: SHENZHEN GONGJIN ELECTRONICS CO., LTD. |
|
CP03 | Change of name, title or address |
Address after: 518000, Shenzhen, Guangdong province Nanshan District Shekou Nanhai Road 1019, 100 surplus medical instrument Park, two floor Patentee after: Shenzhen Gongjin Electronics Co., Ltd. Address before: Two, building 518052, new energy building, Nanhai Avenue, Guangdong, Shenzhen, Nanshan District Patentee before: Shenzhen Gongjin Electronics Co., Ltd. |