CN101364437A - 一种可使闪存损耗均衡的方法及其应用 - Google Patents
一种可使闪存损耗均衡的方法及其应用 Download PDFInfo
- Publication number
- CN101364437A CN101364437A CNA2007100755459A CN200710075545A CN101364437A CN 101364437 A CN101364437 A CN 101364437A CN A2007100755459 A CNA2007100755459 A CN A2007100755459A CN 200710075545 A CN200710075545 A CN 200710075545A CN 101364437 A CN101364437 A CN 101364437A
- Authority
- CN
- China
- Prior art keywords
- piece
- flash memory
- data
- version
- wear leveling
- 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.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种可使闪存损耗均衡的方法及其应用,包括步骤:针对每个块的擦写次数,记录其版本;针对每个块的数据更改次数,记录其版本;根据记录的版本号,执行第一预定操作;根据记录的版本号,执行第二预定操作;所述的设定值C为(1/8--1/2)×闪存的寿命次数计算所得;该方法可应用于闪存控制器的固件中,或个人电脑中,或单片机中,也可应用于外接闪存的设备中,该方法可自动或被动地对数据进行搬移;采用上述方法,可以把最不常改动的数据放在剩余使用寿命最短的块上,把最常改动的数据放在剩余使用寿命最长的块上,并且此过程可以被自动或者主动的执行,以此来达到闪存的磨损均衡,达到提高闪存的使用寿命的目的。
Description
技术领域
本发明涉及闪存存储领域,尤指一种可使闪存损耗均衡的方法及其应用。
背景技术
闪存:闪存是FLASH RAM的音译。闪存作为一种非挥发性(简单说就是在不加电的情况下数据也不会丢失,区别于目前常用的计算机内存)的半导体存储芯片,具有体积小、功耗低、不易受物理破坏的优点,是移动数码产品的理想存储介质。
闪存的结构,为是由很多个块组成,每个块包括一定数目的页,每一个页均包含一个数据区和冗余区,数据区是用来存储数据,而冗余区通常被用于ECC、耗损均衡(wear leveling)和其它软件开销功能,尽管它在物理上与其它页并没有区别。
闪存进行操作,即在向芯片中写数据时,必须先将芯片中对应的内容清空,然后再写入,也就是通常说的“先擦后写”。另外,其不做改变的数据是不做搬移的,只有做了改变的数据才会进行搬移,由于闪存擦写的次数都是有限的,这样,经常做搬移的闪存数据块就会较不做改变的数据块提前接近数据寿命,经常会出现写操作失败;到达数据寿命时,闪存内部存放的数据虽然可以读,但是不能再进行写操作了。
以现代的操作系统为例子,例如:unix,有超过50%的数据是不会改动的,这些数据包括:系统核心,应用程序,字体......常改动的数据包括:用户数据,系统配置数据,记录数据......
现有的闪存操作方式,其闪存的磨损是不均衡的,有的闪存块寿命已接近数据寿命,但有的闪存块的寿命还一次都没擦除过。
发明内容
本发明提供了一种可使闪存损耗均衡的方法及其应用,其可克服现有闪存缺陷,提高闪存数据寿命。
为了实现上述发明的目的,本发明所采用的技术方案为:
一种可使闪存损耗均衡的方法,包括步骤:
针对每个块的擦写次数,记录其版本;
针对每个块的数据更改次数,记录其版本;
根据记录的版本号,执行第一预定操作;
根据记录的版本号,执行第二预定操作。
所述的第一预定操作包括以下步骤:
找出数据区数据版本最大的块A;
找出块版本最小的块B;
A和B的块版本差值与设定值C相比;
若差值大于C,交换块A和块B的数据。
所述的第二预定操作包括以下步骤:
找出数据区数据版本最小的块E;
找出块版本最大的块F;
E和F的块版本差值与设定值C相比;
若差值大于C,交换块E和块F的数据。
所述的设定值C为(1/8--1/2)×闪存的寿命次数计算所得。
所述的一种可使闪存损耗均衡的方法的应用,该方法可应用于闪存控制器的固件中。
所述的一种可使闪存损耗均衡的方法的应用,该方法可应用于个人电脑中。
所述的一种可使闪存损耗均衡的方法的应用,该方法可应用于单片机中。
所述的一种可使闪存损耗均衡的方法的应用,该方法可应用于外接闪存的设备中。
所述的方法可自动或被动地对数据进行搬移。
采用上述方法,可以把最不常改动的数据放在剩余使用寿命最短的块上,把最常改动的数据放在剩余使用寿命最长的块上,并且此过程可以被自动或者主动的执行,以此来达到闪存的磨损均衡,达到提高闪存的使用寿命的目的。
附图说明
图1为本发明方法的流程示意图;
图2为本发明方法第一预定操作的流程示意图;
图3为本发明方法第二预定操作的流程示意图;
图4为一闪存块的初始状态图;
图5为图4所示块修改一次后的状态图;
图6为图4所示块进行第一预定操作后的状态图;
图7为图4所示块进行第二预定操作后的状态图;
图8为将数据块移动到空闲块的移动前的示意图;
图9为将数据块移动到空闲块的移动后的示意图;
图10为数据块和数据块交换的移动前的示意图;
图11为数据块和数据块交换的移动后的示意图。
具体实施方式
如图1所示,本发明公开一种可使闪存损耗均衡的方法,包括以下步骤:
步骤101:针对每个块的擦写次数,记录其版本;
步骤102:针对每个块的数据更改次数,记录其版本;
步骤103:根据记录的版本号,执行第一预定操作;
步骤104:根据记录的版本号,执行第二预定操作。
如图2所示,所述的第一预定操作包括以下步骤:
步骤201:找出数据区数据版本最大的块A;
步骤202:找出块版本最小的块B;
步骤203:A和B的块版本差值与设定值C相比;
步骤204:若差值大于C,交换块A和块B的数据。
如图3所示,所述的第二预定操作包括以下步骤:
步骤301:找出数据区数据版本最小的块E;
步骤302:找出块版本最大的块F;
步骤303:E和F的块版本差值与设定值C相比;
步骤304:若差值大于C,交换块E和块F的数据。
所述的设定值C为(1/8--1/2)×闪存的寿命次数计算所得。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
首先,执行步骤101:针对每个块的擦写次数,记录其版本;
针对每个块的擦写次数,记录其版本为Vb,版本数越大,表示该块被擦写的次数越多,该块剩下的使用寿命越短。
执行步骤102:针对每个块的数据更改次数,记录其版本;
针对每个块的数据记录的更改次数,记录其版本Vd,版本数越大,表示该块的数据越常改动。
其次,执行步骤103:根据记录的版本号,执行第一预定操作;
如图4所示,其为一数据区和空闲区的初始状态图,其记录了每个块的擦写次数,记录了版本;当不使用本方法的情况下,假设该闪存的块寿命是4002次,若此时需要修改Vd=100所在的块,修改后变成如图5所示的坏块。
若采用本发明方法,即执行第一预定操作:
步骤201:找出该数据区数据版本Vd最大的块A,在图4的初始状态图中,数据区数据版本Vd最大的是Vd=100所在的块;
步骤202:找出块版本最小的块B;在图4中,块版本最小的块,是Vb=100所在的块B;
设定C的值为2000;
步骤203:A和B的块版本差值与设定值C相比;
块A的版本Vb=4000,块B的版本Vb=100,4000-100与2000相比,很明显,大于C的值;
步骤204:若差值大于C,交换块A和块B的数据;
经过上面的比较,很明显,块A和块B的块版本差值大于C,将两个块的数据进行交换。
如图8所示,其为移动前的数据块和空闲块;移动后,其变为如图9所示的状态,即,其移动规律是:搬移后Vd不变,目标块Vb+1;
若为数据块和数据块的交换,如图10所示,其为移动前的两数据块状态;移动后,其变为如图11所示的状态,即,其移动规律是:搬移后Vd不变,两个块的Vb+1。
交换后,图4所示的状态变为图6所示的状态图;
再执行步骤104:然后根据记录的版本号,执行第二预定操作;
步骤301:找出数据区数据版本最小的块E;
在图6的状态图中,数据区数据版本最小的块是版本数Vd=5所在的块;
步骤302:找出块版本最大的块F;
在图6的状态图中,块版本最大的块是版本数Vb=4000所在的块;
步骤303:E和F的块版本差值与设定值C相比;
块E的块版本值为1000,块F的块版本值是4000;4000-1000与2000相比,很明显,大于C的值;
步骤304:若差值大于C,交换块E和块F的数据:
经过上面的比较,很明显,块E和块F的块版本差值大于设定的C值,将两个块的数据进行交换,交换后的数据状态图如图7所示。
通过执行第一预定操作和第二预定操作,在图4中,Vd=100的块是改动最频繁的块,其通过交换,已被交换到版本最小的块Vb=101上,Vd=5的块是最不常改动的块,其通过交换,被交换到版本最大的块Vb=4001上。
另外,适当调整C的取值,可以有效的控制额外移动块的次数,采用一定的算法,我们能把额外的次数控制在20%左右。
另外,使用本方法时,其可应用于闪存控制器的固件中,或者应用于个人电脑中,或应用于单片机中,或应用于外接闪存的设备中。
再者,该方法可自动或被动地对数据进行搬移。
采用上述方法,可以把最不常改动的数据放在剩余使用寿命最短的块上,把最常改动的数据放在剩余使用寿命最长的块上,并且此过程可以被自动或者主动的执行,以此来达到闪存的磨损均衡,达到提高闪存的使用寿命的目的。
另外,其也可以先执行步骤104,再执行步骤103。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (9)
1.一种可使闪存损耗均衡的方法,包括步骤:
针对每个块的擦写次数,记录其版本;
针对每个块的数据更改次数,记录其版本;
根据记录的版本号,执行第一预定操作;
根据记录的版本号,执行第二预定操作。
2.如权利要求1所述的一种可使闪存损耗均衡的方法,其特征在于:所述的第一预定操作包括以下步骤:
找出数据区数据版本最大的块A;
找出块版本最小的块B;
A和B的块版本差值与设定值C相比;
若差值大于C,交换块A和块B的数据。
3.如权利要求1所述的一种可使闪存损耗均衡的方法,其特征在于:所述的第二预定操作包括以下步骤:
找出数据区数据版本最小的块E;
找出块版本最大的块F;
E和F的块版本差值与设定值C相比;
若差值大于C,交换块E和块F的数据。
4.如权利要求1、2或3所述的一种可使闪存损耗均衡的方法,其特征在于:所述的设定值C为(1/8--1/2)×闪存的寿命次数计算所得。
5.如权利要求4所述的一种可使闪存损耗均衡的方法的应用,其特征在于:该方法可应用于闪存控制器的固件中。
6.如权利要求4所述的一种可使闪存损耗均衡的方法的应用,其特征在于:该方法可应用于个人电脑中。
7.如权利要求4所述的一种可使闪存损耗均衡的方法的应用,其特征在于:该方法可应用于单片机中。
8.如权利要求4所述的一种可使闪存损耗均衡的方法的应用,其特征在于:该方法可应用于外接闪存的设备中。
9.如权利要求4所述的一种可使闪存损耗均衡的方法的应用,其特征在于:所述的方法可自动或被动地对数据进行搬移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100755459A CN101364437A (zh) | 2007-08-07 | 2007-08-07 | 一种可使闪存损耗均衡的方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100755459A CN101364437A (zh) | 2007-08-07 | 2007-08-07 | 一种可使闪存损耗均衡的方法及其应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101364437A true CN101364437A (zh) | 2009-02-11 |
Family
ID=40390755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100755459A Pending CN101364437A (zh) | 2007-08-07 | 2007-08-07 | 一种可使闪存损耗均衡的方法及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101364437A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289412A (zh) * | 2011-09-07 | 2011-12-21 | 上海交通大学 | 固态硬盘的静态磨损均衡方法及系统 |
CN104102459A (zh) * | 2014-07-03 | 2014-10-15 | 优佰特电子科技(无锡)有限公司 | 一种闪存设备的数据处理方法及闪存设备 |
CN106502917A (zh) * | 2015-09-04 | 2017-03-15 | Hgst荷兰公司 | 闪速存储器设备的磨损管理 |
CN106610901A (zh) * | 2015-10-21 | 2017-05-03 | 深圳市江波龙电子有限公司 | 存储器的磨损次数平衡方法及装置 |
CN107025066A (zh) * | 2016-09-14 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 在基于闪存的存储介质中写入存储数据的方法和装置 |
CN110750466A (zh) * | 2019-10-18 | 2020-02-04 | 深圳豪杰创新电子有限公司 | 提高闪存擦写寿命的方法和装置 |
CN111208460A (zh) * | 2020-01-23 | 2020-05-29 | 上海东软医疗科技有限公司 | 延长梯度功放寿命的方法及梯度功放的监控装置 |
CN117809724A (zh) * | 2024-03-01 | 2024-04-02 | 四川云海芯科微电子科技有限公司 | 基于寿命测试的NAND Flash磨损均衡方法 |
-
2007
- 2007-08-07 CN CNA2007100755459A patent/CN101364437A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289412A (zh) * | 2011-09-07 | 2011-12-21 | 上海交通大学 | 固态硬盘的静态磨损均衡方法及系统 |
CN102289412B (zh) * | 2011-09-07 | 2013-08-14 | 上海交通大学 | 固态硬盘的静态磨损均衡方法及系统 |
CN104102459A (zh) * | 2014-07-03 | 2014-10-15 | 优佰特电子科技(无锡)有限公司 | 一种闪存设备的数据处理方法及闪存设备 |
CN106502917A (zh) * | 2015-09-04 | 2017-03-15 | Hgst荷兰公司 | 闪速存储器设备的磨损管理 |
CN106610901B (zh) * | 2015-10-21 | 2019-08-13 | 深圳市江波龙电子股份有限公司 | 存储器的磨损次数平衡方法及装置 |
CN106610901A (zh) * | 2015-10-21 | 2017-05-03 | 深圳市江波龙电子有限公司 | 存储器的磨损次数平衡方法及装置 |
CN107025066A (zh) * | 2016-09-14 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 在基于闪存的存储介质中写入存储数据的方法和装置 |
US11099744B2 (en) | 2016-09-14 | 2021-08-24 | Ant Financial (Hang Zhou) Network Technology Co., Ltd. | Method and device for writing stored data into storage medium based on flash memory |
US11287984B2 (en) | 2016-09-14 | 2022-03-29 | Beijing Oceanbase Technology Co., Ltd. | Method and device for writing stored data into storage medium based on flash memory |
CN110750466A (zh) * | 2019-10-18 | 2020-02-04 | 深圳豪杰创新电子有限公司 | 提高闪存擦写寿命的方法和装置 |
CN111208460A (zh) * | 2020-01-23 | 2020-05-29 | 上海东软医疗科技有限公司 | 延长梯度功放寿命的方法及梯度功放的监控装置 |
CN111208460B (zh) * | 2020-01-23 | 2021-10-29 | 上海东软医疗科技有限公司 | 延长梯度功放寿命的方法及梯度功放的监控装置 |
CN117809724A (zh) * | 2024-03-01 | 2024-04-02 | 四川云海芯科微电子科技有限公司 | 基于寿命测试的NAND Flash磨损均衡方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101364437A (zh) | 一种可使闪存损耗均衡的方法及其应用 | |
CN111090398B (zh) | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 | |
US8195971B2 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN101593157B (zh) | 非线性闪存的坏块管理方法及装置 | |
JP5970645B2 (ja) | メモリの寿命を延長するためにメモリ内のスペア領域を増加させること | |
US8065469B2 (en) | Static wear leveling | |
TWI405209B (zh) | 資料管理方法及使用此方法的快閃儲存系統與控制器 | |
CN101656104B (zh) | 快闪存储器储存系统及其数据写入方法 | |
CN102880556A (zh) | 一种实现Nand Flash磨损均衡的方法及其系统 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
DE102006013976A1 (de) | Festplattenlaufwerk, Datenverarbeitungsvorrichtung und Lese-/Schreibverfahren | |
TW200951969A (en) | Memory management method for non-volatile memory and controller using the same | |
US9965400B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN104516471A (zh) | 一种管理存储器系统的电源的方法和装置 | |
CN101499315B (zh) | 快闪存储器平均磨损方法及其控制器 | |
CN105551522A (zh) | 闪存存储设备的管理方法及装置 | |
CN102789813B (zh) | 一种控制存储设备内非最低有效位页使用的方法及装置 | |
CN105205015B (zh) | 一种数据存储方法及存储设备 | |
CN101504568B (zh) | 一种运行硬盘的方法、装置及电子设备 | |
CN105138472A (zh) | 闪存磨损优化方法及设备 | |
CN106371950A (zh) | 一种实现raid级别转换的方法及装置 | |
CN106021124B (zh) | 一种数据的存储方法及存储系统 | |
CN101770426B (zh) | 存储方法及存储设备 | |
CN108572924B (zh) | 一种3d mlc闪存设备的请求处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090211 |