《一种电可擦可编程只读存储器的读写方法.pdf》由会员分享,可在线阅读,更多相关《一种电可擦可编程只读存储器的读写方法.pdf(5页完整版)》请在专利查询网上搜索。
1、10申请公布号CN101958151A43申请公布日20110126CN101958151ACN101958151A21申请号201010264714522申请日20100826G11C16/06200601G11C16/1020060171申请人南京通用电器有限公司地址210014江苏省南京市白下区光华路一号白下高新技术产业园区D幢72发明人陈杰丁文权74专利代理机构南京苏高专利商标事务所普通合伙32204代理人柏尚春54发明名称一种电可擦可编程只读存储器的读写方法57摘要本发明提供一种电可擦可编程只读存储器的读写方法,通过在电可擦可编程只读存储器中设置用以存储需要读写数据的读写模块,且该读。
2、写模块分成为若干读写页,当前一读写页损坏后将数据放置入下一读写页中继续读写,使电可擦可编程只读存储器的寿命延长。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页CN101958152A1/1页21一种电可擦可编程只读存储器的读写方法,其特征在于,包括以下步骤1在电可擦可编程只读存储器中设置用以存储需要读写数据的读写模块,且该读写模块分成为若干读写页;2先将数据放置于第一读写页并循环的写入并读出,若写入数据与读出数据相同,则数据继续放置在该第一读写页中,若写入数据与读出数据不相同,则数据在该第一读写页中重新写入;3若数据在第一读写页中的写入数据与读出数据重试。
3、三次都不相同,则判断为该第一读写页损坏,然后将数据放置入第二读写页中继续读写,直至到最后一个读写页中。2根据权利要求1所述的电可擦可编程只读存储器的读写方法,其特征在于所述电可擦可编程只读存储器中还设置有块管理结构体,该块管理结构体用以在上一个读写页损坏后将需要读写数据放置于下一个读写页。3根据权利要求1或2所述的电可擦可编程只读存储器的读写方法,其特征在于所述读写模块的空间大小为所述需要读写数据的整数倍,该倍数即为读写页的个数。权利要求书CN101958151ACN101958152A1/3页3一种电可擦可编程只读存储器的读写方法技术领域0001本发明涉及一种数据的读写方法,特别是一种用于电。
4、可擦可编程只读存储器的读写方法。背景技术0002在嵌入式系统中,对频繁读写的数据一般采用EEPROMELECTRICALLYERASABLEPROGRAMMABLEREADONLYMEMORY,中文译为电可擦可编程只读存储器来进行存储。EEPROM的特点是可电擦除,最小支持单字节擦写。目前使用比较多的是ATMEL公司的AT24CXX系列的存储片,擦写寿命在10万次以上。如果按每天改写10次的话,可以使用30年;同理,如果每天100次的话,将缩短到3年;某些场合,如果数据频繁修改,将会达到500次以上,那么寿命就缩短到半年甚至更短。0003因此,需要一种新的技术方案以解决上述问题。发明内容000。
5、4针对上述现有电可擦可编程只读存储器所存在的问题和不足,本发明的目的是提供一种可提高电可擦可编程只读存储器寿命的读写方法。0005为实现上述目的,本发明可采用如下技术方案0006一种电可擦可编程只读存储器的读写方法,包括以下步骤00071在电可擦可编程只读存储器中设置用以存储需要读写数据的读写模块,且该读写模块分成为若干读写页;00082先将数据放置于第一读写页并循环的写入并读出,若写入数据与读出数据相同,则数据继续放置在该第一读写页中,若写入数据与读出数据不相同,则数据在该第一读写页中重新写入;00093若数据在第一读写页中的写入数据与读出数据重试三次都不相同,则判断为该第一读写页损坏,然后。
6、将数据放置入第二读写页中继续读写,直至到最后一个读写页中。0010本发明与现有技术相比通过将设置的读写模块分成为若干读写页,当前一读写页损坏后将数据放置入下一读写页中继续读写,使电可擦可编程只读存储器的寿命延长。具体实施方式0011下面结合具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。0012本发明公开一种电可擦可编程只读存储器EEPROM的读写方法,该读写方法包括以下步骤00131在电可擦可编程只读存储器中设置用以存储需要读写数据的读写模块,且。
7、该读写模块分成为若干读写页;优选的实施方式是所述读写模块的空间大小为所述需要读写说明书CN101958151ACN101958152A2/3页4数据的整数倍,该倍数即为读写页的个数,这样的设置可最优化的利用该电可擦可编程只读存储器的内部空间。00142先将数据放置于第一读写页并循环的写入并读出,若写入数据与读出数据相同,则数据继续放置在该第一读写页中,若写入数据与读出数据不相同,则数据在该第一读写页中重新写入。00153若数据在第一读写页中的写入数据与读出数据重试三次都不相同,则判断为该第一读写页损坏,然后将数据放置入第二读写页中继续读写,直至到最后一个读写页中。0016所述电可擦可编程只读存。
8、储器中还设置有块管理结构体,该块管理结构体用以在上一个读写页损坏后将需要读写数据放置于下一个读写页。0017通过上述方法,将读写模块分成为若干读写页,使需要频繁读写的数据先在第一读写页中循环的读写,当第一读写页损坏后再将数据放置入第二读写页中继续读写,直至最后一个读写页,这样可优化的分配电可擦可编程只读存储器的内部空间,当某一读写页损坏并不会影响后续读写页的使用,故可显著提升电可擦可编程只读存储器的使用寿命。0018以下通过一个实例来具体解释如何使用该方法0019假设有20个字节的数据需要频繁更新,如果按10万次的寿命,每天的操作次数500次,如果每次都对同一块区域操作,那么若使用背景技术中所。
9、述的电可擦可编程只读存储器,半年就后这20字节可能将会无法继续擦写。如果采用以下的管理方法,将会改变这种状态。0020假设希望EEPROM可以使用5年,那么可以分一个200字节存储块,并可优选的定义如下一个结构体0021TYPEDEFSTRUCT00220023UNSIGNEDINTSTART_ADDR;0024UNSIGNEDINTPAGE_NUM;0025UNSIGNEDINTPAGE_SIZE;0026UNSIGNEDINTUSING_PAGE;0027UNSIGNEDINTCRC;0028BLOCK_INFOBK_INFO;0029初次使用时,将结构体初始化为如下数值0030START。
10、_ADDR该块的起始地址,假设为0X1000;0031PAGE_NUM将该块分成若干页,此例中为10;0032PAGE_SIZE每一页的大小,此例中为20;0033USING_PAGE当前正在用的页号,为0;0034CRC前四项的CRC校验;0035将该结构体存储在电可擦可编程只读存储器的某一地址。使用时,可以根据以下的方法查找到实际写入地址0036ADDRBK_INFOSTART_ADDRPAGE_SIZEUSING_PAGE;ADDR即为实际保存时数据的写入地址,同样,读取数据时也可以按照上述方法将数据读出。每次将数据写入后,再将数据读出,如果发现读出的数据和写入的不一致,那么可以重新写一。
11、次,重试三次都不成说明书CN101958151ACN101958152A3/3页5功的话,说明该页的某些字节已经达到寿命,这时,将USING_PAGE加一,并先将该结构体存储到电可擦可编程只读存储器中,然后便开始对下一页进行写操作,也即开始了新一个10W次编程操作,从而延长了读写的寿命。当USING_PAGE加到10时即直到USING_PAGE和PAGE_NUM相等时,该块则彻底损坏,该块已经到寿命结束,但此时已经相对于背景技术将电可擦可编程只读存储器的使用寿命延长的原先的10倍。因为管理结构体只有在更改页时才改写一次,如果按10页计算的话,总共也只需改写10次,完全不会涉及到寿命问题。0037根据以上方法,既方便程序编写,也增加了电可擦可编程只读存储器的擦写次数。说明书CN101958151A。