一种spi flash的多备份方法技术

技术编号:22218446 阅读:34 留言:0更新日期:2019-09-30 01:03
本发明专利技术涉及数据存储技术领域,尤其涉及一种spi flash的多备份方法,包括步骤:S1.将spi flash划分为n个数据主分区和n个数据备份分区,n为大于等于2的整数;S2.为所述数据主分区和所述数据备份分区设置双分区有序轮询备份机制;S3.spi flash按照所述双分区有序轮询备份机制进行数据备份。本发明专利技术提供的一种spi flash的多备份方法,将spi flash划分为2n块数据分区,其中n块为主分区,另外n块为备份分区,并设计了两种模式——开启备份机制、关闭备份机制,实现了双分区有序轮询,有序使用该备份机制,在主分区寿命终结时,也能合理利用分区,能极其有效地使用flash,保护用户数据,延长产品寿命。

A multi-backup method of SPI flash

【技术实现步骤摘要】
一种spiflash的多备份方法
本专利技术涉及数据存储
,尤其涉及一种spiflash的多备份方法。
技术介绍
spiflash修改值的时候,需要以块为单位先擦写、后写入,如果此过程中突然掉电,就会造成数据丢失,所以需要设置备份机制。但是,spiflash擦写次数有寿命限制,大概是十万次左右,所以即使是做了备份机制,主备份分区也有可能因为超过寿命而不能写入正常数据,此时的spiflash中,还存在许多没有使用的正常块区域。目前产品的多备份机制,没有考虑到spiflash的使用寿命问题(不能写入正常数据),一旦主分区不能正常擦写,会让这些备份机制失效,并丢失重要数据。
技术实现思路
本专利技术提供一种spiflash的多备份方法,解决的技术问题是,现产品的多备份机制多为成对出现,没有考虑flash的使用寿命,当主分区使用寿命达到时,不能正常擦写数据,备份机制往往会失效,并丢失重要数据。为解决以上技术问题,本专利技术提供一种spiflash的多备份方法,包括步骤:S1.将spiflash划分为n个数据主分区和n个数据备份分区,n为大于等于2的整数;S2.为所述数据主分区和所述数据备份分区设置双分区有序轮询备份机制;S3.spiflash按照所述双分区有序轮询备份机制进行数据备份。进一步地,在所述步骤S1中,所述数据主分区包括主分区1~主分区n,主分区a代表所述主分区1~主分区n中的任意一个;所述数据备份分区包括备份分区1~备份分区n,备份分区b代表所述备份分区1~备份分区n中的任意一个。进一步地,在所述步骤S2中,所述双分区有序轮询备份机制包括开启备份机制和关闭备份机制。进一步地,在所述步骤S2后、S3前,还包括步骤:S23.spiflash开机,将轮询所述数据主分区和所述数据备份分区的初始序号格式化为1。进一步地,所述开启备份机制具体包括:A1.校验所述主分区a是否有正常数据,若有则进入A2,若无则跳转到A3;A2.判断所述备份分区b中是否有正常数据,若有则使用所述主分区a、备份分区b;若无且b<n时,执行b+1操作后再次进入A2;若无且b=n时,使用主分区a,不使用备份分区;A3.判断所述备份分区b中是否有正常数据,若有进入A4;若无且b<n时,执行b+1操作后再次进入A3;若无且b=n时,执行a+1及b=1操作后返回到步骤A1;A4.判断所述备份分区b中的正常数据是否能正常写入所述主分区a,若能则使用所述主分区a、备份分区b;若不能且a<n时,执行a+1操作后再次进入A4;若不能且a=n时,进入所述关闭备份机制。进一步地,所述关闭备份机制具体包括:B1.校验所述备份分区b中是否有正常数据,若有则使用所述备份分区b,不使用主分区;若无则进入B2;B2.b<n时,执行b+1操作后再次进入B1;b=n时,主分区1~主分区n及备份分区1~备份分区n则全部损坏,退出对数据的写入。具体地,所述校验所述主分区a中是否有正常数据,具体为:对比spiflash中存放的CRC是否与所述主分区a计算出的CRC相等,若是则表示有正常数据,若否则表示无正常数据。具体地,所述校验所述备份分区b中是否有正常数据,具体为:对比spiflash中存放的CRC是否与所述备份分区b计算出的CRC相等,若是则表示有正常数据,若否则表示无正常数据。具体地,所述判断所述备份分区b中的正常数据是否能正常写入所述主分区a,具体为:将所述备份分区b中的正常数据写入所述主分区a后再读出数据与写入前的数据作比较,若一致则表示能正常写入,若不一致则表示不能正常写入。本专利技术提供的一种spiflash的多备份方法,将spiflash划分为2n块数据分区,其中n块为主分区,另外n块为备份分区,并设计了两种模式——开启备份机制、关闭备份机制,实现了双分区有序轮询,有序使用该备份机制,在主分区寿命终结时,也能合理利用分区,能极其有效地使用flash,保护用户数据,延长产品寿命。附图说明图1是本专利技术实施例提供的一种spiflash的多备份方法的步骤流程图。具体实施方式下图面结合附具体阐明本专利技术的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本专利技术的限定,包括附图仅供参考和说明使用,不构成对本专利技术专利保护范围的限制,因为在不脱离本专利技术精神和范围基础上,可以对本专利技术进行许多改变。如图1所示的步骤流程图,本专利技术实施例提供的一种spiflash的多备份方法,包括步骤:S1.将spiflash划分为n个数据主分区和n个数据备份分区,n为大于等于2的整数;S2.为所述数据主分区和所述数据备份分区设置双分区有序轮询备份机制;S3.spiflash按照所述双分区有序轮询备份机制进行数据备份。进一步地,在所述步骤S1中,所述数据主分区包括主分区1~主分区n,主分区a代表所述主分区1~主分区n中的任意一个;所述数据备份分区包括备份分区1~备份分区n,备份分区b代表所述备份分区1~备份分区n中的任意一个。进一步地,在所述步骤S2中,所述双分区有序轮询备份机制包括开启备份机制和关闭备份机制。进一步地,在所述步骤S2后、S3前,还包括步骤:S23.spiflash开机,将轮询所述数据主分区和所述数据备份分区的初始序号格式化为1。spiflash每一次开机,则从主分区1、备份分区1开始进行轮询。开机后,首先运行所述开启备份机制,具体包括:A1.校验所述主分区a是否有正常数据,若有则进入A2,若无则跳转到A3;A2.判断所述备份分区b中是否有正常数据,若有则使用所述主分区a、备份分区b(主分区a中、备份分区b中均有正常数据,则使用主分区a、备份分区b);若无且b<n时,执行b+1操作后再次进入A2(对备份分区进行轮询);若无且b=n时,使用主分区a,不使用备份分区(主分区a中有正常数据,但对备份分区轮询后均没有正常数据,则使用主分区a,不使用备份分区);A3.判断所述备份分区b中是否有正常数据,若有进入A4;若无且b<n时,执行b+1操作后再次进入A3(轮询直到b=n);若无且b=n时,执行a+1及b=1操作后返回到步骤A1(对下一个主分区进行备份分区的轮询);A4.判断所述备份分区b中的正常数据是否能正常写入所述主分区a,若能则使用所述主分区a、备份分区b(主分区1~n中没有正常数据,但备份分区b中的正常数据能够写入一主分区a,则使用主分区a和备份分区b);若不能且a<n时,执行a+1操作后再次进入A4;若不能且a=n时,进入所述关闭备份机制(主分区1~n中没有正常数据,备份分区b中有正常数据但是不能写入任意一个主分区,需要进入关闭备份机制)。进一步地,所述关闭备份机制具体包括:B1.校验所述备份分区b中是否有正常数据,若有则使用所述备份分区b,不使用主分区(主分区1~n中没有正常数据,备份分区b中有正常数据并且可以写入备份分区b但是不能写入任意一个主分区,则不使用主分区,使用备份分区b);若无则进入B2;B2.b<n时,执行b+1操作后再次进入B1(对备份分区进行轮询);b=n时,主分区1~主分区n及备份分区1~备份分区n则全部损坏,退出对数据的写入(主分区a中没有正常数据,备份分区b中有正常数据但是不能写入任意一个主分区以及任意一个备份分区,则表示主分区和备份分区全部损坏,本文档来自技高网...

【技术保护点】
1.一种spi flash的多备份方法,其特征在于,包括步骤:S1.将spi flash划分为n个数据主分区和n个数据备份分区,n为大于等于2的整数;S2.为所述数据主分区和所述数据备份分区设置双分区有序轮询备份机制;S3.spi flash按照所述双分区有序轮询备份机制进行数据备份。

【技术特征摘要】
1.一种spiflash的多备份方法,其特征在于,包括步骤:S1.将spiflash划分为n个数据主分区和n个数据备份分区,n为大于等于2的整数;S2.为所述数据主分区和所述数据备份分区设置双分区有序轮询备份机制;S3.spiflash按照所述双分区有序轮询备份机制进行数据备份。2.如权利要求1所述的一种spiflash的多备份方法,其特征在于:在所述步骤S1中,所述数据主分区包括主分区1~主分区n,主分区a代表所述主分区1~主分区n中的任意一个;所述数据备份分区包括备份分区1~备份分区n,备份分区b代表所述备份分区1~备份分区n中的任意一个。3.如权利要求2所述的一种spiflash的多备份方法,其特征在于,在所述步骤S2中,所述双分区有序轮询备份机制包括开启备份机制和关闭备份机制。4.如权利要求3所述的一种spiflash的多备份方法,其特征在于,在所述步骤S2后、S3前,还包括步骤:S23.spiflash开机,将轮询所述数据主分区和所述数据备份分区的初始序号格式化为1。5.如权利要求4所述的一种spiflash的多备份方法,其特征在于,所述开启备份机制具体包括:A1.校验所述主分区a是否有正常数据,若有则进入A2,若无则跳转到A3;A2.判断所述备份分区b中是否有正常数据,若有则使用所述主分区a、备份分区b;若无且b<n时,执行b+1操作后再次进入A2;若无且b=n时,使用主分区a,不使用备份分区;A3.判断所述备份分区b中是否有正常数据,若有进入A4;若无且b<n时,执行b+1操作...

【专利技术属性】
技术研发人员:林威郑广平刘道欢
申请(专利权)人:广东九联科技股份有限公司
类型:发明
国别省市:广东,44

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

1