闪存数据读写方法和闪存数据读写装置制造方法及图纸

技术编号:32504990 阅读:27 留言:0更新日期:2022-03-02 10:15
本公开涉及一种能够减少闪存块的磨损的闪存数据读写方法和闪存数据读写装置。该闪存数据读写方法包括:在闪存的空数据记录区域中确定待写入数据记录区域,每个数据记录区域用于写入一个数据记录;如果闪存中不存在空数据记录区域用作待写入数据记录区域,则擦除闪存的至少一个闪存块,并在被擦除的闪存块中确定待写入数据记录区域;以及将待写入数据以数据记录的形式写入待写入数据记录区域中,数据记录包括载荷字段和用于设置标识值的标识字段,新写入的数据记录的标识值在已写入的最后一个数据记录的标识值的基础上递增预定值。个数据记录的标识值的基础上递增预定值。个数据记录的标识值的基础上递增预定值。

【技术实现步骤摘要】
闪存数据读写方法和闪存数据读写装置


[0001]本公开涉及一种闪存数据读写方法和闪存数据读写装置。

技术介绍

[0002]对于嵌入式设备,通常利用数据闪存或者嵌入式闪存来保存诸如用户配置和系统运行事件记录之类的信息,要求这样的信息即使在设备掉电或由于异常而重启后仍然有效。目前,这样的信息保存在数据闪存或者嵌入式闪存的指定位置上,即,保存在指定的一些闪存块(block)上,并且要先以闪存块为单位进行擦除(erase)操作,然后才能进行写入操作以保存信息。

技术实现思路

[0003]本公开涉及一种闪存数据读写方法和闪存数据读写装置,将闪存块划分为多个数据记录区域以写入和读取数据,并且仅在没有可以用于写入数据的空数据记录区域时,才执行闪存块的擦除操作,无需每次写入数据时都对闪存块进行擦除,由此,数据更新的延时较短,减少了闪存块的磨损,并且,在某些实施例中,能更好地处理设备掉电或重启时的数据写入异常,保证数据可用性。
[0004]根据本公开的一方面,提供了一种闪存数据读写方法。该闪存数据读写方法包括:在闪存的空数据记录区域中确定本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种闪存数据读写方法,包括:在闪存的空数据记录区域中确定待写入数据记录区域,所述闪存包括一个或多个闪存块,每个闪存块被划分为多个数据记录区域,每个数据记录区域用于写入一个数据记录;如果所述闪存中不存在空数据记录区域用作所述待写入数据记录区域,则擦除所述闪存的至少一个闪存块,并在被擦除的闪存块中确定所述待写入数据记录区域;以及将待写入数据以数据记录的形式写入所述待写入数据记录区域中,所述数据记录包括载荷字段和用于设置标识值的标识字段,新写入的数据记录的标识值在已写入的最后一个数据记录的标识值的基础上递增预定值。2.如权利要求1所述的闪存数据读写方法,其中所述待写入数据记录区域被确定为所述闪存中逻辑上接续存储了具有最大标识值的数据记录的非空数据记录区域的空数据记录区域;如果所述闪存中不存在非空数据记录区域,则所述待写入数据记录区域被确定为所述闪存中的第一个数据记录区域。3.如权利要求1所述的闪存数据读写方法,其中所述闪存包括至少两个闪存块;如果所述至少两个闪存块中都不存在空数据记录区域用作所述待写入数据记录区域,则擦除至少一个未存储具有最大标识值的数据记录的闪存块。4.如权利要求3所述的闪存数据读写方法,其中在确定所述待写入数据记录区域时依次从所述至少两个闪存块中确定所述待写入数据记录区域;如果所述至少两个闪存块中都不存在空数据记录区域用作所述待写入数据记录区域,则擦除存储了具有最大标识值的数据记录的闪存块的下一闪存块,并在所述下一闪存块中确定所述待写入数据记录区域。5.如权利要求1所述的闪存数据读写方法,其中,所述数据记录区域还包括校验字段,用于存储校验码。6.如权利要求5所述的闪存数据读写方法,还包括:在所述闪存的非空数据记录区域中确定待读取数据记录区域,所述待读取数据记录区域是存储具有最大标识值的数据记录的数据记录区域;从所述待读取数据记录区域读取数据记录,并通过所述校验码进行校验;如果校验成功,则将所读出的数据记录确定为有效数据记录;如果检验不成功,则将所述待读取数据记录区域确定为存储了具有比所读出的数据记录的标识值递减所述预定值的标识值的数据记录的数据记录区域,并且基于更新的待读取数据记录区域读取数据记录和校验,直至找到有效数据记录。7.如权利要求5所述的闪存数据读写方法,在装载所述闪存的系统上电时,所述闪存数据读写方法还包括:确定所述闪存的所有数据记录区域是空数据记录区域还是非空数据记录区域;基于所述校验码确定所述非空数据记录区域中存储的数据记录是否为有效数据记录;以及将存储具有最大标识值的有效数据记录的数据记录区域确定为待读取数据记录区域,
并且将所述待写入数据记录区域确定为逻辑上距离所述待读取数据记录区域最近的空数据记录区域。8.如权利要求1所述的闪存数据读写方法,还包括:在完成所述写入之后,将所述待写入数据记录区域确定为待读取数据记录区域。9.如权利要求1所述的闪存数据读写方法,其中,所述数据记录还包括封装头字段,所述封装头字段用于标识所述数据记录的开始。10.一种闪存数据读写装置,包括:确定模块,在闪存的空数据记录区域中确定待写入数据记录区域,所述闪存包括一个或多个闪存块,每个闪存块被划分为多个数据记录区域,每个数据记录区域用于写入一个数据记录;擦除模块,如果所述闪存中不存在空数据记录区域用作所述待写入数据记录区域,则所述擦除模块擦除所述闪存的至少一个闪存块,在这种情况下,所述确定模块在被擦除的闪存块中确定所述待写入数据记录区域;以及写入模块,将待写入数据以数据记录的形式写入所述待写入数据记录区域中,所述数据记录包括载荷字段和用于设置标...

【专利技术属性】
技术研发人员:卢明红陈荣
申请(专利权)人:施耐德电气中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1