数据的保存方法和电可擦编程只读存储器的制造方法

文档序号:9810388阅读:546来源:国知局
数据的保存方法和电可擦编程只读存储器的制造方法
【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种数据的保存方法和电可擦编程只读存储器。
【背景技术】
[0002]现有技术提供的电可擦编程只读存储器EEPROM在一个擦写周期内完成的数据保存操作可以包括先擦除操作再编程操作两部分,擦除和编程的都是针对同一个地址对应的数据区中的内容进行操作,在该地址对应的数据区进行保存操作过程中,EEPROM内的数据状态的过程如图1。如图1所示,在针对当前地址对应的数据区完成的一个擦写周期中,在进入擦除的工作状态之前,该地址对应的数据区的数据状态为数据有效态,表示当前地址对应的数据区中保存有数据,在进入擦除的工作状态之后,系统对该地址对应的数据区中的数据内容进行擦除,在擦除的中间过程中该地址对应的数据区的数据状态为数据不定态,表示当前地址对应的数据区中的数据处于正在擦除还没有擦除成功的状态,在将数据完全擦除成功之后,在擦除的中间过程中该地址对应的数据区的数据状态为数据擦除态,表示当前地址对应的数据区中的数据被完全擦除,并擦除成功。此时可以获知的是,在该擦写周期内,在完成上述擦除操作之后,进入编程的工作状态,即在该地址对应的数据区写入新的数据,该过程可以看做是擦除过程的逆过程,在编程的过程中,该地址对应的数据区的数据状态从擦除态转换为不定态,最后转换为数据有效态,表示当前地址对应的数据区从编写数据到编程完全并编写成功的整个过程。
[0003]此处需要注意到的是,在图1所示的方案中,当前地址对应的数据区中的数据在处于不定态或擦除态时,如果擦除或者编程操作由于其它原因被中断,此时,EEPROM内保留的数据成了不定态或擦除态,从而出现数据丢失现象。
[0004]为避免出现上述类型的数据丢失,现有技术可以采用备份机制,即提供两个物理上独立,逻辑上关联的地址,两个地址分别对应一个数据区,可以将数据分别写入两个不同的地址的数据区,这两个地址分别定义为目标地址和备份地址,其中,在目标地址对应的数据区中的数据内容被中断或者错误的情况下,可以采用备份地址对应的数据区中的数据内容对目标地址中的数据进行恢复。如图2a和图2b所通过的备份方案,目标地址和备份地址中完成的数据保存的过程与图1所示的流程相同,数据区的数据状态的变化过程也相同,不同之处在于,通过在目标地址对应的数据区中完成一个擦写周期的数据保存过程之后,系统会再消耗一个擦写周期,完成在备份地址对应的数据区中备份一套与目标地址对应的数据区中的相同的数据保存过程,具体的,是先在目标地址对应的数据区进行数据保存过程完成的擦除和编写操作,然后在备份地址对应的数据区中备份一套相同的数据。如图2a和图2b所示,无论何时操作中断,EEPROM至少保留一个有效数据。
[0005]分析可知,上述图2a和图2b所提供的备份方案,虽然可以针对擦写操作过程中出现异常的情况,提供一种采用备份内容进行数据恢复的方案,来保证数据的完整性,但这种备份数据的方法先将目标地址的进行擦写,然后改写备份地址的数据耗费时间长,资源耗费也较大。
[0006]针对现有技术在数据保存的过程中,提供一种先将目标地址对应的数据区进行擦写,然后在备份地址对应的数据区中进行与目标地址进行的数据区相同的擦写过程,使得数据保存过程耗费时间长、资源浪费较大的问题,目前尚未提出有效的解决方案。

【发明内容】

[0007]本发明的主要目的在于提供一种数据的保存方法及电可擦编程只读存储器,以至少解决现有技术中备份的方法先将目标地址的进行擦写,然后改写备份地址的数据耗费时间长的问题。
[0008]本发明提供了一种数据的保存方法,该方法包括:预设两个互为备份地址的第一地址和第二地址在电可擦编程只读存储器EEPROM中,第一地址和第二地址分别对应一个数据区,两个数据区中的数据互为备份数据,且两个数据区中至少有一个数据区的数据状态为数据有效态,在任意一个擦写周期内,每个地址对应的数据区的工作状态为编程工作状态或擦除工作状态。
[0009]本发明还提供了一种电可擦编程只读存储器,该电可擦编程只读存储器包括:两个互为备份的第一地址和第二地址的数据区,两个数据区中的数据互为备份数据,且两个数据区中至少有一个数据区的数据状态为数据有效态,在任意一个擦写周期内,每个地址对应的数据区的工作状态为编程工作状态或擦除工作状态。
[0010]通过本发明,采用预设两个互为备份地址的第一地址和第二地址在电可擦编程只读存储器EEPROM中,第一地址和第二地址分别对应一个数据区,两个数据区中的数据互为备份数据,且两个数据区中至少有一个数据区的数据状态为数据有效态,在任意一个擦写周期内,每个地址对应的数据区的工作状态为编程工作状态或擦除工作状态,解决了现有备份方式中先将目标地址的进行擦写,然后改写备份地址的数据耗费时间长的问题,实现了备份省时、可靠性延长的效果。
【附图说明】
[0011]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0012]图1是根据现有技术的EEPROM的写操作的示意图;
[0013]图2a是根据现有技术的EEPROM备份方案的示意图;
[0014]图2b是根据现有技术的EEPROM备份方案的示意图;
[0015]图3是根据本发明实施例一的数据的保存方法的流程图;
[0016]图4是根据本发明实施例一的数据的保存方法的事宜图;
[0017]图5是根据本发明实施例一的正常应用的流程图;以及
[0018]图6是根据本发明实施例一的异常应用的流程图。
【具体实施方式】
[0019]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0020]实施例1
[0021]本实施例提供了一种数据的保存方法,结合图3和图4所示,该方法包括:
[0022]步骤S101,预设两个互为备份地址的第一地址和第二地址在电可擦编程只读存储器EEPROM中,第一地址和第二地址分别对应一个数据区,两个数据区中的数据互为备份数据,且两个数据区中至少有一个数据区的数据状态为数据有效态,在任意一个擦写周期内,每个地址对应的数据区的工作状态为编程工作状态或擦除工作状态。
[0023]具体的,结合图4所示,上述第一地址可以为A地址,上述第二地址可以为B地址,上述A地址和B地址分别对应EEPROM内两个数据区,上述电可擦编程只读存储器EEPROM在工作时先将A地址进行编程,将数据写入A地址对应的数据区,之后,再将B地址对应的数据区中的数据擦除。在进行下一次擦写操作的时候,系统先对B地址对应的数据区进行编程,将数据写入B地址对应的数据区,然后上述系统再对A地址对应的数据区的数据内容进行擦除,A地址和B地址对应的两个数据区互为备份。如图4所示,在任何一个擦写周期,如果A地址对应的数据区处于编程工作状态,则B地址对应的数据区则处于擦除的工作状态,如果A地址对应的数据区处于擦除工作状态,B地址对应的数据区则处于编程的工作状态,由此可知,上述两个数据区在时间轴内任何时刻内至少保留一个有效数据。本方法只需要I次编程和I次写入的时间就保证了实现了数据的更新,本方法可以确保在任一时刻,上述EEPROM内均至少有一个有效数据。
[0024]在本申请上述实施例一提供的方案中,采用两个地址对应的数据区互为备份数据进而进行擦写和编程,解决了现有技术在数据保存的过程中,提供一种先将目标地址对应的数据区进行擦写,然后再备份地址对应的数据区中进行与目标地址对应的数据区相同的擦写过程,使得数据保存过程耗费时间长、资源浪费较大的问题。
[0025]可选的,步骤SlOl中在预设两个互为备份地址的第一地址和第二地址之后,本实施例提供的方法还可以包括:
[0026]步骤S301,初始化电可擦编程只读存储器EEPR0M,读取第一地址和第二地址对应的两个数据区中的数据。
[0027]具体的,本实施例提供的方法可以包括以下两个方案:
[0028]方案一:在第一地址对应的数据区的初始化数据状态为数据无效态的情况下,第一地址对应的数据区中的数据完整,且第二地址对应的数据区的初始化数据状态为数据有效态.
[0029]方案二:在第一地址对应的数据区的初始化数据状态为数据有效态的情况下,第二地址对应的数据区中的数据完整,且第二地址对应的数据区的初始化数据状态为数据无效态。
[0030]从上述两个方案可知,初始化上述两个地址对应的数据区,在上述两个数据区任意一个数据区中,如果其中一个数据区中的数据完整,则该数据区的初始化数据为数据无效态,另一个数据区的数据则处于数据有效态。具体的,如图5所示,本申请提供的方法先扫描A
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1