CN109165115A - 一种增强flash存储器可靠性的方法 - Google Patents

一种增强flash存储器可靠性的方法 Download PDF

Info

Publication number
CN109165115A
CN109165115A CN201810665139.6A CN201810665139A CN109165115A CN 109165115 A CN109165115 A CN 109165115A CN 201810665139 A CN201810665139 A CN 201810665139A CN 109165115 A CN109165115 A CN 109165115A
Authority
CN
China
Prior art keywords
flash
flash memory
page
mapping table
access
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.)
Granted
Application number
CN201810665139.6A
Other languages
English (en)
Other versions
CN109165115B (zh
Inventor
刘宏梅
陈�峰
仲倩黎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN201810665139.6A priority Critical patent/CN109165115B/zh
Publication of CN109165115A publication Critical patent/CN109165115A/zh
Application granted granted Critical
Publication of CN109165115B publication Critical patent/CN109165115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

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

Description

一种增强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存储器访问请求,在映射表中进行映射查找,得到实际FLASH存储地址;
步骤3,根据需要操作的实际FLASH存储地址,访问FLASH存储器地址;
步骤4,判断是否需要换页,判断条件为:如果是读访问,检查ECC校验寄存器,为0则不需要换页,访问成功,退出判断;为1则需要换页但返回数据正确,进入步骤5;为其他值则ECC无法纠错,访问失败,退出判断;如果是写访问,检查写函数返回值,如果为0,则不需要换页,访问成功,退出判断;为1则需要换页但返回数据正确,进入步骤5;
步骤5,查询FLASH映射表,按规则找到可用冗余区的页地址。如果冗余区已经耗尽,进入步骤6;如果存在可用的冗余区页,则先将冗余页值更新为与替换页相同,再更新FLASH映射表信息(此步骤应进行镜像保护),访问成功,流程结束;
步骤6,冗余区耗尽,无法换页,存储器整体可靠性失效,访问彻底失败,流程终止。
通过本发明的阐述,对于产品化的芯片,可以预见整体FLASH存储器的可靠性瓶颈是擦写次数高于FLASH存储器块/页的本征寿命的热点页。那么,具体而言,整体热点区寿命提升约:其中Pr为FLASH冗余区大小,n为热点区块/页大小。因此本发明介绍的方法,根据FLASH存储器冗余区的容量配置,可以动态提升FLASH存储器的可靠性,解决不同用户对FLASH存储器可靠性的需求,提高程序开发的测试效率。

Claims (5)

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,冗余区耗尽,无法换页,存储器整体可靠性失效,访问彻底失败,流程终止。
2.根据权利要求1所述的方法,其特征在于利用芯片在FLASH存储器访问后产生的ECC校验结果作为控制信号进行坏页处理;基于芯片ECC算法校验机制,在每次FLASH存储器访问操作完成后,芯片对数据进行ECC算法校验,结果写入寄存器,并自动纠错FLASH存储器页访问的数据,保证读出数据的正确性。
3.根据权利要求1所述的方法,其特征在于使用FLASH冗余区页代替目标FLASH存储区页;代替的方式为:为所有存储页建立FLASH映射表,每个FLASH存储页在FLASH映射表中有对应的实际地址,当发生换页时,将冗余区页地址信息更新到对应的FLASH映射表位置。
4.根据权利要求1所述的方法,其特征在于FLASH映射表可以进行所有存储器页信息管理,包括换页、坏页信息等处理。
5.根据权利要求1所述的方法,其特征在于可以通过配置FLASH映射表、FLASH存储器冗余区大小,动态提升FLASH存储器的可靠性,解决不同用户对FLASH存储器可靠性的需求,提高开发效率可以进行所有存储器页信息管理。
CN201810665139.6A 2018-06-26 2018-06-26 一种增强flash存储器可靠性的方法 Active CN109165115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810665139.6A CN109165115B (zh) 2018-06-26 2018-06-26 一种增强flash存储器可靠性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810665139.6A CN109165115B (zh) 2018-06-26 2018-06-26 一种增强flash存储器可靠性的方法

Publications (2)

Publication Number Publication Date
CN109165115A true CN109165115A (zh) 2019-01-08
CN109165115B CN109165115B (zh) 2021-11-09

Family

ID=64897266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810665139.6A Active CN109165115B (zh) 2018-06-26 2018-06-26 一种增强flash存储器可靠性的方法

Country Status (1)

Country Link
CN (1) CN109165115B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704236A (zh) * 2019-10-11 2020-01-17 南京元晨微电子科技有限公司 芯片flash数据的在线校验方法及计算机存储介质
CN112540723A (zh) * 2020-11-06 2021-03-23 深圳市民德电子科技股份有限公司 一种NOR Flash坏点补偿的方法
TWI740454B (zh) * 2020-04-14 2021-09-21 慧榮科技股份有限公司 反應電源事件的資料存取方法及裝置
CN113724772A (zh) * 2021-07-12 2021-11-30 深圳市美信咨询有限公司 存储器失效位置查找方法、装置和计算机设备
US11342008B2 (en) 2020-04-14 2022-05-24 Silicon Motion, Inc. Method and apparatus for accessing to data in response to power-supply event
CN114647534A (zh) * 2022-05-24 2022-06-21 国网山东省电力公司营销服务中心(计量中心) 一种基于数字化控制设备的数据存储方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096781B1 (en) * 1982-06-16 1989-11-29 International Business Machines Corporation System for updating error map of fault tolerant memory
CN1905070A (zh) * 2005-07-28 2007-01-31 三星电子株式会社 能够存储多比特数据和单比特数据的闪存设备
US20090052241A1 (en) * 2007-08-22 2009-02-26 Hynix Semiconductor Inc. Method of operating a non-volatile memory device
CN101615145A (zh) * 2009-07-24 2009-12-30 中兴通讯股份有限公司 一种提高存储器数据缓存可靠性的方法和装置
CN101834611A (zh) * 2010-05-06 2010-09-15 复旦大学 一种纠正多比特错误的ecc电路
CN103295649A (zh) * 2013-04-28 2013-09-11 上海宏力半导体制造有限公司 提高nvm可靠性的方法
CN103353855A (zh) * 2013-07-27 2013-10-16 深圳市瑞耐斯技术有限公司 一种nand闪存存储设备及其带外数据读取方法
CN103559141A (zh) * 2013-11-01 2014-02-05 北京昆腾微电子有限公司 非易失性存储器的管理方法和装置
CN104616698A (zh) * 2015-01-28 2015-05-13 山东华翼微电子技术股份有限公司 一种充分利用存储器冗余单元的方法
CN204833244U (zh) * 2015-08-19 2015-12-02 首都师范大学 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置
CN105788647A (zh) * 2014-12-26 2016-07-20 北京兆易创新科技股份有限公司 一种非易失存储器的纠错方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096781B1 (en) * 1982-06-16 1989-11-29 International Business Machines Corporation System for updating error map of fault tolerant memory
CN1905070A (zh) * 2005-07-28 2007-01-31 三星电子株式会社 能够存储多比特数据和单比特数据的闪存设备
US20090052241A1 (en) * 2007-08-22 2009-02-26 Hynix Semiconductor Inc. Method of operating a non-volatile memory device
CN101615145A (zh) * 2009-07-24 2009-12-30 中兴通讯股份有限公司 一种提高存储器数据缓存可靠性的方法和装置
CN101834611A (zh) * 2010-05-06 2010-09-15 复旦大学 一种纠正多比特错误的ecc电路
CN103295649A (zh) * 2013-04-28 2013-09-11 上海宏力半导体制造有限公司 提高nvm可靠性的方法
CN103353855A (zh) * 2013-07-27 2013-10-16 深圳市瑞耐斯技术有限公司 一种nand闪存存储设备及其带外数据读取方法
CN103559141A (zh) * 2013-11-01 2014-02-05 北京昆腾微电子有限公司 非易失性存储器的管理方法和装置
CN105788647A (zh) * 2014-12-26 2016-07-20 北京兆易创新科技股份有限公司 一种非易失存储器的纠错方法和装置
CN104616698A (zh) * 2015-01-28 2015-05-13 山东华翼微电子技术股份有限公司 一种充分利用存储器冗余单元的方法
CN204833244U (zh) * 2015-08-19 2015-12-02 首都师范大学 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704236A (zh) * 2019-10-11 2020-01-17 南京元晨微电子科技有限公司 芯片flash数据的在线校验方法及计算机存储介质
CN110704236B (zh) * 2019-10-11 2020-09-01 南京元晨微电子科技有限公司 芯片flash数据的在线校验方法及计算机存储介质
TWI740454B (zh) * 2020-04-14 2021-09-21 慧榮科技股份有限公司 反應電源事件的資料存取方法及裝置
US11342008B2 (en) 2020-04-14 2022-05-24 Silicon Motion, Inc. Method and apparatus for accessing to data in response to power-supply event
US11664056B2 (en) 2020-04-14 2023-05-30 Silicon Motion, Inc. Method and apparatus for accessing to data in response to power-supply event
CN112540723A (zh) * 2020-11-06 2021-03-23 深圳市民德电子科技股份有限公司 一种NOR Flash坏点补偿的方法
CN113724772A (zh) * 2021-07-12 2021-11-30 深圳市美信咨询有限公司 存储器失效位置查找方法、装置和计算机设备
CN114647534A (zh) * 2022-05-24 2022-06-21 国网山东省电力公司营销服务中心(计量中心) 一种基于数字化控制设备的数据存储方法及装置

Also Published As

Publication number Publication date
CN109165115B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN109165115A (zh) 一种增强flash存储器可靠性的方法
JP4129381B2 (ja) 不揮発性半導体記憶装置
US8205070B2 (en) Device bootup from a NAND-type non-volatile memory
CN101937374B (zh) 存储存储器重映射信息的非易失性存储器
JP4059473B2 (ja) メモリカード及びメモリコントローラ
JP3708047B2 (ja) フラッシュメモリの管理方法
KR20060012696A (ko) 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US8296504B2 (en) Data management method and flash memory storage system and controller using the same
EP1934752A1 (en) Flash memory management
US8694748B2 (en) Data merging method for non-volatile memory module, and memory controller and memory storage device using the same
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
US20080189476A1 (en) Nonvolatile semiconductor storage device and method of managing the same
CN101625897A (zh) 用于快闪存储器的数据写入方法、储存系统与控制器
JP4034947B2 (ja) 不揮発性記憶システム
JP4158526B2 (ja) メモリカード及びメモリへのデータ書き込み方法
CN101425334B (zh) 一种实现nor flash坏块管理的方法及其控制电路
US8068363B2 (en) Flash memory apparatus and read operation control method therefor
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
US20100325344A1 (en) Data writing method for flash memory and control circuit and storage system using the same
CN108108118B (zh) 数据写入方法以及存储控制器
CN110968455B (zh) 一种非易失性存储器的修复方法及装置
CN110633056B (zh) 在操作系统层面的Flash芯片的页面管理方法及存储设备
CN101661432B (zh) 闪存区块管理方法、闪存储存系统及控制器
JP4433792B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4641034B2 (ja) 不揮発性記憶システム

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