[发明专利]一种安全读写EEPROM的方法及其系统有效
申请号: | 201210592062.7 | 申请日: | 2012-12-29 |
公开(公告)号: | CN103914667A | 公开(公告)日: | 2014-07-09 |
发明(设计)人: | 张志新 | 申请(专利权)人: | 北京谊安医疗系统股份有限公司 |
主分类号: | G06F21/79 | 分类号: | G06F21/79;G06F11/14 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 马晓亚 |
地址: | 100070 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 安全 读写 eeprom 方法 及其 系统 | ||
技术领域
本发明涉及数据存储技术领域,尤其涉及一种安全读写EEPROM的方法及其系统。
背景技术
在嵌入式控制系统中,EEPROM(Electrically Erasable ProgarmmableRead-Only Memory,电可擦可编程只读存储器)是一种使用较为普遍的非易失性存储器。EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROM Eraser和编程器的束缚。EEPROM在写入数据时,仍要利用一定的编程电压,此时,只需用厂商提供的专用刷新程序就可以轻而易举地改写内容,所以,它属于双电压芯片。借助于EEPROM芯片的双电压特性,可以使BIOS具有良好的防毒功能,在升级时,把跳线开关打至“off”的位置,即给芯片加上相应的编程电压,就可以方便地升级;平时使用时,则把跳线开关打至“ON”的位置,防止CIH类的病毒对BIOS芯片的非法修改。所以,至今仍有不少主板采用EEPROM作为BIOS芯片并作为自己主板的一大特色。
但是,在EEPROM整个读/写周期内,如果VCC掉电或降到最小电压以下、硬件其他干扰、EEPROM工作区损坏等原因均可能导致读/写数据错误。
发明内容
为减少或避免EEPROM存储器在使用中发生的这些错误,确保系统具有更为优良的质量特性,在EEPROM的使用中除应完善硬件和考虑数据手册规范外,还可以通过软件采取相应的保护措施来加以解决。本发明的目的在于提出一种安全读写EEPROM的方法及其系统,能够减少EEPROM读写过程发生错误的概率,提高系统的可靠性。
为达此目的,本发明采用以下技术方案:
本发明提出了一种安全读写EEPROM的方法,包括数据存储和读取的方法,所述数据存储方法包括:
首次使用前,将所述EEPROM按预设大小划分成多个存储单元,将各存储单元的状态域全部初始化为可用状态;
遍历所述EEPROM的存储单元,找到状态域为可用状态的存储单元,将待写入数据的类型、待写入数据、校验数据按照预设顺序连续两次写入所述存储单元,若写入成功,则将该存储单元的状态域改设为占用状态,否则将该存储单元的存储状态改设为失效状态,并继续遍历所述EEPROM找到下一个状态域为可用状态的存储单元进行写入直到写入成功;
所述数据读取方法包括:
遍历所述EEPROM的存储单元,找到状态域为占用状态且数据类型与读取数据类型相同的存储单元,从所述存储单元读取数据和校验数据,判断所述读取数据是否正确,若是则读取成功;否则从所述存储单元读取备份数据和备份校验数据,判断所述读取备份数据是否正确,若是则读取成功,否则找到下一个存储状态为占用状态,且数据类型与读取数据类型相同的存储单元进行读取直到读取成功。
进一步地,所述数据存储方法具体包括:
首次使用前,将所述EEPROM按预设大小分成多个存储单元,将各存储单元的状态域全部初始化为可用状态;
将待写入数据的类型、待写入数据、校验数据按照预设顺序存放于缓存中;
遍历所述EEPROM的存储单元,找到存储状态为可用状态的存储单元;
将所述缓存中的内容连续两次写入所述可用状态的存储单元,判断所述数据写入是否正确,若是则将该存储单元的状态域改设为占用状态,写入成功,结束;否则将该存储单元的状态域改设失效状态,继续遍历所述EEPROM找到下一个存储状态为可用状态的存储单元;
重复执行上一步,直到写入成功或所述EEPROM的存储单元遍历结束。
进一步地,所述数据读取方法具体包括:
遍历所述EEPROM的存储单元,其中各占用状态的存储单元均包括首次数据类型、首次数据、首次校验数据、备份数据类型、备份数据和备份校验数据,找到状态域为占用状态且数据类型与读取数据类型一致的存储单元;
从所述存储单元读取首次数据和首次校验数据,并将所述首次数据存放入缓存中,计算所述首次数据的校验值,判断所述校验值与所述读取的首次校验数据是否一致,若是则读取成功,结束;否则从所述存储单元读取备份数据和备份校验数据,将所述备份数据存放入缓存中,计算所述备份数据的校验值,判断所述校验值与所述读取的备份校验数据是否一致,若是则读取成功,结束,否则继续遍历所述EEPROM找到下一个状态域为占用状态且数据类型与读取数据类型一致的存储单元;
重复执行上一步,直到读取成功或所述EEPROM的存储单元遍历结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京谊安医疗系统股份有限公司,未经北京谊安医疗系统股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210592062.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:片状元件的分类和装带一体化设备
- 下一篇:一种直线电机互感测量方法及系统