一种增强FLASH存储器可靠性的方法技术

技术编号:20044818 阅读:57 留言:0更新日期:2019-01-09 04:07
本发明专利技术介绍一种增强FLASH存储器可靠性的方法,涉及应对上层应用对FLASH存储器页的访问请求,通过建立FLASH映射表,在映射表中查找访问页对应的实际地址,访问该实际地址;访问后,检查硬件提供的ECC校验寄存器,如果该寄存器的值为0,则表示访问成功;如果该寄存器的值为1,则表示存在ECC1bit错误并被纠错,此错误作为换页条件,进行换页操作。换页时,在映射表中按规则找到可用冗余区的页地址,如果冗余区耗尽,FLASH存储器可靠性失效,否则使用该冗余区,并更新FLASH映射表信息,完成换页操作。本发明专利技术介绍的方法,可以通过建立FLASH映射表,配置FLASH存储器冗余区大小,动态提升FLASH存储器的可靠性,解决不同用户对FLASH存储器可靠性的需求,提高开发效率。

【技术实现步骤摘要】
一种增强FLASH存储器可靠性的方法
本专利技术涉及芯片FLASH存储器领域,特别涉及一种增强FLASH存储器可靠性的方法。
技术介绍
得益于所具有的大容量、高速度、低功耗、非易失性等优点,闪存(FLASH)存储器正在人们的日常生活中占据着越来越多、越来越重要的位置;但是由于FLASH存储器在更新数据之前,必须先对其所在块/页擦除才能进行写操作,而每个块/页的擦写次数有上限;在FLASH存储器使用过程中,随着使用时间和使用次数的增加,FLASH存储器就会出现坏块/页或者存在坏块/页的隐患,尤其是对某一些块/页的擦写相比于对其它块/页更加频繁(热点页),将会导致,FLASH块/页数据存储出现异常,影响FLASH存储器可靠性,缩短了整片FLASH的使用寿命。同时,部分芯片从硬件层面提出一种延长可靠性的方案,即ECC校验机制。该机制利用了存储器中每一bit可靠性有差异的特点,并试验证明通常1bit出错先出现。首先,存储器会对存储器做ECC校验值的冗余存储,并在访问存储器之后,使用ECC算法对读出数据加ECC校验值进行校验,如果数据存在1bit失效,ECC算法本身能够纠错,保证数据正确。如果数据存在2bit失效,ECC算法无法纠错,可靠性失效。ECC校验机制确实提升了FLASH存储器的可靠性,但是为了达到更好的效果,能够将存储器可靠性提升若干倍,并且不修改硬件设计,本专利技术提出了一种增强FLASH存储器可靠性的方法。
技术实现思路
本专利技术所解决的技术问题是,如何设计一种增强FLASH存储器可靠性的方法。本专利技术的方法针对FLASH存储器的读写访问,通过建立FLASH映射表,将ECC算法校验错误标志作为控制信号进行坏页处理以及针对FLASH存储器映射断电的镜像处理;通过坏页处理,使用FLASH冗余区存储器页代替目标FLASH存储区FLASH页,提升FLASH存储器热点页的寿命,增强FLASH存储器整体的可靠性。为了更好的理解图2中增强FLASH存储器可靠性方法的流程图的流程说明,增加了流程中需要操作的各步骤描述,说明如下:ECC校验,是指芯片在针对FLASH存储器进行读写操作时,对FLASH存储器数据进行ECC算法校验,并将校验结果标志写入寄存器,通过该硬件寄存器标志判断FLASH存储器可靠性;读/写FLASH,是指用户针对FLASH存储器的读操作和写操作;FLASH映射表,是指实现用户FLASH存储器逻辑地址和实际访问的FLASH存储器地址映射关系的管理,供读/写FLASH调用;坏页处理,是指根据ECC校验输出寄存器标志信号,通过FLASH映射表选择直接操作对应存储器地址还是FLASH冗余区进行替换,并更新FLASH映射表,实际使用块或页可根据FLASH存储器最小操作单位设定;FLASH存储区,是指默认和用户FLASH逻辑地址对应的存储芯片FLASH数据的区域;FLASH冗余区,是指当目标FLASH存储区坏页后,新存储芯片FLASH数据的区域。本专利技术的方法,在原有用户应用和硬件的体系结构中,通过建立FLASH映射表及其换页处理功能替换原有FLASH存储器的读写操作接口,将读写接口均连接FLASH映射表,即逻辑地址和芯片物理地址映射表,FLASH映射表初始化为默认值(可以全0或者全1),表示默认状态下FLASH存储器用户逻辑地址即为实际FLASH存储器物理地址;当坏页处理产生使用FLASH冗余区替换目标存储器后,将物理地址块/页地址信息更新到FLASH存储器映射中。本专利技术方法使用的芯片硬件ECC算法校验机制,即为芯片在FLASH存储器读写操作后,对FLASH存储器数据进行ECC算法校验,当数据开始出现BIT位错误时,应将将校验结果标志写入寄存器,同时硬件将自动完成此次数据的BIT位纠错,输出正确的FLASH存储器数据,本专利技术方法通过该硬件寄存器标志信号通过FLASH映射表启动坏页处理,将正确的FLASH存储器数据更新到FLASH冗余区,并更新地址信息到FLASH映射表中。当进行坏页处理时,循环查找空余FLASH冗余区,并且保证在替换时擦写正确,没有ECC算法校验错误。同时为了保证坏页处理过程中FLASH映射表更新过程发生断电或者异常时,重新上电或异常恢复以后,FLASH存储器映射数据值为旧值或者新值,而不是第三态,本专利技术方法在坏页处理过程中可以增加镜像处理,在FLASH映射表更新时进行数据镜像备份,当新上电或异常恢复时,先判断FLASH映射表镜像备份数据的合法性,然后根据判断结果选择恢复或者忽略镜像数据,这里的镜像处理可以使用业界通用备份方法,目的是保证FLASH映射表再次上电的正确性,如果芯片FLASH存储器自身可以保证,可以不进行镜像处理。本专利技术方法针对作为用户数据区的FLASH存储区进行设计,会额外占用FLASH存储数据区存放FLASH存储器映射、镜像备份区,同时由于需要根据用户划定数据区作为FLASH存储器映射,因此会使用RAM资源申明全局变量,且额外申请FLASH存储数据区作为配置区保存全局变量;这些额外占用的区域会减少用户资源,存放位置用户可以根据需求固定在FLASH存储区的任何位置,这是可以由用户指定的。本专利技术方法为了解决整体FLASH存储器的可靠性瓶颈,即增强应用频繁擦写次数高于FLASH存储器块/页本征寿命热点页的寿命,还需要依附单独开启的FLASH冗余区作为FLASH存储区的坏页轮转替换;当目标FLASH存储区坏页后,代替原目标FLASH存储区作为新存储芯片FLASH数据的区域。附图说明图1是增强FLASH存储器可靠性方法的软件层次及操作说明图。图2是增强FLASH存储器可靠性方法的流程图。具体实施方式下面结合附图对本专利技术方法进行详细说明。如图1所示,本专利技术的方法主要是在用户应用和硬件读写FLASH存储器之间通过建立FLASH映射表来实现功能,其中主要包含映射信息初始化、坏页处理等;当程序上电后,将FLASH映射表初始化为默认值,表示默认状态下FLASH存储器用户逻辑地址即为实际FLASH存储器物理地址;将全局变量和镜像处理初始化为默认值,表示默认的映射区域以及未断电;读/写FLASH通过读写接口连接FLASH映射表,获取当前的FLASH存储器用户逻辑地址和实际FLASH存储器物理地址的映射关系,每次访问FLASH存储器前,需要先清空ECC校验输出到寄存器的标志信号,表示后续坏页处理模块获取的标志均为本次FLASH存储器操作引起;当读写接口进行通过FLASH映射表进行FLASH读/写操作后,将根据ECC校验输出到寄存器的标志信号,判定当前FLASH存储器映块/页操作是否产生错误来决定是否启动坏页处理,使用FLASH冗余区进行替换,如果启动FLASH冗余区进行替换,将更新FLASH映射表,如果有必要可以采用通用镜像处理,保证由于芯片断电操作引起的第三态问题不出现,保证FLASH映射表数据再次上电的正确性。如图2所示,给出本专利技术方法具体使用流程图,流程图中介绍第一次使用本专利技术方法功能如何操作,按以下步骤操作,保证本专利技术方法功能的正确性,增强FLASH存储器的可靠性:步骤1,上电后,建立FLASH映射表及初始化,等待上层应用对FLASH存储器访问请求;步骤2,应对FLASH存储器访问请求,在映射本文档来自技高网...

【技术保护点】
1.一种增强FLASH存储器可靠性的方法,其特征在于,按以下步骤操作进行程序执行和处理,改进FLASH存储器的可靠性:步骤1,上电后,建立FLASH映射表及初始化,等待上层应用对FLASH存储器访问请求;步骤2,应对FLASH存储器访问请求,在映射表中进行映射查找,得到实际FLASH存储地址;步骤3,根据需要操作的实际FLASH存储地址,访问FLASH存储器地址;步骤4,判断是否需要换页,判断条件为:如果是读访问,检查ECC校验寄存器,为0则不需要换页,访问成功,退出判断;为1则需要换页但返回数据正确,进入步骤5;为其他值则ECC无法纠错,访问失败,退出判断;如果是写访问,检查写函数返回值,如果为0,则不需要换页,访问成功,退出判断;为1则需要换页但返回数据正确,进入步骤5;步骤5,查询FLASH映射表,按规则找到可用冗余区的页地址,如果冗余区已经耗尽,进入步骤6;如果存在可用的冗余区页,则先将冗余页值更新为与替换页相同,再更新FLASH映射表信息,访问成功,流程结束;步骤6,冗余区耗尽,无法换页,存储器整体可靠性失效,访问彻底失败,流程终止。

【技术特征摘要】
1.一种增强FLASH存储器可靠性的方法,其特征在于,按以下步骤操作进行程序执行和处理,改进FLASH存储器的可靠性:步骤1,上电后,建立FLASH映射表及初始化,等待上层应用对FLASH存储器访问请求;步骤2,应对FLASH存储器访问请求,在映射表中进行映射查找,得到实际FLASH存储地址;步骤3,根据需要操作的实际FLASH存储地址,访问FLASH存储器地址;步骤4,判断是否需要换页,判断条件为:如果是读访问,检查ECC校验寄存器,为0则不需要换页,访问成功,退出判断;为1则需要换页但返回数据正确,进入步骤5;为其他值则ECC无法纠错,访问失败,退出判断;如果是写访问,检查写函数返回值,如果为0,则不需要换页,访问成功,退出判断;为1则需要换页但返回数据正确,进入步骤5;步骤5,查询FLASH映射表,按规则找到可用冗余区的页地址,如果冗余区已经耗尽,进入步骤6;如果存在可用的冗余区页,则先将冗余页值更新为与替换页相同,再更新FLASH映射表信息,访问成功,流程结束;步骤6,冗余区耗尽,无法换页,存储器整...

【专利技术属性】
技术研发人员:刘宏梅陈峰仲倩黎
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京,11

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

1