CN106980473A - 提升eeprom读写可靠性及速率的方法 - Google Patents

提升eeprom读写可靠性及速率的方法 Download PDF

Info

Publication number
CN106980473A
CN106980473A CN201710202862.6A CN201710202862A CN106980473A CN 106980473 A CN106980473 A CN 106980473A CN 201710202862 A CN201710202862 A CN 201710202862A CN 106980473 A CN106980473 A CN 106980473A
Authority
CN
China
Prior art keywords
data
eeprom
perform
read
write
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
Application number
CN201710202862.6A
Other languages
English (en)
Other versions
CN106980473B (zh
Inventor
王映娟
赵寰
操四胜
严刚
刘运中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201710202862.6A priority Critical patent/CN106980473B/zh
Publication of CN106980473A publication Critical patent/CN106980473A/zh
Application granted granted Critical
Publication of CN106980473B publication Critical patent/CN106980473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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读写可靠性及速率的方法,提高读写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 (3)

1.提升EEPROM读写可靠性及速率的方法,其特征在于,包括如下步骤:
第一步、对存取BUFFER、待存BUFFER做中的数据对比处理,记录两个BUFFER中不同数据的个数与位置,作为EEPROM更新的参考值,然后执行第二步;
第二步、判断两个BUFFER中不同数据的个数,从而确定EEPROM需要更新的数据的个数,若EEPROM需要更新的数据个数大于该类存储数据量的预设比例,则执行第三步,否则执行第九步;
第三步、按页操作方式将待存BUFFER中的数据重新存入EERPOM存储区,然后执行第四步;
第四步、读取EEPROM存储区数据,并完成数据校验,然后执行第五步;
第五步、判断数据读取是否成功且与待存BUFFER中数据是否一致,若数据正确且与待存BUFFER中数据一致,则执行第六步,否则执行第七步;
第六步、将待存BUFFER中数据正确存入备份区,然后执行第十步;
第七步、进行读取存储区失败计数,并判断失败次数是否大于第一预设次数,若读取失败次数大于第一预设次数,则执行第八步,否则执行第一步;
第八步、提示EEPROM读写异常,并执行第十步;
第九步、将按字节操作方式将不同的数据存入EEPROM存储区,然后执行四步;
第十步、返回主程序。
2.如权利要求1所述的提升EEPROM读写可靠性及速率的方法,其特征在于,首先对需要读写的数据进行分类,分为重要数据和次要数据,读写时先将重要数据从第一步开始读写操作,再将次要数据从第一步开始读写操作。
3.如权利要求1或2所述的提升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、返回主程序。
CN201710202862.6A 2017-03-30 2017-03-30 提升eeprom读写可靠性及速率的方法 Active CN106980473B (zh)

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 true CN106980473A (zh) 2017-07-25
CN106980473B 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334279A (zh) * 2017-12-26 2018-07-27 金卡智能集团股份有限公司 基于负载均衡模式的数据读写方法
CN109376031A (zh) * 2018-09-27 2019-02-22 潍柴动力股份有限公司 一种防止eeprom存储区校验误判发生的方法及装置
CN110083479A (zh) * 2018-01-25 2019-08-02 宁波三星医疗电气股份有限公司 一种智能电能表的eeprom数据保护方法
WO2019153592A1 (zh) * 2018-02-06 2019-08-15 平安科技(深圳)有限公司 用户权限数据管理装置、方法及计算机可读存储介质
CN116580751A (zh) * 2023-06-01 2023-08-11 广东工业大学 一种适用于pim系统的读写电压自动标定方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
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 杭州华澜微科技有限公司 一种存储装置
US20160124806A1 (en) * 2014-11-03 2016-05-05 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method

Patent Citations (4)

* Cited by examiner, † Cited by third party
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的数据读写出错的方法
US20160124806A1 (en) * 2014-11-03 2016-05-05 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method
CN104461964A (zh) * 2014-12-12 2015-03-25 杭州华澜微科技有限公司 一种存储装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334279A (zh) * 2017-12-26 2018-07-27 金卡智能集团股份有限公司 基于负载均衡模式的数据读写方法
CN108334279B (zh) * 2017-12-26 2021-04-06 金卡智能集团股份有限公司 基于负载均衡模式的数据读写方法
CN110083479A (zh) * 2018-01-25 2019-08-02 宁波三星医疗电气股份有限公司 一种智能电能表的eeprom数据保护方法
CN110083479B (zh) * 2018-01-25 2023-08-01 宁波三星医疗电气股份有限公司 一种智能电能表的eeprom数据保护方法
WO2019153592A1 (zh) * 2018-02-06 2019-08-15 平安科技(深圳)有限公司 用户权限数据管理装置、方法及计算机可读存储介质
CN109376031A (zh) * 2018-09-27 2019-02-22 潍柴动力股份有限公司 一种防止eeprom存储区校验误判发生的方法及装置
CN109376031B (zh) * 2018-09-27 2022-10-25 潍柴动力股份有限公司 一种防止eeprom存储区校验误判发生的方法及装置
CN116580751A (zh) * 2023-06-01 2023-08-11 广东工业大学 一种适用于pim系统的读写电压自动标定方法及系统
CN116580751B (zh) * 2023-06-01 2024-03-12 广东工业大学 一种适用于pim系统的读写电压自动标定方法及系统

Also Published As

Publication number Publication date
CN106980473B (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
CN106980473A (zh) 提升eeprom读写可靠性及速率的方法
KR101556870B1 (ko) 솔리드 스테이트 드라이브 내의 메모리 장치로의 논리 주소의 적응적 매핑
US9098395B2 (en) Logical block management method for a flash memory and control circuit storage system using the same
JP5002201B2 (ja) メモリシステム
CN109783009A (zh) 存储器系统及其操作方法
CN106776362B (zh) 存储器的控制方法及装置
CN108475530A (zh) 用于在储存体装置的编程之前进行擦除检测的系统和方法
CN104885052B (zh) 读写存储设备的数据映像中的虚拟边界码
CN108052414A (zh) 一种提升ssd工作温度范围的方法及系统
CN104765569B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN108139871A (zh) 具有基于存储器寿命周期的可变逻辑容量的固态存储装置
CN106484316A (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
CN107608628A (zh) 闪存控制器
CN100472444C (zh) 一种提高芯片启动速度的装置及方法
CN108563590A (zh) 基于片上flash存储器的otp控制器和控制方法
CN108874298A (zh) 一种数据存储的方法及装置
CN109697024A (zh) 存储器系统及其操作方法
CN206301593U (zh) 用于双向计数器的装置和系统
CN103324503A (zh) 一种数据烧录系统及方法
CN106802767A (zh) 数据配置方法及应用其的电子系统
CN110489052A (zh) 数据储存装置、系统信息编程方法及系统信息重建方法
CN105988950B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN104484289B (zh) 一种基于扇区的嵌入式系统写保护的装置以及方法
CN107958687A (zh) 存储器编程方法、存储器控制电路单元及其存储装置
CN103593252B (zh) 具有动态错误侦测及更正的存储器

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