首页> 中国专利> 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法

一种基于嵌入式系统的保护闪存数据安全性和完整性的方法

摘要

一种基于嵌入式系统的保护闪存数据安全性和完整性的方法,解决嵌入式系统中防止系统在上电、掉电过程中闪存数据丢失的技术问题,采用的技术方案是,借助闪存芯片单元中的非易失性字段以及Linux系统和配套管理软件实现,在Linux系统的内核层设置与非易失性字段配套的锁写保护驱动接口电路,CPU借助信号采集单元采集系统运行状态后,向锁写保护驱动接口发送锁或解锁控制命令,实现对闪存芯片单元中的非易失性字段的锁或解锁。本发明的优点是设备在上电和掉电的期间同样受此字段的限制,因此有效的防止了闪存单元中数据的丢失可能,在保证闪存单元中数据完整性的同时很好地避开了由于硬件或软件的原因丢失闪存数据的可能性,具有很好的社会效益和经济效益。

著录项

  • 公开/公告号CN101645047A

    专利类型发明专利

  • 公开/公告日2010-02-10

    原文格式PDF

  • 申请/专利权人 深圳市共进电子有限公司;

    申请/专利号CN200910189865.6

  • 申请日2009-09-02

  • 分类号G06F12/14(20060101);

  • 代理机构44241 深圳市智科友专利商标事务所;

  • 代理人曲家彬

  • 地址 518052 广东省深圳市南山区南海大道新能源大厦二楼

  • 入库时间 2023-12-17 23:22:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-01-25

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F12/14 变更前: 变更后: 申请日:20090902

    专利权人的姓名或者名称、地址的变更

  • 2011-03-16

    授权

    授权

  • 2010-04-14

    实质审查的生效 IPC(主分类):G06F12/14 申请日:20090902

    实质审查的生效

  • 2010-02-10

    公开

    公开

说明书

技术领域

本发明属于嵌入式系统中的闪存数据保护技术领域,涉及到一种闪存中数据的保护方法,特别是在系统上电或掉电期间保护闪存数据安全性和完整性的方法。

背景技术

随着社会的进步,科技的发展,多元的化设备也是日新月异,用户的对嵌入式的设备也提出了更高的要求,需要能够提供完备的功能,安全,快捷,稳定,易操作等优点的嵌入式设备,其中的系统简称为嵌入式系统,用来管理嵌入式设备的系统,对整个系统中存在的用户接口和内部接口之间协调和操作,为用户提供更加人性化的操作。统一对系统中资源分配调度,为了保存嵌入式系统(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对锁写保护驱动接口的控制来实现闪存中非易失性字段的完全锁定,在锁定期间闪存数据不可写、不可删除,保证了闪存数据的安全性和完整性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号