CN106980473B - 提升eeprom读写可靠性及速率的方法 - Google Patents
提升eeprom读写可靠性及速率的方法 Download PDFInfo
- Publication number
- CN106980473B CN106980473B CN201710202862.6A CN201710202862A CN106980473B CN 106980473 B CN106980473 B CN 106980473B CN 201710202862 A CN201710202862 A CN 201710202862A CN 106980473 B CN106980473 B CN 106980473B
- Authority
- CN
- China
- Prior art keywords
- data
- executing
- eeprom
- reading
- stored
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及EEPROM读写方法领域,公开了一种提升EEPROM读写可靠性及速率的方法,提高读写EEPROM的可靠性与速率。本发明对需要保存入EEPROM的数据进行分类,对EEPROM内存进行分区;分类分区存储,每类数据有各自的校验且同时具有存储区和备份区;在数据存储或读写时,先对重要数据进行存储,再对次要数据进行存储;且先将数据存入存储区,在确定存储无误后,再将数据存入备份区。本发明适用于能够进行EEPROM读写的家电。
Description
技术领域
本发明涉及EEPROM读写方法领域,特别涉及提升EEPROM读写可靠性及速率的方法。
背景技术
目前在家电行业应用的EEPROM操作主要有两大技术方案。方案一:采用预存法,后期运行过程中只读不写。方案二:EEPROM在整机运行过程中,根据需求随机读写EEPROM。方案一:采用预存法,运行过程中只读不写。虽然能够避免因为干扰,掉电而导致EEPROM数据丢失,但数据灵活性受限制。方案二:采用随机读写EEPROM的方法,操作灵活,但有丢失数据的风险。为提高读写EEPROM的可靠性与速率,本发明在方案二的基础上进行的相关的优化,以防止在读写EEPROM过程中掉电或者偶尔产生的静电干扰、电磁干扰而导致EEPROM读写异常。同时,根据需要存入的数据合理选择读写方式,以实现提高EEPROM的读写速率。
发明内容
本发明要解决的技术问题是:提供一种提升EEPROM读写可靠性及速率的方法,提高读写EEPROM的可靠性与速率。
为解决上述问题,本发明采用的技术方案是:
首先对需要读写的数据进行分类,分为重要数据和次要数据,读写时先将重要数据从以下第一步开始读写操作,再将次要数据从以下第一步开始读写操作;
第一步、对存取BUFFER(缓存器)、待存BUFFER做中的数据对比处理,记录两个BUFFER中不同数据的个数与位置,作为EEPROM更新的参考值,然后执行第二步;
第二步、判断两个BUFFER中不同数据的个数,从而确定EEPROM需要更新的数据的个数,若EEPROM需要更新的数据个数大于该类存储数据量的预设比例,则执行第三步,否则执行第九步;
第三步、按页操作方式将待存BUFFER中的数据重新存入EERPOM存储区,然后执行第四步;
第四步、读取EEPROM存储区数据,并完成数据校验,然后执行第五步;
第五步、判断数据读取是否成功且与待存BUFFER中数据是否一致,若数据正确且与待存BUFFER中数据一致,则执行第六步,否则执行第七步;
第六步、将待存BUFFER中数据正确存入备份区,然后执行第十步;
第七步、进行读取存储区失败计数,并判断失败次数是否大于第一预设次数,若读取失败次数大于第一预设次数,则执行第八步,否则执行第一步;
第八步、提示EEPROM读写异常,并执行第十步;
第九步、将按字节操作方式将不同的数据存入EEPROM存储区,然后执行四步;
第十步、返回主程序。
进一步的,若为EEPROM上电后首次读写操作,第一步之前还包括如下步骤:
S1、读取EEPROM存储区中的数据,完成数据校验后执行S2;
S2、判断读取的数据是否正确,若正确将数据作为系统运行参数并执行S3,若错误则执行S4;
S3、将EEPROM存储区数据存入备存区,并确保存入数据正确,然后执行S9;
S4、进行失败计数,若读取失败次数大于第二预设次数,则执行S5,否则执行S1;
S5、读取EEPROM备份模块,并进行数据校验,然后执行S6;
S6、判断备份模块EEPROM读取是否正确,若正确则执行S9,否则执行S7;
S7、进行失败计数,并判断备份模块读取失败次数是否大于第三预设次数,若小于第三预设次数则执行S5,否则执行S8;
S8、EEPROM数据读取异常,执行S9;
S9、返回主程序。
本发明的有益效果是:本发明采用数据分类,EEPROM分区,页操作与字节操作相结合的方法来实现提升EEPROM读写可靠性与速率。其中,EEPROM数据分为两类:系统重要数据、系统次要数据;对两类数据单独进行读写,有各自的校验;EEPROM存储空间分为两部分:数据存储区、数据备份区;同时,系统为EEPROM操作提供了两个BUFFER:EEPROM存入BUFFER、EEPROM待存BUFFER。EEPROM主要有两种读写模式,EEPROM系统上电后首次读写操作和EEPROM系统运行过程中根据实际需求读写操作,并且重要数据的读写控制优化级高。因此,本申请可防止出现在读写EEPROM过程中掉电或者偶尔产生的静电干扰、电磁干扰而导致EEPROM读写异常。
此外,本申请在上电后首次读EEPROM时,读取存储区数据,若存储区数据读写正确,通过直接覆盖备份区的方法,即将存储区数据存入备份区的方式进行处理,可以避免掉电前存储区数据写正确,备份区写数据未完成,上电后存储区写数据错误,再次上电后存储区与备份区读取均不正确的风险。
附图说明
图1为EEPROM上电后首次读写操作流程图。
图2为EEPROM上电后正常读写操作流程图。
具体实施方式
本发明对需要保存入EEPROM的数据进行分类,对EEPROM内存进行分区。分类分区存储,每类数据有各自的校验且同时具有存储区和备份区。在数据存储或读写时,先对重要数据进行存储,再对次要数据进行存储。且先将数据存入存储区,在确定存储无误后,再将数据存入备份区。
EEPROM主要有两种读写模式:EEPROM上电后首次读写操作、EEPROM上电后正常读写操作。
1、EEPROM上电后首次读写操作。
首先读取EEPROM存储区的系统重要数据,若EEPROM读取数据正确,则采用页写方式直接将EEPROM存储区的系统重要数据存入EEPROM备份区,并确保写入备份区的数据正确,否则,读取EEPROM备份区的重要数据作为系统运行的重要参数,并提示上次掉电前设置无效。其次,读取EEPROM存储区的次要数据,其操作方法与EEPROM存储区的系统重要数据操作方法相同。读取的EEPROM正确数据同时放入数据BUFFER和待存BUFFER中。具体控制见附图1,详细步骤如下:
S1、读取EEPROM存储区中的数据,完成数据校验后执行S2;
S2、判断读取的数据是否正确,若正确该数据作为系统运行参数并执行S3,若错误则执行S4;
S3、将EEPROM存储区数据存入备存区,并确保存入数据正确,然后执行S9;
S4、进行失败计数,若读取失败次数大于第二预设次数(例如3次),则执行S5,否则执行S1;
S5、读取EEPROM备份模块,并进行数据校验,然后执行S6;
S6、判断备份模块EEPROM读取是否正确,若正确则执行S9,否则执行S7;
S7、进行失败计数,并判断备份模块读取失败次数是否大于第三预设次数(例如3次),若小于第三预设次数则执行S5,否则执行S8;
S8、EEPROM数据读取异常,执行S9;
S9、返回主程序。
备注:若首次上电读取EEPROM重要参数需执行S5,则系统可提示用户由于异常操作上次操作无效可重新设置。同时,保证EEPROM读取的正确数据位于存取BUFFER中。
2、EEPROM上电后正常读写操作。
系统根据实际情况会自动更新待存BUFFER中的数据。对比存取BUFFER和待存BUFFER中数据,若两个BUFFER数据不相同,则统计对应的下标和数量。根据统计的数量超过待存数据的预设比例(例如三分之一),则将不同的数据写入EEPROM相应位置,否则按页写模式将所有数据重新写入EERPOM,并确保所有数据写入正确。操作时先处理EEPROM里的重要数据,再处理EEPROM里的次要数据,两种数据操作方式一致,具体控制见附图2,详细步骤如下:
第一步、对存取BUFFER、待存BUFFER做中的数据对比处理,记录两个BUFFER中不同数据的个数与位置,作为EEPROM更新的参考值,然后执行第二步;
第二步、判断两个BUFFER中不同数据的个数,从而确定EEPROM需要更新的数据的个数,若EEPROM需要更新的数据个数大于该类存储数据量的预设比例(例如三分之一),则执行第三步,否则执行第九步;
第三步、按页操作方式将待存BUFFER中的数据全部重新存入EERPOM存储区,然后执行第四步;
第四步、读取EEPROM存储区数据,并完成数据校验,然后执行第五步;
第五步、判断数据读取是否成功且与待存BUFFER中数据是否一致,若数据正确且与待存BUFFER中数据一致,则执行第六步,否则执行第七步;
第六步、将待存BUFFER中数据正确存入备份区,然后执行第十步;
第七步、进行读取存储区失败计数,并判断失败次数是否大于第一预设次数(例如3次),若读取失败次数大于第一预设次数,则执行第八步,否则执行第一步;
第八步、提示EEPROM读写异常,并执行第十步;
第九步、将按字节操作方式不同的数据存入EEPROM存储区,然后执行四步;
第十步、返回主程序。
以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (2)
1.提升EEPROM读写可靠性及速率的方法,其特征在于,首先对需要读写的数据进行分类,分为重要数据和次要数据,读写时先将重要数据从第一步开始读写操作,重要数据读写操作完成之后,再将次要数据从第一步开始读写操作;
第一步、对存取BUFFER、待存BUFFER中的数据对比处理,记录两个BUFFER中不同数据的个数与位置,作为EEPROM更新的参考值,然后执行第二步;
第二步、判断两个BUFFER中不同数据的个数,从而确定EEPROM需要更新的数据的个数,若EEPROM需要更新的数据个数大于该类存储数据量的预设比例,则执行第三步,否则执行第九步;
第三步、按页操作方式将待存BUFFER中的数据重新存入EERPOM存储区,然后执行第四步;
第四步、读取EEPROM存储区数据,并完成数据校验,然后执行第五步;
第五步、判断数据读取是否成功且与待存BUFFER中数据是否一致,若数据正确且与待存BUFFER中数据一致,则执行第六步,否则执行第七步;
第六步、将待存BUFFER中数据正确存入备份区,然后执行第十步;
第七步、进行读取存储区失败计数,并判断失败次数是否大于第一预设次数,若读取失败次数大于第一预设次数,则执行第八步,否则执行第一步;
第八步、提示EEPROM读写异常,并执行第十步;
第九步、将按字节操作方式将不同的数据存入EEPROM存储区,然后执行四步;
第十步、返回主程序。
2.如权利要求1所述的提升EEPROM读写可靠性及速率的方法,其特征在于,若为EEPROM上电后首次读写操作,第一步之前还包括如下步骤:
S1、读取EEPROM存储区中的数据,完成数据校验后执行S2;
S2、判断读取的数据是否正确,若正确,将数据作为系统运行参数并执行S3,若错误则执行S4;
S3、将EEPROM存储区数据存入备存区,并确保存入数据正确,然后执行S9;
S4、进行失败计数,若读取失败次数大于第二预设次数,则执行S5,否则执行S1;
S5、读取EEPROM备份模块,并进行数据校验,然后执行S6;
S6、判断备份模块EEPROM读取是否正确,若正确则执行S9,否则执行S7;
S7、进行失败计数,并判断备份模块读取失败次数是否大于第三预设次数,若小于第三预设次数则执行S5,否则执行S8;
S8、EEPROM数据读取异常,执行S9;
S9、返回主程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710202862.6A CN106980473B (zh) | 2017-03-30 | 2017-03-30 | 提升eeprom读写可靠性及速率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710202862.6A CN106980473B (zh) | 2017-03-30 | 2017-03-30 | 提升eeprom读写可靠性及速率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106980473A CN106980473A (zh) | 2017-07-25 |
CN106980473B true CN106980473B (zh) | 2020-02-18 |
Family
ID=59339781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710202862.6A Active CN106980473B (zh) | 2017-03-30 | 2017-03-30 | 提升eeprom读写可靠性及速率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106980473B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334279B (zh) * | 2017-12-26 | 2021-04-06 | 金卡智能集团股份有限公司 | 基于负载均衡模式的数据读写方法 |
CN110083479B (zh) * | 2018-01-25 | 2023-08-01 | 宁波三星医疗电气股份有限公司 | 一种智能电能表的eeprom数据保护方法 |
CN108388604B (zh) * | 2018-02-06 | 2022-06-10 | 平安科技(深圳)有限公司 | 用户权限数据管理装置、方法及计算机可读存储介质 |
CN109376031B (zh) * | 2018-09-27 | 2022-10-25 | 潍柴动力股份有限公司 | 一种防止eeprom存储区校验误判发生的方法及装置 |
CN116580751B (zh) * | 2023-06-01 | 2024-03-12 | 广东工业大学 | 一种适用于pim系统的读写电压自动标定方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681359A (zh) * | 2006-12-27 | 2010-03-24 | Nxp股份有限公司 | 在rfid应答器中存储数据的方法 |
CN102890657A (zh) * | 2012-10-10 | 2013-01-23 | 深圳市航盛电子股份有限公司 | 一种减少eeprom的数据读写出错的方法 |
CN104461964A (zh) * | 2014-12-12 | 2015-03-25 | 杭州华澜微科技有限公司 | 一种存储装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI520140B (zh) * | 2014-11-03 | 2016-02-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
-
2017
- 2017-03-30 CN CN201710202862.6A patent/CN106980473B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681359A (zh) * | 2006-12-27 | 2010-03-24 | Nxp股份有限公司 | 在rfid应答器中存储数据的方法 |
CN102890657A (zh) * | 2012-10-10 | 2013-01-23 | 深圳市航盛电子股份有限公司 | 一种减少eeprom的数据读写出错的方法 |
CN104461964A (zh) * | 2014-12-12 | 2015-03-25 | 杭州华澜微科技有限公司 | 一种存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106980473A (zh) | 2017-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980473B (zh) | 提升eeprom读写可靠性及速率的方法 | |
CN103853582B (zh) | 闪存更新方法 | |
CN101369453B (zh) | 闪存存储器设备和控制闪存存储器设备的方法 | |
US8392794B2 (en) | Non-volatile memory device and data processing method thereof | |
CN106462500A (zh) | 用于执行损耗均衡操作的设备及方法 | |
US20090187305A1 (en) | Method of detecting manipulation of a programmable memory device of a digital controller | |
CN104885052B (zh) | 读写存储设备的数据映像中的虚拟边界码 | |
CN108694989A (zh) | 存储设备及其坏块指派方法 | |
CN106328208A (zh) | 半导体器件及其操作方法 | |
CN104658612A (zh) | 存取快闪存储器中储存单元的方法以及使用该方法的装置 | |
CN103984506A (zh) | 闪存存储设备数据写的方法和系统 | |
CN105653332B (zh) | 一种可修正otp烧录问题的mcu系统及烧录方法 | |
CN102929740A (zh) | 检测存储设备坏块的方法和装置 | |
US9786373B2 (en) | EEPROM backup method and device | |
CN105988936B (zh) | 非挥发性储存装置与控制器 | |
CN103593252B (zh) | 具有动态错误侦测及更正的存储器 | |
CN108762790A (zh) | 无人机电池重启处理方法、装置及存储介质 | |
CN108345430A (zh) | 一种Nand flash元件及其运行控制方法和装置 | |
CN107657153A (zh) | 一种芯片内flash区的代码保护方法及装置 | |
JP5660521B2 (ja) | 不揮発性半導体記憶装置およびメモリ管理方法 | |
CN103985410A (zh) | 一种存储装置及用于存储装置的数据访问方法 | |
CN107766174A (zh) | 电子控制装置及其信息存储方法 | |
TWI442406B (zh) | 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器 | |
CN104282343B (zh) | 半导体系统及其修复方法 | |
KR100692982B1 (ko) | 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |