CN110658981A - 一种提高Flash使用寿命的方法 - Google Patents
一种提高Flash使用寿命的方法 Download PDFInfo
- Publication number
- CN110658981A CN110658981A CN201910318856.6A CN201910318856A CN110658981A CN 110658981 A CN110658981 A CN 110658981A CN 201910318856 A CN201910318856 A CN 201910318856A CN 110658981 A CN110658981 A CN 110658981A
- Authority
- CN
- China
- Prior art keywords
- flash
- erasing
- area
- basic
- flashstate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种提高FLASH使用寿命的方法,属于数据存储技术领域,包括以下步骤:步骤A、将闪存FLASH的存储空间由大到小分为区、域、段和基本擦除单位四层;步骤B、将FLASH的基本擦除单位、段和域根据平均寿命次数划分为若干个阶段,若基本擦除单位的擦除次数因达到相应阶段的次数需要进入下一个阶段,则寻找并使用擦除次数最少的基本擦除单位,若管理区和统计区的常用段失效,则启用备份段,若启用域的使用超过一定阶段,则启用备用域。本发明的有益效果是:能够显著增加FLASH的寿命,增加系统的稳定性。
Description
技术领域
本发明属于数据存储技术领域,具体涉及一种提高FLASH使用寿命的方法。
背景技术
现有的系统中,对于存储有以下缺点:若某些文件长期不改动则其所占用的FLASH空间长期搁置,而改动多的文件等所占用FLASH被频繁读写而寿命迅速减小,容易导致FLASH因部分损坏而报废,而且文件系统一旦格式化,某些擦除次数等信息就丢失。
发明内容
本发明要解决的技术问题是提供一种提高FLASH使用寿命的方法,通过设置管理区、数据区、统计区等多区,每个区内按寿命程度等级轮流使用,达到延长使用寿命的效果,并且不受文件系统格式化的干扰。
为解决上述技术问题,本发明采用的技术方案是:一种提高Flash使用寿命的方法,其特征在于,包括以下步骤:
步骤A、将Flash的扇区划分为管理区、数据区、统计区。包含每个基本擦除单位的擦除次数、寿命阶段等FLASH重要参数的FLASH状态,做成三份分别在内存RAM以结构体变量形式、数据区以文件形式、统计区以二进制形式保存。与FLASH相关的有两个任务,FLASH系统主线任务、FLASH系统监视任务;
步骤B、设备上电后,FLASH系统主线任务依序查看三份FLASH状态记录是否有效,其中若有效标志无效,则依序选择后一份。若最后一份也无效,则新建最后一份且各基本擦除单位的擦除次数等赋值0,并置有效标志;
步骤C、在FLASH有擦除操作时,将擦写次数累计写入内存RAM 中的FLASH状态结构体全局变量的擦写次数元素;
步骤D、将FLASH的基本擦除单位、段、域,根据平均寿命次数划分为若干个阶段,每当擦除次数进入一个新的阶段,就进行相应的寿命管理操作;
步骤E、在关机时或者每天定时将内存FLASH状态变量与数据区的FLASH状态文件进行比较,对应数值不一致且有效时则前者数据更新到后者;在每次FLASH格式化之前或每月月初时将数据区的FLASH状态文件与统计区的FLASH状态记录进行比较,对应数值不一致且有效时则前者数据更新到后者。
本发明的有益效果是:能够显著增加FLASH的寿命,增加系统的稳定性。
下面结合附图对本发明进行详细说明。
图1是本发明中FLASH状态记录流图;
图2是本发明的流程图;
图3是图2中监视任务的流程图。
具体实施方式
本发明提供了一种提高FLASH使用寿命的方法,包括以下步骤。
步骤A、FLASH的存储空间设计。将闪存FLASH的存储空间从小到大分为四层,区、域、段、基本擦除单位,参下面的表1。第一层为管理区、数据区、统计区。管理区和统计区的第二层均由1个启用域和9个备用域组成,第三层每域由1个常用段和2个备份段组成,第四层每段由1个基本擦除单位组成。管理区用于管理数据区数据。数据区以文件形式或者简单数据结构形式来存储用户数据。统计区保存FLASH状态的累计结果(例每个基本擦除单位的擦除次数等关键参数),该区不受文件系统管理且不被文件系统格式化,通过包含互斥锁的三个FLSAH读写擦函数来直接底层操作FLASH。
步骤B、FLASH状态记录方法。FLASH状态用来做为FLASH各基本擦除单位间损耗平衡调度的依据之一,它包括每个基本擦除单位的擦除次数、寿命阶段等FLASH重要参数,且有有效标志及校验值。将FLASH状态记录三份,分别在内存RAM 中的FLASH状态结构体全局变量FlashState、数据区的FLASH状态文件FlashState.txt、统计区的FLASH状态记录FlashStateLog三个地方,参图1。根据存储介质、使用寿命、存取速度等多重因素权衡考虑,三份FLASH状态记录的参数值更新频率不一样,生效环境也不一样。
步骤C、FLASH状态记录更新频率。从大到小依次为:内存变量FlashState,一旦基本擦除单位的擦除次数有变则跟着更新;数据区文件FlashState.txt,关机前或每天凌晨一点时,若与内存变量FlashState值不一致时则更新;统计区记录FlashStateLog,仅在每次FLASH格式化之前、或每月初时,若与数据区文件FlashState.txt值不一致时则更新。
步骤D、三份FLASH状态记录的生效先后顺序:内存变量FlashState、数据区文件FlashState.txt、统计区记录FlashStateLog,其中若有效标志无效,则依序选择后一份。若最后一份也无效,则新建最后一份且各基本擦除单位的擦除次数等赋值0,并置有效标志。
步骤E、FLASH的损耗平衡管理、坏块管理、掉电管理。将FLASH的基本擦除单位、段、域,根据平均寿命次数划分为若干个阶段(例10万次,则1万1个阶段分10个阶段),每当擦除次数进入一个新的阶段,就进行相应的寿命管理操作。基本擦除单位的寿命管理:例如,寻找擦除次数最少的基本擦除单位,让其使用起来,让擦除次数最多的基本擦除单位轮休一段时间。管理区和统计区的寿命管理和坏块管理:常用段因掉电、遭遇坏块等失效,则启用备份段;启用域的寿命超过一定阶段,则启用备用域,反之亦然。
步骤F、FLASH相关任务划分。与FLASH相关的有两个任务,FLASH系统主线任务、FLASH系统监视任务。参图2、图3。对FLASH操作添加互斥锁等,防止两个任务等同时刻操作同一片FLASH。FLASH系统主线任务主要执行诸如读写文件之类的正常操作。FLASH系统监视任务发现并处理内外部格式化命令、系统升级、某些严重故障等特殊情况;
步骤G、FLASH系统主线任务。设备上电后,FLASH系统主线任务依序查看三份FLASH状态记录是否有效,参图1。因刚上电,所以第一份的内存RAM结构体全局变量FlashState为无效。接着核查第二份的数据区文件FlashState.txt是否有且有效:若无该文件则创建,若有该文件且有效,则第二份FlashState.txt QUOTE第一份内存FlashState,然后系统正常运行、第一份开始记录FLASH状态记录。若第二份无效,接着核查第三份的统计区FlashStateLog是否有且有效:若有效,则第三份FlashStateLogt QUOTE 第二份FlashState.txt QUOTE 第一份内存FlashState,然后系统正常运行、第一份开始记录FLASH状态记录。若第三份也无效,则三份均初始化0并置有效标志。然后系统正常运行、第一份开始记录FLASH状态记录。当关机前或每天凌晨一点时,数据区文件FlashState.txt若与内存变量FlashState值不一致时,则更新文件FlashState.txt。当每次FLASH格式化之前、或每月月初时,若统计区记录FlashStateLog与数据区文件FlashState.txt值不一致时,则更新统计区记录FlashStateLog。
以上实施例中:
区、域、段、基本擦除单位—FLASH存储空间划分。一般有区>域>段>基本擦除单位。
管理区—本文指数据区数据的集中管理区域。本文只是讲述的一套方法,不拘于有或无文件系统、集或散管理。
数据区—存储用户数据的区域。文件形式或者简单数据结构形式。
统计区—保存FLASH状态的累计结果(例每个基本擦除单位的擦除次数等关键参数),不受文件系统管理且不被文件系统格式化,通过包含互斥锁的三个FLSAH读写擦函数来直接底层操作FLASH。
域—每个域均由1个常用段和若干个备份段组成。启用标志,值0为备用;值1为启用。
段—每个段由1个或几个基本擦除单位组成。启用标志,值0为备份;值1为常用。常用段—如果系统正常,常用段和备份段的数据保持一致。
基本擦除单位—最小擦除单元。一般NORFLASH中是一个扇区sector,NANDFLASH中是一个块BLOCK。
最小写单元— NORFLASH中是一页page,NANDFLASH中是一页page。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (4)
1.一种提高FLASH使用寿命的方法,其特征在于,包括以下步骤:
步骤A、将闪存FLASH的存储空间由大到小分为区、域、段和基本擦除单位四层,
所述区包括以文件形式或者简单数据结构形式来存储用户数据的数据区、用于管理数据区数据的管理区和用于保存FLASH状态的累计结果的统计区,
其中,管理区和统计区均包括1个启用域和9个备用域,每个域包括1个常用段和2个备份段,每个段由1个基本擦除单位组成;
步骤B、将FLASH的基本擦除单位、段和域根据平均寿命次数划分为若干个阶段,
若基本擦除单位的擦除次数因达到相应阶段的次数需要进入下一个阶段,则寻找并使用擦除次数最少的基本擦除单位,
若管理区和统计区的常用段失效,则启用备份段,
若启用域的使用超过一定阶段,则启用备用域。
2.根据权利要求1所述的提高FLASH使用寿命的方法,其特征在于,统计区不受文件系统管理且不被文件系统格式化,通过包含互斥锁的三个FLSAH读写擦函数来直接底层操作FLASH。
3.根据权利要求1所述的提高FLASH使用寿命的方法,其特征在于,在步骤B中还包括建立FLASH状态记录并将FLASH状态记录按由低到高的等级分别在内存RAM 中的FLASH状态结构体全局变量FlashState、数据区的FLASH状态文件FlashState.txt和统计区的FLASH状态记录FlashStateLog中分别进行备份,
其中,基本擦除单位的擦除次数有变化则内存变量FlashState中的FLASH状态记录立即更新,
在关机前或每天凌晨一点时,比较内存变量FlashState和数据区文件FlashState.txt中的FLASH状态记录,如果值不一致则更新数据区文件FlashState.txt中的FLASH状态记录,
在每次FLASH格式化之前或每月月初时,比较统计区记录FlashStateLog和数据区文件FlashState.txt中的FLASH状态记录,如果值不一致则更新统计区记录FlashStateLog中的FLASH状态记录。
4.根据权利要求3所述的提高FLASH使用寿命的方法,其特征在于,FLASH系统依次查看三份FLASH状态记录是否有效,如果全部有效则按正常状态进行擦写操作;如果全部无效则新建最后一份且各基本擦除单位的擦除次数等赋值0并置为有效标志,然后按正常状态进行擦写操作;否则将高等级中的FLASH状态记录复制到内存RAM或数据区中,然后按正常状态进行擦写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318856.6A CN110658981B (zh) | 2019-04-19 | 2019-04-19 | 一种提高Flash使用寿命的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318856.6A CN110658981B (zh) | 2019-04-19 | 2019-04-19 | 一种提高Flash使用寿命的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110658981A true CN110658981A (zh) | 2020-01-07 |
CN110658981B CN110658981B (zh) | 2022-11-08 |
Family
ID=69028783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910318856.6A Active CN110658981B (zh) | 2019-04-19 | 2019-04-19 | 一种提高Flash使用寿命的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110658981B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN114442906A (zh) * | 2020-11-02 | 2022-05-06 | 深圳Tcl新技术有限公司 | 一种数据存储方法、终端及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805049A (zh) * | 2005-11-22 | 2006-07-19 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
US20100205354A1 (en) * | 2008-03-26 | 2010-08-12 | Masumi Suzuki | Storage device using flash memory |
US20100257309A1 (en) * | 2009-04-06 | 2010-10-07 | Boris Barsky | Device and method for managing a flash memory |
CN102081577A (zh) * | 2011-01-12 | 2011-06-01 | 厦门雅迅网络股份有限公司 | Flash存储器的数据存储结构及其数据操作方式 |
CN102135942A (zh) * | 2010-12-31 | 2011-07-27 | 北京握奇数据系统有限公司 | 一种存储设备中实现损耗均衡的方法及存储设备 |
CN104317671A (zh) * | 2014-10-24 | 2015-01-28 | 杭州帅锐电子科技有限公司 | 一种提升非易失存储使用寿命的掉电数据保存恢复算法 |
CN104464809A (zh) * | 2014-11-05 | 2015-03-25 | 武汉新芯集成电路制造有限公司 | 一种延长快闪存储器使用寿命的方法 |
US20150106557A1 (en) * | 2008-06-18 | 2015-04-16 | Super Talent Technology Corp. | Virtual Memory Device (VMD) Application/Driver for Enhanced Flash Endurance |
CN104820641A (zh) * | 2015-04-16 | 2015-08-05 | 上海冉能自动化科技有限公司 | 减少flash擦除次数的方法 |
CN105843558A (zh) * | 2016-03-25 | 2016-08-10 | 福建联迪商用设备有限公司 | 处理流水文件的方法及系统 |
-
2019
- 2019-04-19 CN CN201910318856.6A patent/CN110658981B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805049A (zh) * | 2005-11-22 | 2006-07-19 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
US20100205354A1 (en) * | 2008-03-26 | 2010-08-12 | Masumi Suzuki | Storage device using flash memory |
US20150106557A1 (en) * | 2008-06-18 | 2015-04-16 | Super Talent Technology Corp. | Virtual Memory Device (VMD) Application/Driver for Enhanced Flash Endurance |
US20100257309A1 (en) * | 2009-04-06 | 2010-10-07 | Boris Barsky | Device and method for managing a flash memory |
CN102135942A (zh) * | 2010-12-31 | 2011-07-27 | 北京握奇数据系统有限公司 | 一种存储设备中实现损耗均衡的方法及存储设备 |
CN102081577A (zh) * | 2011-01-12 | 2011-06-01 | 厦门雅迅网络股份有限公司 | Flash存储器的数据存储结构及其数据操作方式 |
CN104317671A (zh) * | 2014-10-24 | 2015-01-28 | 杭州帅锐电子科技有限公司 | 一种提升非易失存储使用寿命的掉电数据保存恢复算法 |
CN104464809A (zh) * | 2014-11-05 | 2015-03-25 | 武汉新芯集成电路制造有限公司 | 一种延长快闪存储器使用寿命的方法 |
CN104820641A (zh) * | 2015-04-16 | 2015-08-05 | 上海冉能自动化科技有限公司 | 减少flash擦除次数的方法 |
CN105843558A (zh) * | 2016-03-25 | 2016-08-10 | 福建联迪商用设备有限公司 | 处理流水文件的方法及系统 |
Non-Patent Citations (1)
Title |
---|
朱宇等: "基于flash的嵌入式文件系统", 《科技信息》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN111208950B (zh) * | 2020-01-15 | 2023-07-14 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN114442906A (zh) * | 2020-11-02 | 2022-05-06 | 深圳Tcl新技术有限公司 | 一种数据存储方法、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110658981B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100644602B1 (ko) | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 | |
US9244833B2 (en) | Data-storage device and flash memory control method | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
CN103577121B (zh) | 一种基于Nand Flash的高可靠线性文件存取方法 | |
CN101673245B (zh) | 包括存储器管理装置的信息处理装置和存储器管理方法 | |
US7363540B2 (en) | Transaction-safe FAT file system improvements | |
US9817588B2 (en) | Memory device and operating method of same | |
US8966205B1 (en) | System data management using garbage collection and hybrid self mapping | |
CN103577574B (zh) | 一种基于nand flash的高可靠线性文件系统 | |
CN106844583B (zh) | 一种在NOR Flash上建立FAT文件系统的优化方法 | |
JP2006235960A (ja) | ガーベッジコレクション高速化方法 | |
US20070118693A1 (en) | Method, apparatus and computer program product for cache restoration in a storage system | |
CN105868396A (zh) | 内存文件系统的多版本控制方法 | |
KR20080037283A (ko) | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 | |
CN101369252A (zh) | 基于nand闪存文件系统中静态数据损耗均衡的方法 | |
JP2005242897A (ja) | フラッシュディスク装置 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
CN109558335B (zh) | 一种基于Nor Flash存储器的嵌入式系统的文件存储格式 | |
CN101364166A (zh) | 将2048字节页的Nand Flash模拟成硬盘的方法和装置 | |
CN110658981B (zh) | 一种提高Flash使用寿命的方法 | |
US6629203B1 (en) | Alternating shadow directories in pairs of storage spaces for data storage | |
CN116737064B (zh) | 一种固态硬盘的数据管理方法和系统 | |
CN110764704A (zh) | 一种环境变量写入方法、存储介质及电子装置 | |
CN111414320B (zh) | 基于日志文件系统的非易失内存构建磁盘cache的方法及系统 | |
CN113704217A (zh) | 一种分布式持久性内存文件系统中元数据及数据组织架构方法 |
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 |