一种防止存储器被误擦写的保护方法

文档序号:6471308阅读:226来源:国知局

专利名称::一种防止存储器被误擦写的保护方法
技术领域
:本发明涉及一种存储器数据保护方法,具体地说,是涉及一种用于防止FLASH或EEPR0M存储器被误擦写的保护方法,是一种软件数据保护方法。
背景技术
:随着信息化,电子化进程的发展,数据越来越成为企业、事业单位日常运作的核心决策发展的依据,芯片数据作为记录存储企事业或个人关键信息的载体,其安全性要求也越来越高。因此对目前广泛使用的芯片数据存储器FLASH/EEPROM,在其数据保护机制的可靠性、安全性方面提出了更高的要求。FLASH/EEPROM存储器在外界环境比较恶劣时(超出规范允许的范围运行CPU,如温度与电压,或者是严重的EMI或电气噪声事件等),会使FLASH/EEPROM存储器的地址信号、数据信号、读信号、写信号都有可能随机变化,读写时序可能发生混乱,从而导致FLASH/EEPROM存储器的数据发生改变或丢失。也即是发生了误擦或误写的动作。随着信息数据安全性方面的要求日益提高,如何保证FLASH/EEPROM中存贮数据的安全,防止误擦写就显得格外重要。
发明内容本发明在对FLASH/EEPROM进行擦或写操作之前,先写入一串特定的命令字,此串命令字中的地址与数据可根据不同需求,不同的芯片使用不同的特定命令字,如向AAAAH地址写#55H数据,再向CCCCH地址写ftAAH数据,然后再向AAAAH地址写数据,根据不同的擦写命令(页擦、页写、半页擦…)写入不同的数据。其中的AAAA、55、CCCC、AA等为寄存器内容,均由软件设置。只有在这一串命令字都正确的情况下,FLASH/EEPROM才会真正的启动擦写命令,否则不能启动FLASH/EEPROM的擦写命令。这样也就能防止误擦写的发生,保证了FLASH/EEPROM存储器数据的安全。实现了一种能防止FLASH/EEPROM存储器数据被误擦写的保护方法。本发明通过软件编程的方式,在对FLASH/EEPROM进行擦或写操作之前,先写入一串特定命令字的软件数据保护方法。特定命令字也由软件来设置。具体方法为先对相应寄存器进行设置,设定每个命令字中的地址与数据内容。然后再发一串特定命令,举例如下第一条命令,先向地址AAAAH写ft55H;第二条命令,向地址CCCCH写ftAAH;依此类推在更多的命令字中写入地址与数据内容,最后,根据不同的擦写命令,向地址AAAAH写一个不同数据,启动真正的擦写命令,向指定的地址写入指定的数据。这其间只要有一步写入的地址或数据不符,则返回到初始态,不能对FLASH/EEPROM存储器启动擦或写的命令。利用上面的方法,若直接对FLASH/EEPROM存储器任一地址进行擦或写操作,而没有先写入一串特定的命令字,则不能启动对FLASH/EEPROM进行擦或写的操作;若写入命令字的顺序及数据与上述方法中描述的不一致时,也不能成功启动对FLASH/EEPROM进行擦3或写的操作。使得即使在芯片工作不稳定时,FLASH/EEPROM被误擦写的可能性也被大大降低。图1命令序列状态机转化图图2防止误擦写命令流程示意图具体实施例方式以下结合附图对本发明的具体实施方式作进一步的说明。为了保护FLASH/EEPROM存储器中数据的安全,在对FLASH/EEPROM存储器进行擦或写操作之前,先写入一串特定的命令字,完全正确后方可进行相应擦写操作,FLASH/EEPROM存储器的擦或写操作之前所需要发的命令序列如表1如示表1命令序列表(以页写为例)<table>tableseeoriginaldocumentpage4</column></row><table>注地址、数据均为16进制。在对FLASH/EEPROM存储器进行擦或写操作之前,需写入一串特定的命令字。如上表所示,根据用户的定义,先设置第一条命令字中的地址为OxAAAA,数据为0x55;第二条命令字中的地址为OxCCCC,数据为OxAA;第三条命令字中的地址为OxAAAA,数据需要根据不同的擦写命令来设置,如页写操作为OxlO。等等。然后开始发命令字,第一步,即第一个周期先向地址AAAAH写#55H;第二步,即第二个周期向地址CCCCH写#AAH;第三步,根据不同的擦写命令,第三个周期向地址AAAAH写入相应擦写命令的数据;等等。然后根据这一串命令中的最后一条命令字来确定擦写命令,写入实际需要写入的地址与数据信息。流程见图2所示。现以FLASH的页写操作命令模式为例,在进入FLASH页写操作之前,需要判断上述一串的命令字是否都正确,只有命令都正确的情况下,才能真正启动FLASH的页写操作。如图1所示的状态机转化图,在默认情况下位于StateO读状态,当满足第一步的命令时,状态机进入状态Statel,若不满足则仍为StateO读状态;当满足第二步的命令时,状态机进入状态State2,若不满足则返回到StateO读状态;依此类推。直到这一串命令中的所有命令字都正确且顺序符合设置时,由最后一条的页写命令向地址AAAAH写入#10H数据,状态机则进入页写状态State3,此时则可以开始进行相应的页写编程,写入相应的地址与数据,直到页写编程结束(program—end有效),则状态机重新返回到StateO读状态。若中间任何一步命令发错,则状态机都将返回到StateO读状态,等待下一轮的命令序列检测与擦写操作。详细见下图1所示。由于EEPROM存储器的命令及状态转化与FLASH类似,在此就不做举例。本发明所公开的一种防止FLASH或EEPROM被误擦写的保护方法,能有效的防止在芯片各种不稳定期间可能存在的误擦或误写的操作,避免了数据的改变与丢失,保证了FLASH/EEPROM存储器数据的安全,在擦或写FLASH/EEPROM之前,只需先写入一串特定命令字,就可以提高存储器的数据安全性能,代价小,效果显著,简便易行。可以根据用户的不同需求,对不同的芯片可使用不同的特定命令字,能防止软件攻击与破解,尽可能地实现芯片数据的最大安全。权利要求面向FLASH/EEPROM存储器存贮数据的保护方法,实现对FLASH/EEPROM存贮数据的保护,能够防止误擦写的发生,其特征在于对FLASH/EEPROM进行擦或写操作之前,先对相应寄存器进行设置,设定每个命令字中的地址与数据内容,然后再发一串命令,只有在这一串命令字都正确的情况下,FLASH/EEPROM才启动擦写命令。2.如权利要求1所述的面向FLASH/EEPROM存储器存贮数据的保护方法,其特征在于所述的命令字可根据不同需求,不同的芯片使用不同的特定命令字。3.如权利要求1所述的面向FLASH/EEPROM存储器存贮数据的保护方法,其特征在于若直接对FLASH/EEPROM存储器一地址进行擦或写操作,而没有先写入一串命令字,则不能成功启动对FLASH/EEPROM进行擦或写的操作;若写入命令字的顺序及地址数据与设置不符合时,也不能成功启动对FLASH/EEPROM进行擦或写的操作。全文摘要本发明是一种软件数据保护方法,通过对FLASH/EEPROM进行擦或写操作之前,先写入一串特定的命令字,只有在命令字都正确的情况下,FLASH/EEPROM才会真正的启动擦写命令,这样也就能有效防止FLASH/EEPROM被误擦写的发生,保证了芯片数据的安全。文档编号G06F12/16GK101751347SQ20081022798公开日2010年6月23日申请日期2008年12月4日优先权日2008年12月4日发明者卢锋,周鹏,耿介,赵贵勇申请人:北京中电华大电子设计有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1