CN114637626B - 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 - Google Patents
减少eeprom数据读写出错的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114637626B CN114637626B CN202210131968.2A CN202210131968A CN114637626B CN 114637626 B CN114637626 B CN 114637626B CN 202210131968 A CN202210131968 A CN 202210131968A CN 114637626 B CN114637626 B CN 114637626B
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- physical
- physical unit
- eeprom
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种减少EEPROM数据读写出错的方法、装置、设备及可读存储介质,属于数据保护技术领域。它包括所述EEPROM包括多个物理单元,所述方法包括以下步骤:获取要写入或读取的原始数据,根据要写入或读取的原始数据定义多个逻辑单元;在EEPROM中查找第一个待写的物理单元,所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;依次将定义得到的逻辑单元写入查找得到的对应的物理单元,所述物理单元中写入的每逻辑单元至少包括当前信息以及当前信息的有效状态、校验码、该逻辑单元与分配的物理单元之间的映射关系。本发明能减少EEPROM数据读写出错。
Description
技术领域
本发明属于数据保护技术领域,更具体地说,涉及一种减少EEPROM数据读写出错的方法。
背景技术
随着智能设备的应用越来的广泛,嵌入式软硬件设备的使用场景也越来越多,在嵌入式领域中经常会有掉电后需要保存的信息,以备在下次启动时重新使用之前保存的信息,EEPROM就是一个经常被使用的掉电存储信息的设备。EEPROM,属于“非易失性数据存储器”,它不能直接参与ALU运算,只是用于掉电后不丢失的重要数据的存储;重新上电后读出这些数据,以维持系统在关机前的状态,如汽车音响和汽车空调关机后需要记忆一些功能状态。
EEPROM和片内RAM类似,也属于数据存储器,它的特点是数据掉电可保持,而程序存储器一般指ROM,用于存储用户程序代码。
FLASH是用于存储程序代码的,有些场合也可能用它来保存数据,当然前提是该单片机的FLASH工艺是可以自写的(运行中可擦写),FLASH的擦写次数通常小于一万次,而且通常FLASH只能按块擦除。
EEPROM的擦写次数能达到百万次,而且可以按字节擦写。而FLSAH则必须先擦除成BLANK,然后再写入,而一般没有单字节擦除的功能,至少一个扇区擦除。
EEPROM在使用过程中会由于各种各样的干扰导致单片机在读取或写入EEPROM时出错的情况。另外在环境良好情况下,有些信息需要被频繁的保存读取,而EEPROM都是有写寿命的,对同一地址写次数过多会导致当前EEPROM中当前地址失效。因此,如何规避和恢复EEPROM的写入错误就显得尤其重要。经检索,申请号为CN201210381516.6、公开日为2013年01月23日的中国发明专利公开了一种减少EEPROM数据读写出错的方法,其主要通过在SRAM定义一个缓冲数组,在EEPROM中定义数据区数组和备份区数组,所述数据区数组和备份区数组中均包括CRC校验数据,在向EEPROM中写数据时,先把数据放到缓冲数组中,并调用写入函数将缓冲数组的数据按顺序写入数据区数组和备份区数组中,并将计算得到的CRC检验数据写到数据区数组和备份区数组的校验数据区域;那么,系统上电复位后通过CRC校验数据分别校验数据区数组和备份区数组的有效性,便能够知道哪一区的数据有效,相当于除了数据区数组的数据之外,还有两份独立的备份数据,备份去数组中还包含了CRC校验数据,以此确保了写入和读出数据的错误率降到最低。但上述方案也存在一定不足:若数据区数组与备份区数组数据均失效,仍然无法避免读取或写入EEPROM时出错的情况。
发明内容
1、要解决的问题
针对现有技术中存在的问题,本发明提供一种减少EEPROM数据读写出错的方法,以有效解决EEPROM芯片写失效的问题。
2、技术方案
为解决上述问题,本发明采用如下的技术方案。
作为本申请的其中一个方面,提供一种减少EEPROM数据读写出错的方法,所述EEPROM包括多个物理单元,所述方法包括以下步骤:
获取要写入或读取的原始数据,根据要写入或读取的原始数据定义多个逻辑单元;
在EEPROM中查找第一个待写的物理单元,所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;
依次将定义得到的逻辑单元写入查找得到的对应的物理单元,所述物理单元中写入的每逻辑单元至少包括当前信息以及当前信息的有效状态、校验码、该逻辑单元与分配的物理单元之间的映射关系。
优选地,还包括:
在EEPROM出厂时,为每一个逻辑单元分配一个物理单元,每个物理单元中逻辑单元的当前信息的有效状态为有效;
EEPROM中,所述物理单元的数量不小于逻辑单元的数量;其中,当所述物理单元的数量大于逻辑单元的数量时,未写入有逻辑单元的物理单元的数据的有效状态为无效。
优选地,还包括:在EEPROM中写入索引数组,所述索引数组包括多个元素,每个元素存储有不同物理单元的索引地址。
优选地,所述索引数组中存储的物理单元至少包括存储数据为有效数据的物理单元、未曾存放过数据的物理单元、以及存储数据为无效数据的物理单元;
所述存储数据为有效数据的物理单元为数据的有效状态为有效,且读取的数据的校验码和实际校验码一致的物理单元;
所述存储数据为无效数据的物理单元为数据的有效状态为无效,或读取的数据的校验码和实际校验码不一致的物理单元。
优选地,还包括:
EEPROM每次上电时,读取写有逻辑单元的物理单元中逻辑单元的有效状态,计算读取的逻辑单元中数据的校验码;
若当前物理单元为存储数据为有效数据的物理单元,则在对应该物理单元的数组元素中存放该物理单元实际的索引地址,并将对应该物理单元的数组元素的下标置1;
若当前物理单元不为存储数据为有效数据的物理单元,将对应该物理单元的数组元素的下标置0。
优选地,在EEPROM中查找第一个待写的物理单元时,按照从前往后循环的顺序寻找第一个待写物理单元。
优选地,所述依次将定义得到的逻辑单元写入查找得到的对应的物理单元,其具体包括:
读取当前逻辑单元之前存放的物理单元的数据,若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,同时当前逻辑单元中写入的数据和存储在该物理单元中的数据一致,则无需写入当前逻辑单元的数据;
读取当前逻辑单元之前存放的物理单元的数据,若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,但当前逻辑单元中写入的数据和存储在该物理单元中的数据不一致,则将该存储数据为有效数据的物理单元中数据有效状态置为无效,再将当前逻辑单元写入查找得到的第一个待写的物理单元中。
作为本申请的第二个方面,提供一种减少EEPROM数据读写出错的装置,包括:
定义模块,用于获取要写入或读取的原始数据,根据要写入或读取的原始数据定义多个逻辑单元;
查找模块,用于在EEPROM中查找第一个待写的物理单元,所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;
以及写入模块,用于依次将定义模块定义得到的逻辑单元写入查找模块查找得到的对应的物理单元,所述物理单元中写入的每逻辑单元至少包括当前信息以及当前信息的有效状态、校验码、该逻辑单元与分配的物理单元之间的映射关系。
作为本申请的第三个方面,提供一种减少EEPROM数据读写出错的设备,其特征在于:包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述的减少EEPROM数据读写出错的方法的步骤。
作为本申请的第四个方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的一种减少EEPROM数据读写出错的方法的步骤。
3、有益效果
相比于现有技术,本发明的有益效果为:
本发明通过将需要保存的信息划分成一个个的逻辑单元,再将EEPROM中的实际物理单元划分成一个个和逻辑单元等大小的物理单元,每一个逻辑单元不仅包含当前信息本身,还包含当前信息的有效状态,校验码,逻辑单元与物理单元的映射关系;每次向EEPROM中写入或读取都是以逻辑单元为单位操作,每次保存信息时都需要将还保存当前信息的有效状态,校验码,逻辑单元与物理单元的映射关系写入EEPROM划分成的物理单元中,而且对同一逻辑单元的写入不是每次都写入到同一物理单元,而是根据当前物理单元的使用情况选择下一个可用的物理单元写入;每次读取时都需要计算,读取的逻辑单元,数据的校验码并和读取出来的校验码进行比较,校验一致则且有效状态一致读取的存储于EEPROM中的数据为有效。相比较于现有技术,本申请中逻辑单元不会始终存储于单一的物理单元中,而是可以在多个物理单元,尤其是使用频率较小的物理单元中进行循环存储;同时对于前后两次存储时相同的逻辑单元,不再进行存写操作,二者共同保证了能够避免对同一地址写次数过多会导致当前EEPROM中当前地址失效的问题。
附图说明
图1为本发明其中一实施例中的减少EEPROM数据读写出错的方法的原理说明图;
图2为本发明其中一实施例中的减少EEPROM数据读写出错的装置的结构示意图;
图中:1、定义模块;2、查找模块;3、写入模块。
具体实施方式
本发明的核心是提供一种减少EEPROM数据读写出错的方法,通过将需要保存的信息划分成一个个的逻辑单元,再将EEPROM中的实际物理单元划分成一个个和逻辑单元等大小的物理单元,每一个逻辑单元不仅包含当前信息本身,还包含当前信息的有效状态,校验码,逻辑单元与物理单元的映射关系;每次向EEPROM中写入或读取都是以逻辑单元为单位操作,每次保存信息时对同一逻辑单元的写入不是每次都写入到同一物理单元,而是根据当前物理单元的使用情况选择下一个可用的物理单元写入,以有效解决EEPROM芯片写入次数过多易失效的问题;本发明的另一核心是提供一种减少EEPROM数据读写出错的装置、设备及计算机可读存储介质。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一可供参考的实施例中,提供一种减少EEPROM数据读写出错的方法,所述EEPROM包括多个物理单元,所述方法包括以下步骤:
获取要写入或读取的原始数据,根据要写入或读取的原始数据定义多个逻辑单元;
在EEPROM中查找第一个待写的物理单元,所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;
依次将定义得到的逻辑单元写入查找得到的对应的物理单元,所述物理单元中写入的每逻辑单元至少包括当前信息以及当前信息的有效状态、校验码、该逻辑单元与分配的物理单元之间的映射关系。
具体的,逻辑单元可以根据要写入或读取的原始数据代表的业务需求进行定义。逻辑单元中的当前信息用于表征当前逻辑单元的业务需求,当前信息的有效状态用于表征当前信息是否过期,当前信息的校验码用于表征该组数据的正确性,逻辑单元与分配的物理单元之间的映射关系可以通过逻辑单元对应的物理单元的索引给出。
常规技术中,逻辑单元与存储的物理单元之间一一对应。以逻辑单元A和逻辑单元B在EEPROM中数据读写的过程为例,在一些环境下,逻辑单元A需要反反复复在EEPROM中进行数据读写,数据读写的频率较高;而逻辑单元B只需要间隔一段时间再进行数据读写即可,数据读写的频率较低。在这种情况下,对于供逻辑单元A进行读写的物理单元a以及供逻辑单元B进行读写的物理单元b来说,相同时间内物理单元a数据读写的次数远大于物理单元b,这就容易导致物理单元a由于频繁写入导致EEPROM芯片读写失效的问题。
为了解决上述问题,本实施例中每次向EEPROM中写入或读取都是以逻辑单元为单位操作,每次保存信息时都需要将还保存当前信息的有效状态,校验码,逻辑单元与分配的物理单元之间的映射关系写入EEPROM划分成的物理单元中,而且对同一逻辑单元的写入不是每次都写入到同一物理单元,而是根据当前物理单元的使用情况选择下一个可用的物理单元写入。这种方式能够避免读写频率较高的物理单元发生数据读写出错的问题。
具体的,所述方案还包括:
在EEPROM出厂时,为每一个逻辑单元分配一个物理单元,每个物理单元中逻辑单元的当前信息的有效状态为有效。例如,当确定逻辑数据单元M,根据所选EEPROM芯片的容量确定物理单元N,要求N≥M;EEPROM出厂时,对于每一个逻辑单元都分配一个物理单元,即逻辑单元1对应物理单元1,逻辑单元M对应物理单元M。此时,逻辑单元n(1~M中的任意一个)中的当前物理单元存放的逻辑单元的索引为n,数据有效状态为有效,校验码为逻辑单元对应的物理单元的索引。更具体的,写入的逻辑单元的校验码可以通过按字节计算的方法计算得到,也可以通过CRC校验之类的检验算法检测得到。
一个优选的实施例中,所述方案还包括:
在EEPROM中写入索引数组,所述索引数组包括多个元素,每个元素存储有不同物理单元的索引地址。
所述索引数组中存储的物理单元至少包括存储数据为有效数据的物理单元、未曾存放过数据的物理单元、以及存储数据为无效数据的物理单元;
所述存储数据为有效数据的物理单元为数据的有效状态为有效,且读取的数据的校验码和实际校验码一致的物理单元;
所述存储数据为无效数据的物理单元为数据的有效状态为无效,或读取的数据的校验码和实际校验码不一致的物理单元。
所述依次将定义得到的逻辑单元写入查找得到的对应的物理单元,其具体包括:
EEPROM每次上电时,读取写有逻辑单元的物理单元中逻辑单元的有效状态,计算读取的逻辑单元中数据的校验码;
若当前物理单元为存储数据为有效数据的物理单元,则在对应该物理单元的数组元素中存放该物理单元实际的索引地址,并将对应该物理单元的数组元素的下标置1;
若当前物理单元不为存储数据为有效数据的物理单元,将对应该物理单元的数组元素的下标置0;
每次当有一个逻辑单元需要被保存时,先从前往后循环查找第一个待写物理单元;所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;
读取当前逻辑单元之前存放的物理单元的数据,其中,若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,同时当前逻辑单元中写入的数据和存储在该物理单元中的数据一致,则无需写入当前逻辑单元的数据;
若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,但当前逻辑单元中写入的数据和存储在该物理单元中的数据不一致,则将该存储数据为有效数据的物理单元中数据有效状态置为无效,再将当前逻辑单元写入查找得到的第一个待写的物理单元中。
上述过程进一步减少了频繁的EEPROM数据读写过程。通过判断读取当前逻辑单元之前存放的物理单元的数据是否为存储数据为有效数据的物理单元,以及当前逻辑单元中写入的数据和存储在该物理单元中的数据是否一致,能够避免再去对前后两次数据读写之间相同的数据再次在EEPROM中进行一次数据存储。而对于第二次EEPROM数据读写过程中的即使存储数据为有效数据的物理单元,由于无法保证各种各样的干扰导致的数据可能发生变化的问题,这一流程中再次对当前逻辑单元中写入的数据和存储在该物理单元中的数据是否一致进行判断,进一步减少了EEPROM数据读写出错的可能。
基于功能模块的角度,参见图2,图2为本发明实施例提供的一种减少EEPROM数据读写出错的装置在一种具体实施方式下的结构图,该装置可包括:
定义模块1,用于获取要写入或读取的原始数据,根据要写入或读取的原始数据定义多个逻辑单元;
查找模块2,用于在EEPROM中查找第一个待写的物理单元,所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;
以及写入模块3,用于依次将定义模块1定义得到的逻辑单元写入查找模块2查找得到的对应的物理单元,所述物理单元中写入的每逻辑单元至少包括当前信息以及当前信息的有效状态、校验码、该逻辑单元与分配的物理单元之间的映射关系。
本发明实施例所述一种减少EEPROM数据读写出错的装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
上文中提到的一种减少EEPROM数据读写出错的装置是从功能模块的角度描述,进一步的,本申请还提供一种减少EEPROM数据读写出错的设备,是从硬件角度描述。该装置包括存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上任一项所述的减少EEPROM数据读写出错的方法的步骤。
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,所述计算机程序被处理器执行时实现如上任一项所述的一种减少EEPROM数据读写出错的方法的步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于测试结果对应的数据等。
本发明实施例所述一种减少EEPROM数据读写出错的设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例的一种减少EEPROM数据读写出错的设备,能够避免对同一地址写次数过多会导致当前EEPROM中当前地址失效的问题。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域相关人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域相关人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种减少EEPROM数据读写出错的方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
本发明所述实例仅仅是对本发明的优选实施方式进行描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围。
Claims (9)
1.一种减少EEPROM数据读写出错的方法,其特征在于:所述EEPROM包括多个物理单元,所述方法包括以下步骤:
获取要写入或读取的原始数据,根据要写入或读取的原始数据定义多个逻辑单元;
在EEPROM中查找第一个待写的物理单元,所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;
依次将定义得到的逻辑单元写入查找得到的对应的物理单元,所述物理单元中写入的每逻辑单元至少包括当前信息以及当前信息的有效状态、校验码、该逻辑单元与分配的物理单元之间的映射关系;
所述依次将定义得到的逻辑单元写入查找得到的对应的物理单元,其具体包括:
读取当前逻辑单元之前存放的物理单元的数据,若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,同时当前逻辑单元中写入的数据和存储在该物理单元中的数据一致,则无需写入当前逻辑单元的数据;
读取当前逻辑单元之前存放的物理单元的数据,若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,但当前逻辑单元中写入的数据和存储在该物理单元中的数据不一致,则将该存储数据为有效数据的物理单元中数据有效状态置为无效,再将当前逻辑单元写入查找得到的第一个待写的物理单元中。
2.根据权利要求1所述的一种减少EEPROM数据读写出错的方法,其特征在于:还包括:
在EEPROM出厂时,为每一个逻辑单元分配一个物理单元,每个物理单元中逻辑单元的当前信息的有效状态为有效;
EEPROM中,所述物理单元的数量不小于逻辑单元的数量;其中,当所述物理单元的数量大于逻辑单元的数量时,未写入有逻辑单元的物理单元的数据的有效状态为无效。
3.根据权利要求2所述的一种减少EEPROM数据读写出错的方法,其特征在于:还包括:在EEPROM中写入索引数组,所述索引数组包括多个元素,每个元素存储有不同物理单元的索引地址。
4.根据权利要求3所述的一种减少EEPROM数据读写出错的方法,其特征在于:所述索引数组中存储的物理单元至少包括存储数据为有效数据的物理单元、未曾存放过数据的物理单元、以及存储数据为无效数据的物理单元;
所述存储数据为有效数据的物理单元为数据的有效状态为有效,且读取的数据的校验码和实际校验码一致的物理单元;
所述存储数据为无效数据的物理单元为数据的有效状态为无效,或读取的数据的校验码和实际校验码不一致的物理单元。
5.根据权利要求4所述的一种减少EEPROM数据读写出错的方法,其特征在于:还包括:
EEPROM每次上电时,读取写有逻辑单元的物理单元中逻辑单元的有效状态,计算读取的逻辑单元中数据的校验码;
若当前物理单元为存储数据为有效数据的物理单元,则在对应该物理单元的数组元素中存放该物理单元实际的索引地址,并将对应该物理单元的数组元素的下标置1;
若当前物理单元不为存储数据为有效数据的物理单元,将对应该物理单元的数组元素的下标置0。
6.根据权利要求1所述的一种减少EEPROM数据读写出错的方法,其特征在于:在EEPROM中查找第一个待写的物理单元时,按照从前往后循环的顺序寻找第一个待写物理单元。
7.一种减少EEPROM数据读写出错的装置,其特征在于:包括:
定义模块,用于获取要写入或读取的原始数据,根据要写入或读取的原始数据定义多个逻辑单元;
查找模块,用于在EEPROM中查找第一个待写的物理单元,所述第一个待写的物理单元为数据的有效状态不为有效或读取的数据的校验码和实际校验码不一致的物理单元;
以及写入模块,用于依次将定义模块定义得到的逻辑单元写入查找模块查找得到的对应的物理单元,所述物理单元中写入的每逻辑单元至少包括当前信息以及当前信息的有效状态、校验码、该逻辑单元与分配的物理单元之间的映射关系;
所述依次将定义得到的逻辑单元写入查找得到的对应的物理单元,其具体包括:
读取当前逻辑单元之前存放的物理单元的数据,若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,同时当前逻辑单元中写入的数据和存储在该物理单元中的数据一致,则无需写入当前逻辑单元的数据;
读取当前逻辑单元之前存放的物理单元的数据,若当前逻辑单元之前存放的物理单元为存储数据为有效数据的物理单元,但当前逻辑单元中写入的数据和存储在该物理单元中的数据不一致,则将该存储数据为有效数据的物理单元中数据有效状态置为无效,再将当前逻辑单元写入查找得到的第一个待写的物理单元中。
8.一种减少EEPROM数据读写出错的设备,其特征在于:包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的减少EEPROM数据读写出错的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的一种减少EEPROM数据读写出错的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210131968.2A CN114637626B (zh) | 2022-02-14 | 2022-02-14 | 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210131968.2A CN114637626B (zh) | 2022-02-14 | 2022-02-14 | 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114637626A CN114637626A (zh) | 2022-06-17 |
CN114637626B true CN114637626B (zh) | 2022-09-30 |
Family
ID=81945864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210131968.2A Active CN114637626B (zh) | 2022-02-14 | 2022-02-14 | 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114637626B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944384A (zh) * | 2009-07-06 | 2011-01-12 | 群联电子股份有限公司 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
CN102968385A (zh) * | 2011-08-31 | 2013-03-13 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与储存装置 |
CN103914667A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种安全读写eeprom的方法及其系统 |
CN112988611A (zh) * | 2019-12-17 | 2021-06-18 | 国民技术股份有限公司 | 非易失性存储器的数据写入方法、终端和可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5581256B2 (ja) * | 2011-03-28 | 2014-08-27 | 株式会社東芝 | メモリシステム、コントローラ、およびメモリシステムの制御方法 |
-
2022
- 2022-02-14 CN CN202210131968.2A patent/CN114637626B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944384A (zh) * | 2009-07-06 | 2011-01-12 | 群联电子股份有限公司 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
CN102968385A (zh) * | 2011-08-31 | 2013-03-13 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与储存装置 |
CN103914667A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种安全读写eeprom的方法及其系统 |
CN112988611A (zh) * | 2019-12-17 | 2021-06-18 | 国民技术股份有限公司 | 非易失性存储器的数据写入方法、终端和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114637626A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7409623B2 (en) | System and method of reading non-volatile computer memory | |
US6185134B1 (en) | Flash memory control method, flash memory system using the control method and flash memory device using the control method | |
KR0121800B1 (ko) | 메모리 카드장치 | |
CN106708754A (zh) | 数据储存装置及其数据维护方法 | |
JP3576625B2 (ja) | フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
CN103984506A (zh) | 闪存存储设备数据写的方法和系统 | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
JPH07306922A (ja) | Icメモリカードおよびそのicメモリカードの検査方法 | |
CN111399751B (zh) | 闪存控制器、管理闪存模块的方法及相关的电子装置 | |
JPH07302175A (ja) | 半導体ディスク装置 | |
CN113094107B (zh) | 数据保护方法、装置、设备及计算机存储介质 | |
CN114637626B (zh) | 减少eeprom数据读写出错的方法、装置、设备及可读存储介质 | |
CN111159069B (zh) | 闪存控制器、管理闪存模块的方法及相关的电子装置 | |
CN116978435A (zh) | 一种eFuse烧写方法 | |
US6535442B2 (en) | Semiconductor memory capable of debugging an incorrect write to or an incorrect erase from the same | |
CN114822664A (zh) | 基于数据优先级的风险评估方法、存储装置及控制电路 | |
CN114300026A (zh) | 一种单调计数器、计数方法、电子设备及存储介质 | |
CN109582230B (zh) | 一种基于矩阵式索引的数据存取方法及存取系统 | |
CN112256465A (zh) | 一种内存条错误的修复方法及装置 | |
CN111782146A (zh) | 实现写缓存的方法、装置、计算机设备及存储介质 | |
CN112988037A (zh) | 静态磨损均衡方法、终端和计算机可读存储介质 | |
US7849279B2 (en) | Method for the secure updating data areas in non volatile memory, device to perform such a method | |
US6898680B2 (en) | Minimization of overhead of non-volatile memory operation | |
US20060117134A1 (en) | System and method for prolonging usage lifetime of a non-volatile memory |
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 |