提高闪存寿命的可靠性存储方法

文档序号:6444257阅读:330来源:国知局
专利名称:提高闪存寿命的可靠性存储方法
技术领域
本发明涉及闪存技术领域,特别涉及ー种提高闪存寿命的可靠性存储方法。
背景技术
在エ业控制领域中,经常会使用闪存(FLASH)进行数据存储,对现场设备的运行状态进行实时的记录;在设备下线后,再将闪存中存储的设备运行数据拷出,对现场状況、 设备运行或是控制效果进行数据分析,以便在后期工作中进行评价、调整或是改迸。上述应用中使用的闪存一般是安装在电路板上,体积和容量通常较小;此外,上述应用中记录的是的现场设备的实时运行状态,对闪存进行的数据存储的特点是记录次数多、每次记录数据量小、拷贝頻繁。虽然现有的闪存形式有多种,读写方式也分串行或并行等多种,但基本的闪存写操作都是基于页写(Sector Write,或称扇区、区段、区块写入等)方式进行的。页写方式有 ー个特点,即如果要写入或修改某页中的1个字节,该页整页都需要被刷新一遍。由于闪存的使用寿命与刷新次数有关,每一闪存单元可写入的次数是有限的,一般仅有10000次 100000次,如果写入频率过于頻繁,势必造成闪存的实际使用寿命降低。为避免对闪存単元频繁进行写入,一般闪存写入的解决方案都是将数据积攒满ー页后再执行写入,通过这种方式来延长闪存的使用寿命。但由于闪存的处理速度虽然高于磁盘但相对于高速缓存或普通易失性存储器仍有一定差距,闪存页写的时间可能会高达IOms之多,在这个过程中如果发生设备掉电或者瞬时干扰,很容易造成写入失败,数据丢失或数据错误。而在エ业控制领域,对设备记录的可靠性要求较高,设备突然掉电造成的数据丢失或数据错误都会影响记录的准确性,若想进行准确的数据分析,对エ业控制进行正确的监控、管理或是维护,需要保证闪存中记录的设备运行数据的有效性,并且要能识别错误数据。现有技术中,为确保数据完整型,通常是采用大容量闪存,并使用一定的数据记录帧格式来进行数据备份或恢复。但现有技术的恢复手段有限,通常不能恢复由于偶然故障导致的写入失败,仍然会造成数据丢失现象,另外增加的记录帧也会加重对闪存的写入频度,导致闪存的使用寿命降低。

发明内容
(一)要解决的技术问题针对现有技术的上述缺陷,本发明为了解决现有技术中闪存数据写入可靠性低影响寿命的技术问题,提供了ー种提高闪存寿命的可靠性存储方法。( ニ )技术方案为实现上述目的,本发明采用如下技术方案ー种提高闪存寿命的可靠性存储方法,所述方法包括步骤Si,毎次上电后,进行 NVRAM临时页的检查,判断4个临时页的内容是否有至少两页相同,若没有,则认为数据无法恢复,将临时页擦除,执行步骤S4 ;若有则执行步骤S2 ;S2,判断4个临时页中内容是两两相同还是多数页相同,若是两两相同,则使用第一临时页中内容将序号靠后的页中内容恢复后,执行步骤S3;若是多数页相同,则使用多数页中内容将少数页中内容恢复后,执行步骤S3 ;S3,使用临时页中内容将闪存当前记录页内容恢复;S4,正常进行闪存数据读写。优选地,每个临时页的字节数与闪存文件系统划分的每页字节数相同。优选地,步骤S4中,在闪存读写过程中,毎次有数据需要记录吋,首先将数据按临时页的编号顺序顺次写入NVRAM的各临时页中。优选地,当临时页数据写满ー页后,再将这ー页数据写入闪存的当前记录页中。优选地,数据写入闪存吋,按闪存文件系统划分的页编号順序写入。优选地,在临时页中維持有闪存的页索引,根据所述页索引确定所述闪存的当前记录页。优选地,所述NVRAM与闪存FLASH集成在同一存储系统中。(三)有益效果本发明的方案中,充分利用了 NVRAM的写入时间快的优势,使用NVRAM临时页作为数据写入的缓冲和冗余,在下次上电时根据临时页内容把数据恢复,避免闪存中存在不完整的“脏”数据。此外,由于对闪存的写入是在数据写满1页后才开始向闪存记录页中进行整页写入,降低了对闪存的写入刷新频度,保证了闪存的使用寿命。


图1为本发明的实施例中提高闪存寿命的可靠性存储方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明中,通过在闪存中引入一个静态非易失性RAM (Random Access Memory, 随机存取存储器),即NVRAM (Non-Volatile Random Access Memory),来辅助闪存进行数据记录和恢复。由于NVRAM掉电后数据不会丢失,且掉电后数据存储时间超长,可有效保证数据的完整性;另一方面,NVRAM写入速度快,如字节写入时间通常小于70ns,同样是写入1页数据,NVRAM 一般仅需要不到17us,几乎比普通闪存快1000倍。本发明中,首先将NVRAM的存储空间分割出一部分,建立4个临时页并将临时页编号(比如编号为0、1、2、3),每个临时页的字节数与闪存文件系统划分的每页字节数相同, 比如,常见闪存文件系统ー页256字节,则NVRAM中建立临时页每页字节数也为256字节。在闪存读写过程中,毎次有数据需要记录吋,首先将数据按临时页的编号顺序顺次写入NVRAM的各临时页,如在上文的順次示例中,按临时页0、1、2、3的順序分別写入要同一个记录的数据。在正常情况下,每个临时页相同偏移地址对应的内容是完全一祥的。当临时页数据写满ー页后,再将这ー页数据写入闪存;数据写入闪存吋,按闪存文件系统划分的页编号順序写入(即临时页第一次写满时数据写入闪存第0页、临时页第二次写满时数
据写入闪存第1页......在闪存全部页均写过后,再重新从闪存第0页开始写入)。为保
证对闪存的正确写入,在临时页中維持有闪存的页索引。最后,图1展示了本发明中利用NVRAM提高闪存寿命的可靠性存储方法,其方法包括步骤Si,每次上电后,进行NVRAM临时页的检查,判断4个临时页的内容是否有至少两页相同,若没有,则认为数据无法恢复,将临时页擦除,执行步骤S4 ;若有则执行步骤S2 ;S2,判断4个临时页中内容是两两相同还是多数页相同,若是两两相同,则使用第一临时页中内容将序号靠后的页中内容恢复后,执行步骤S3;若是多数页相同,则使用多数页中内容将少数页中内容恢复后,执行步骤S3 ;S3,根据临时页中的闪存页索弓丨,使用临时页中内容将闪存当前记录页内容恢复;S4,正常进行闪存数据读写。本发明中,采用“时间优先+多数表決”的原则,可以推断出数据是否最新且完整, 并根据判断结果进行相应的数据恢复。具体地,由于闪存数据正常写入吋,首先是按照临时页的编号順序在临时页中记录数据,若在数据记录过程中系统发生掉电,掉电时数据必然处于这4个临时页之间。而按照上面的闪存数据正常写入的流程,这4个临时页中数据是按编号順序“順次写入”的,这样,序号靠前的临时页(如页0)的权重最高,其内容为新数据的概率最大。因此,若上电时发现页1与页0内容相同,则可以判断出页0中存储的是最新且完整的内容,此时根据页0的内容对数据进行恢复能最大限度的保证数据的及时性和完整性;而若页1、2、3相同、并与页0不同,也可以判断出页0中存储的是最新数据,但此时页0中数据并不一定完整,可能会存在错误数据,此时根据多数页的内容对页0内容进行恢复至少可以保证数据的正确性;若前3页内容相同而最后ー页内容不同,则与第一种情况相类似,用靠前的页内容进行数据恢复即可;若4个临时页内容完全相同,则可知上次掉电时并没有记录新数据。最后ー种情況,若没有两页内容是相同的,则可以认为NVRAM临时页未被使用或发生了数据错误,此时数据无法恢复,则强制擦除NVRAM临时页内容。对NVRAM 临时页的数据进行恢复完成后,再根据索引表将对应的闪存记录页的内容进行与临时页相同的恢复。通过上述方式,由于NVRAM的写入时间非常快,在短时间内受到干扰或掉电的概率降低,能够有效地保证数据的正确性和完整性;而即使是发生掉电现象,由于有临时页作为缓冲、冗余,在下次上电时也可以根据临时页内容把数据恢复,避免闪存中存在不完整的 “脏”数据。此外,由于对闪存的写入是在数据写满1页后才开始向闪存记录页中进行整页写入,降低了对闪存的写入刷新频度,保证了闪存的使用寿命。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.ー种提高闪存寿命的可靠性存储方法,其特征在干,所述方法包括步骤Si,毎次上电后,进行NVRAM临时页的检查,判断4个临时页的内容是否有至少两页相同,若没有,则认为数据无法恢复,将临时页擦除,执行步骤S4 ;若有则执行步骤S2 ;S2,判断4个临时页中内容是两两相同还是多数页相同,若是两两相同,则使用第一临时页中内容将序号靠后的页中内容恢复后,执行步骤S3;若是多数页相同,则使用多数页中内容将少数页中内容恢复后,执行步骤S3 ;S3,使用临时页中内容将闪存当前记录页内容恢复;S4,正常进行闪存数据读写。
2.根据权利要求1所述的方法,其特征在干,每个临时页的字节数与闪存文件系统划分的每页字节数相同。
3.根据权利要求1所述的方法,其特征在干,步骤S4中,在闪存读写过程中,毎次有数据需要记录吋,首先将数据按临时页的编号顺序顺次写入NVRAM的各临时页中。
4.根据权利要求3所述的方法,其特征在干,当临时页数据写满ー页后,再将这ー页数据写入闪存的当前记录页中。
5.根据权利要求4所述的方法,其特征在干,数据写入闪存吋,按闪存文件系统划分的页编号順序写入。
6.根据权利要求1所述的方法,其特征在干,在临时页中維持有闪存的页索引,根据所述页索引确定所述闪存的当前记录页。
7.根据权利要求1所述的方法,其特征在干,所述NVRAM与闪存FLASH集成在同一存储系统中。
全文摘要
本发明涉及闪存技术领域,特别涉及一种提高闪存寿命的可靠性存储方法。该方法包括步骤S1,每次上电后,进行NVRAM临时页的检查,判断4个临时页是否有至少两页内容相同,若没有,则将临时页擦除执行步骤S4;若有则执行步骤S2;S2,判断4个临时页是否两两相同,若是则使用第一临时页将序号靠后的临时页恢复后,执行步骤S3;否则使用多数页将少数页恢复后,执行步骤S3;S3,使用临时页中内容将闪存当前记录页内容恢复;S4,正常进行闪存数据读写。本发明中,充分利用了NVRAM的写入时间快的优势,使用NVRAM临时页作为数据写入的缓冲和冗余,保证了闪存数据完整性并提高了闪存寿命。
文档编号G06F12/02GK102567216SQ201110452498
公开日2012年7月11日 申请日期2011年12月29日 优先权日2011年12月29日
发明者姜宏飞, 李超, 楼宇伟 申请人:北京交控科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1