CN102543213A - Eeprom芯片的数据检错方法 - Google Patents
Eeprom芯片的数据检错方法 Download PDFInfo
- Publication number
- CN102543213A CN102543213A CN2011104600256A CN201110460025A CN102543213A CN 102543213 A CN102543213 A CN 102543213A CN 2011104600256 A CN2011104600256 A CN 2011104600256A CN 201110460025 A CN201110460025 A CN 201110460025A CN 102543213 A CN102543213 A CN 102543213A
- Authority
- CN
- China
- Prior art keywords
- data
- valid data
- address space
- zone bit
- eeprom chip
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明公开了一种EEPROM芯片的数据检错方法,其特征在于包括数据写入EEPROM芯片的操作和从EEPROM芯片读出数据的操作,数据写入EEPROM芯片的操作包括:一:向待写入第一有效数据的地址空间的后一地址空间写入第一标志位;二:将第一有效数据写入待写入地址空间;三:将第二标志位写入第一标志位所在地址空间的下一地址空间;四:将第二有效数据写入第一标志位所在地址空间,重复一至四,直到全部有效数据均写入EEPROM芯片。该方法使EEPROM芯片的各单元的写入次数均衡,从而减少了存储单元的冗余数量,存储数据有效性的判断仅在系统上电初始化时操作,因此不会增加系统业务流程的处理时间。
Description
技术领域
本发明属于数据存储领域,特别是一EEPROM芯片的数据检错方法。
背景技术
常用的EEPROM芯片一般都有明确的擦写上限,在实际使用当中如果需要存储的数据长度短,而且需要频繁擦写(如存储流水号或地址信息等),则采用固定地址存储方式就容易导致芯片的固定存储部分地址单元最先达到最大擦写次数而损坏、丢失数据,需更换整个芯片。
目前的解决的办法是采用变址方式存储上述数据。一种变址方式是记录数据写入的次数,在将要达到厂家标称的最大次数前更换存储空间。此种方法需要保存写入数据的次数,这个次数信息为避免意外断电丢失是需要频繁写入EEPROM的,为解决此问题需要在硬件电路上或程序上做额外的工作。
另一种变址方式是采用不同空间,一次存储多个重复数据、大数裁决的方式,当有数据出现错误时表明该单元达到EEPROM使用寿命,则更换存储单元。此方式无需记录数据写入的次数,但是因为数据需要重复存储,需要较多地冗余空间,EEPROM的空间利用率低。
发明内容
本发明针对现有存在的上述问题,提出了一种EEPROM芯片的数据检错方法。本发明采用的技术手段如下:
一种EEPROM芯片的数据检错方法,其特征在于包括数据写入EEPROM芯片的操作和从EEPROM芯片读出数据的操作,数据写入EEPROM芯片的操作包括:
步骤一:向待写入第一有效数据的地址空间的后一地址空间写入第一标志位;
步骤二:将第一有效数据写入待写入地址空间;
步骤三:将第二标志位写入第一标志位所在地址空间的下一地址空间;
步骤四:将第二有效数据写入第一标志位所在地址空间,重复步骤一至步骤四,直到全部有效数据均写入EEPROM芯片,此时的EEPROM芯片中存储有一个最终标志位;第一有效数据、第一标志位、第二标志位、第二有效数据所占存储空间大小相同,第一标志位和第二标志位是正常写入有效数据时不会出现的数据。
本发明的方法使EEPROM芯片的各单元的写入次数均衡,并且以存储数据自身的规律性作为数据有效性的辅助判断,从而减少了存储单元的冗余数量,存储数据有效性的判断仅在系统上电初始化时操作,因此不会增加系统业务流程的处理时间。
附图说明
图1为本发明数据写入EEPROM芯片的操作的流程图。
图2为本发明从EEPROM芯片读出数据的操作流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
该EEPROM芯片的数据检错方法包括数据写入EEPROM芯片的操作和从EEPROM芯片读出数据的操作。如图1所示,数据写入EEPROM芯片的操作包括:
步骤一:向待写入第一有效数据的地址空间的后一地址空间写入第一标志位。
步骤二:将第一有效数据写入待写入地址空间。
步骤三:将第二标志位写入第一标志位所在地址空间的下一地址空间。
步骤四:将第二有效数据写入第一标志位所在地址空间,重复步骤一至步骤四,直到全部有效数据均写入EEPROM芯片,此时的EEPROM芯片中存储有一个最终标志位。第一有效数据、第一标志位、第二标志位、第二有效数据所占存储空间大小相同,第一标志位和第二标志位是正常写入有效数据时不会出现的数据。
如图2所示,从EEPROM芯片读出数据的操作包括:
步骤一:系统上电后,查找最终标志位所在地址空间。
步骤二:读取最终标志位所在地址空间之前两个顺序地址空间中存储的两个有效数据。
步骤三:判断两个有效数据是否满足约定条件,满足执行步骤四,不满足执行步骤五。其中的约束条件是指有效数据相互之间存在的自然规律,例如,当有效数据是流水号时,相邻有效数据值的差为1,并将相邻有效数据值的差作为约束条件;当有效数据是连续地址信息时,相邻有效数据值的差是一个数据存储单元的长度。
步骤四:两个有效数据均有效。
步骤五:读取该两个顺序地址空间之前地址空间中存储的另一有效数据。
步骤六:两个有效数据中,与另一有效数据之间满足约定条件的有效数据为最终有效数据,并利用最终有效数据的值,根据约定关系修正两个有效数据中的另一个有效数据。
下面举例说明上述步骤:
假设有效数据是流水号,在执行写入EEPROM芯片的操作时,首先写入一标志位0xFF,再在标志位0xFF之前的存储空间写入流水号N1;然后在标志位0xFF之后的存储空间写入标志位0xFF,再写入流水号N2,如此反复,直到全部的流水号写入存储空间位置,此时的最终标志位是0xFF。
假设EEPROM芯片中共存储了流水号N1、N2和N3,在执行从EEPROM芯片读出数据的操作时,首先从EEPROM芯片中查找到最终标志位是0xFF,读取该标志位之前存储空间存储的流水码N3和流水码N2,利用流水码之间存在的自然规律,如果N3与N2的差值为1,说明流水码N3和流水码N2正确,为有效数据,如果差值不为1,继续读取流水码N1,计算流水码N3与N1的差值,以及流水码N2与N1的差值,结果正确的一个流水码是有效数据,例如如果流水码N3与N1的差值是2,流水码N2与N1的差值不为1,则流水码N3正确,是有效数据,此时利用流水码N3纠正流水码N2,达到了纠错的目的。
本发明的方法使EEPROM芯片的各单元的写入次数均衡,并且以存储数据自身的规律性作为数据有效性的辅助判断,从而减少了存储单元的冗余数量,存储数据有效性的判断仅在系统上电初始化时操作,因此不会增加系统业务流程的处理时间。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种EEPROM芯片的数据检错方法,其特征在于包括数据写入EEPROM芯片的操作和从EEPROM芯片读出数据的操作,数据写入EEPROM芯片的操作包括:
步骤一:向待写入第一有效数据的地址空间的后一地址空间写入第一标志位;
步骤二:将第一有效数据写入待写入地址空间;
步骤三:将第二标志位写入第一标志位所在地址空间的下一地址空间;
步骤四:将第二有效数据写入第一标志位所在地址空间,重复步骤一至步骤四,直到全部有效数据均写入EEPROM芯片,此时的EEPROM芯片中存储有一个最终标志位;第一有效数据、第一标志位、第二标志位、第二有效数据所占存储空间大小相同,第一标志位和第二标志位是正常写入有效数据时不会出现的数据。
2.根据权利要求1所述的方法,其特征在于从EEPROM芯片读出数据的操作包括:
步骤一:系统上电后,查找最终标志位所在地址空间;
步骤二:读取最终标志位所在地址空间之前两个顺序地址空间中存储的两个有效数据;
步骤三:判断两个有效数据是否满足约定条件,满足执行步骤四,不满足执行步骤五;
步骤四:两个有效数据均有效;
步骤五:读取该两个顺序地址空间之前地址空间中存储的另一有效数据;
步骤六:两个有效数据中,与另一有效数据之间满足约定条件的有效数据为最终有效数据,并利用最终有效数据的值,根据约定关系修正两个有效数据中的另一个有效数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110460025.6A CN102543213B (zh) | 2011-12-31 | 2011-12-31 | Eeprom芯片的数据检错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110460025.6A CN102543213B (zh) | 2011-12-31 | 2011-12-31 | Eeprom芯片的数据检错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102543213A true CN102543213A (zh) | 2012-07-04 |
CN102543213B CN102543213B (zh) | 2014-07-30 |
Family
ID=46349898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110460025.6A Active CN102543213B (zh) | 2011-12-31 | 2011-12-31 | Eeprom芯片的数据检错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102543213B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616698A (zh) * | 2015-01-28 | 2015-05-13 | 山东华翼微电子技术股份有限公司 | 一种充分利用存储器冗余单元的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163633A1 (en) * | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
CN1619705A (zh) * | 2003-11-19 | 2005-05-25 | 华为技术有限公司 | 一种多端口存储器的测试方法 |
US20080062761A1 (en) * | 2006-09-07 | 2008-03-13 | Sandisk Corporation | Defective block isolation in a non-volatile memory system |
CN101458971A (zh) * | 2008-12-02 | 2009-06-17 | 炬力集成电路设计有限公司 | 一种嵌入式存储器的测试系统及测试方法 |
CN102169727A (zh) * | 2010-12-07 | 2011-08-31 | 清华大学 | 基于随机游走的固态硬盘磨损均衡方法 |
-
2011
- 2011-12-31 CN CN201110460025.6A patent/CN102543213B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163633A1 (en) * | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
CN1619705A (zh) * | 2003-11-19 | 2005-05-25 | 华为技术有限公司 | 一种多端口存储器的测试方法 |
US20080062761A1 (en) * | 2006-09-07 | 2008-03-13 | Sandisk Corporation | Defective block isolation in a non-volatile memory system |
CN101458971A (zh) * | 2008-12-02 | 2009-06-17 | 炬力集成电路设计有限公司 | 一种嵌入式存储器的测试系统及测试方法 |
CN102169727A (zh) * | 2010-12-07 | 2011-08-31 | 清华大学 | 基于随机游走的固态硬盘磨损均衡方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616698A (zh) * | 2015-01-28 | 2015-05-13 | 山东华翼微电子技术股份有限公司 | 一种充分利用存储器冗余单元的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102543213B (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
US8732552B2 (en) | Block management method, memory controller and memory storage device thereof | |
US9058256B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
US20090248965A1 (en) | Hybrid flash memory device and method of controlling the same | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
US20190065361A1 (en) | Method for writing data into flash memory module and associated flash memory controller and electronic device | |
US20190095276A1 (en) | Method for Processing Data Stored in a Memory Device and a Data Storage Device Utilizing the Same | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN107632943B (zh) | 一种固态硬盘数据保护的方法及固态硬盘 | |
CN102792381A (zh) | 用于多电平存储器单元(mlc)快闪存储器的防数据破坏的保护 | |
CN102981969A (zh) | 重复数据删除的方法及其固态硬盘 | |
US10049007B2 (en) | Non-volatile memory device and read method thereof | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
CN104658612A (zh) | 存取快闪存储器中储存单元的方法以及使用该方法的装置 | |
US10340025B2 (en) | Data-storage device and block-releasing method | |
US9223688B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN102890645A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
US20090164869A1 (en) | Memory architecture and configuration method thereof | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
US20130326120A1 (en) | Data storage device and operating method for flash memory | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN104021806A (zh) | 一种数据处理的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |