CN101339808B - 存储块的擦除方法及装置 - Google Patents

存储块的擦除方法及装置 Download PDF

Info

Publication number
CN101339808B
CN101339808B CN2008100485914A CN200810048591A CN101339808B CN 101339808 B CN101339808 B CN 101339808B CN 2008100485914 A CN2008100485914 A CN 2008100485914A CN 200810048591 A CN200810048591 A CN 200810048591A CN 101339808 B CN101339808 B CN 101339808B
Authority
CN
China
Prior art keywords
storage block
block
data
value
erasing
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.)
Expired - Fee Related
Application number
CN2008100485914A
Other languages
English (en)
Other versions
CN101339808A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN2008100485914A priority Critical patent/CN101339808B/zh
Publication of CN101339808A publication Critical patent/CN101339808A/zh
Application granted granted Critical
Publication of CN101339808B publication Critical patent/CN101339808B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明公开了一种存储块的擦除方法,包括:根据含有无效数据的存储块的磨损均匀程度,动态调整回收效率与磨损平衡间的倾向,获取所述存储块的清洁索引值,根据所述清洁索引值确定要擦除的存储块进行数据擦除。本发明还公开了一种存储块的擦除装置,包括动态调整模块、清洁索引模块和擦除模块。本发明通过设置一种新的清洁索引计算方法,引入了新的参量,使得当区块擦除次数接近擦除极限时,仍然能有效计算块间的磨损平衡。同时,还提出了一种动态的调整方法,根据块的磨损均匀程度,动态调整回收效率与磨损平衡之间的倾向,保证闪存的垃圾回收中有较平衡的性能以及自适应能力。

Description

存储块的擦除方法及装置 
技术领域
本发明涉及闪存的管理技术,特别是存储块擦除方法及装置。 
背景技术
Flash存储卡(闪存)主要应用于智能电话、数码相机、PDA等相关领域,由Flash存储芯片和存储卡控制电路这两部分的组成。其中,Flash存储芯片是Flash存储卡的存储实体,它是一种基于半导体的存储器,具有功耗低、容量大、访问速度高、无机械故障,以及数据非易失的优点。随着Flash存储芯片容量的飞速增长,人们对数据操作的灵活性提出了越来越高的要求,对Flash存储芯片中的数据存储管理已成为一个不容回避的问题。 
在闪存经过反复读写之后,块内与块间会有大量的文件碎片,这时需要进行垃圾收集。因为,在很多块中,含有脏数据-即无效数据-的块需要将脏数据占据的存储空间回收,这时就需要将含有脏数据的块回收,将块中的有效数据重写到其他空闲块中,并擦除该块。这个过程称为垃圾收集。在垃圾收集过程时,首先要重写块的全部有效数据,然后再擦除整个块。尽管Flash存储芯片作为非易失性存储器,可以反复地编程并擦除,但是在其每个存储块被磨损坏之前,只能对其进行一定次数的擦除。在某些系统中,在存储块被认定为不可用之前,可对其进行约一万次的擦除。当存储块被磨坏时,会进而导致整个闪存存储容量的一部分无法使用或其性能的重大下降,导致丢失已存储数据或无法存储数据,使用户受到不良影响。 
每个闪存存储块可以根据其擦除次数分为年老和年轻的区块,擦除次数越多年龄越老,反之则越年轻。在闪存文件系统中,需要考虑对闪存芯片的磨损平衡,其目的就是将整个闪存中的各个块的年龄差异控制在一定的范围,使整个闪存磨损程度趋于一致,延长闪存的寿命。如果总是擦除年老的块,那么会导致年老块的加速损坏,影响整个闪存的使用。因此在垃圾收集擦除闪存块时,应该尽量回收年轻的区块来擦除。 
块的利用率是指存储块上有效数据所占的比例。垃圾收集首先把待擦除块的有效数据写到当前块中,再对那个待擦除块进行擦除。其中擦除操作时间是固定的,重写数据耗费的时间与重新写入的数据量有关,并决定着垃圾收集时间的长短。随着区块利用率的提高,每次重写的数据量越大,那么重写所耗费的时间也越长,回收的效率也越低。据资料显示,当闪存块的利用率达到80%以上时,重写的代价会迅速提高。因此在垃圾收集中,选择擦除块时,考虑磨损平衡的同时,还要考虑到回收效率的问题。应该尽量选择利用率低,且年龄较小的块。 
一种典型的磨损平衡算法是贪婪算法,它根据各旧数据块被标记的时间,每次回收最先被标记的旧数据块,直到所有的旧数据区块都被成功擦除回收。这种算法资源占用率低,避免了回收操作时无序的回收旧数据块,但是它没有考虑年龄因素,有可能每次回收最先标记的旧数据块,而该旧数据块恰好是年龄较大的块,这就会使得对该块的磨损加剧。 
在垃圾收集过程中,需要考虑块的年龄和块的利用率两个因素。为了修正贪婪算法的不足,Kim and Lee重新定义了选择擦除块的指标,定义了清洁索引的概念,弥补了贪婪算法的不足。清洁索引的定义如公式1所示,其中ui表示块i的利用率、εi表示当前擦除次数、εmin和εmax表示块的最小擦除次数和最大擦除次数。 
cleaningIndex = ( 1 - l ) u i + l × ϵ i ϵ max + 1 (公式1) 
公式1中的l为正规下齐平度,其计算方法使用下面的公式2,其中Δε=εmaxmin表示磨损倾斜度,反应了磨损的平衡程度,ke为一个常量。 
l = 2 1 + e k e Δ e if Δ e ≠ 0 0 if Δ e = 0 (公式2) 
Kim and Lee算法中选择具有较低清洁索引值的块首先擦除,既考虑了回收的效率,也考虑磨损的平衡,通过它来选择擦除块比贪婪算法更为准确高效。 
但是以上算法存在一个缺点,即当块的当前擦除次数接近εmax时,该算法将忽略擦除次数,而偏重块的利用率,这是由于: 
lim ϵ i → ϵ max ϵ i ϵ max + 1 = 1
即当块的擦除次数越靠近最大擦除次数时,该极限越趋近于1。这也就意味着对该块来说,其擦除次数在此清洁索引的算法中变为无效,清洁索引值仅由块的利用率ui来判断。 
举个例子,取正规下齐平度l为0.9,以下为采用Kim and Lee算法计算的清洁索引值: 
块A:ui=0.7,εi=96000,εmax=96350,εmin=92950 
CleaningIndex=(1-0.9)×0.7+0.9×[96000/(96350+1)]=0.96672 
块B:ui=0.4,εi=96300,εmax=96350,εmin=92950 
CleaningIndex=(1-0.9)×0.4+0.9×[96300/(96350+1)]=0.93952 
根据该算法,这时该选择清洁索引较低的块B擦除,而实际上它的 擦除次数比A还高,这反而加剧了B的磨损。 
以上这种情况下,使得高擦除次数,低利用率的块有可能被反复擦除,严重增加了其磨损,而这种情形在实际应用中肯定是不能被允许的。 
发明内容
有鉴于此,本发明的目的在于提供存储块的擦除方法和装置,避免当擦除次数接近最大擦除次数时,出现的高擦除次数、低利用率的块会被反复擦除而严重增加其磨损的问题。 
为实现上述目的,本发明提供了一种存储块的擦除方法,包括以下步骤: 
根据含有无效数据的存储块的磨损均匀程度,动态调整回收效率与磨损平衡间的倾向,获取所述存储块的清洁索引值,根据所述清洁索引值确定要擦除的存储块进行数据擦除。 
本发明还提供了一种存储块的擦除装置,包括: 
动态调整模块,用于根据含有无效数据的存储块的磨损均匀程度,动态调整回收效率与磨损平衡间的倾向; 
清洁索引模块,用于获取所述存储块的清洁索引值; 
擦除模块,用于根据所述清洁索引值确定要擦除的存储块并进行数据擦除。 
本发明通过采用改进的清洁索引算法,很好地解决了Kim and Lee算法中由于清洁索引计算方法方面的一些瑕疵,而导致的低利用率高擦除次数的块依据清洁索引选择出来,所造成的磨损加剧问题。它定义了一种新的清洁索引计算方法,引入了新的参量,使得当区块擦除次数接近擦除极限时,杜绝了Kim and Lee算法在该情况下的负面影响。 
同时,还提出了一种动态的调整方法,根据块的磨损均匀程度,动态调整回收效率与磨损平衡之间的倾向,保证闪存的垃圾回收中有较平衡的性能以及自适应能力。 
附图说明
图1为本发明的实施例中进行存储块擦除的方法流程图; 
图2为本发明实施例中一种存储块擦除装置的结构图。 
具体实施方式
由于Kim and Lee算法固有的一些瑕疵,导致低利用率高擦除次数的块依据清洁索引被选择出来,从而造成了磨损更为加剧。 
另外,Kim and Lee算法中的正规下齐平度l是一个静态值,这使得其清洁索引值的计算被单一化,不能考虑到一些特殊的情况。如在芯片擦除次数较少时,应该尽可能地提高回收效率,即回收尽可能多的空间;而在芯片擦除次数较多时,就更应该考虑磨损平衡的因素。 
本发明的实施例通过采用改进的清洁索引算法,很好地解决了Kimand Lee算法中由于清洁索引计算方法方面的一些瑕疵,而导致的低利用率高擦除次数的块依据清洁索引选择出来,所造成的磨损加剧问题。它定义了一种新的清洁索引计算方法,引入了新的参量,使得当区块擦除次数接近擦除极限时,杜绝了Kim and Lee算法在该情况下的负面影响。 
同时,还提出了一种动态的调整方法,根据块的磨损均匀程度,动态调整回收效率与磨损平衡之间的倾向,保证闪存的垃圾回收中有较平衡的性能以及自适应能力。 
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。 
在本发明实施例中,根据改进的清洁索引方法进行存储块擦除的流程如图1所示: 
步骤101、检查可回收块链表dirtylist是否为空,如果为空,则结束 回收;否则执行下一步。 
本发明实施例建立了新的存储含有脏数据-即无效数据-应被回收的块信息的数据结构,在该数据结构里面保存有该块的清洁索引的值,并采用链表的方式存储,从而方便了增加或删除块信息,该链表称为dirtylist。并且不同的脏数据块信息按照清洁索引的值进行排序,值小的排在链表的前面。通过对此链表排序,在进行脏数据块擦除时,从此链表取出队首元素来擦除就可以了。该数据结构具体为: 
    struct dirtyblock 
    { 
      …… 
       uint cleanindex; 
    …… 
如果脏数据块链表为空,表明此时系统中没有可擦除的块,应结束本流程。 
同样,本发明实施例也定义了不含脏数据的非空闲数据块信息的数据结构,以如下结构体保存,这些信息也以链表形式存储,称为blocklist。其中free_size表示块的空闲空间,用来计算ui,erase_cnt用来记录擦除次数,当该非空闲数据块存储了脏数据需要擦除时,这两个值会被用来计算清洁索引值,并根据清洁索引值,放入dirtylist。 
struct  block 
  …… 
uint32_t free_size; 
uint32_t erase_cnt; 
…… 
步骤102、计算系统的磨损倾斜度,即块的最大擦除次数和最小擦除次数之差,判断该差值是否超过阈值TH,如果超过则执行步骤103;否则执行步骤104。 
阈值TH称为磨损平衡阈值,磨损倾斜度反映整个系统所有存储块的磨损平衡程度,当这个值较大时,表明不同存储块的磨损程度相差较大,此时应当采用较大的l值,使得对清洁索引值的计算偏向于对擦除次数的考虑,也就是擦除次数值在清洁索引值的计算中占较大比重。反之,当磨损倾斜度值较小时,表明不同存储块的磨损程度较为均匀,此时应当采用较小的l值,使得对清洁索引值的计算偏向于对存储空间利用率-即块的使用率-的考虑,应尽量去回收使用率高的块。磨损平衡阈值TH就是为了衡量到底应优先考虑平衡块间的磨损,还是优先考虑回收存储空间。即,当磨损倾斜度大于TH时,选择较大l值;反之选择较小l值。 
TH值是一个经验值,根据不同的应用场景而采用不同的设置,在本实施例中为2000。而较大和较小l值的确定,同样要根据具体应用,在本实施例中为0.9和0.1。 
步骤103、根据步骤102中的动态调整策略,计算当前情况下的正规下齐平度l,按计算出的正规下齐平度l,同时考虑块的擦除次数和块的利用率来计算每个dirtylist中的块的清洁索引值,并执行步骤105。因为超过了阈值TH,应选择较大l值。 
本发明实施例提出了一种改进的清洁索引的算法,通过对公式1进行修正,引入新的参量,来对清洁索引值作微调。改进后的清洁索引算法如公式3所示: 
cleaningIndex = ( 1 - l ) u i + l × ϵ i - ϵ min ϵ max - ϵ min + 1 (公式3) 
其中,用εimin代替εi,使得对清洁索引的计算更为精确。修正后的清洁索引算法,避免了Kim and Lee算法的负面影响。
依然以背景技术中的例子为例,块A:ui=0.7,εi=96000,εmax=96350,εmin=92950,因为Δε大于2000,则选择较大l值0.9,于是 
CleaningIndex=(1-0.9)×0.7+0.9×[96000-92950/(96350-92950+1)]=0.87711 
块B:ui=0.4,εi=96300,εmax=96350,εmin=92950 
CleaningIndex=(1-0.9)×0.4+0.9×[96300-92950/(96350-92950+1)]=0.92650 
根据该结果,块A会被先擦除。这就避免了Kim and Lee算法中擦除次数接近极限情况下出现的问题。 
可见,改进的清洁索引算法考虑了特殊情况下对清洁索引的计算,性能较为优秀,具有较大的实用价值。同时还提出了一种动态的调整方法,根据块的磨损均匀程度,动态调整回收效率与磨损平衡之间的倾向,保证闪存的垃圾回收中有较平衡的性能以及自适应能力。 
步骤104、按计算出的正规下齐平度l,同时考虑块的擦除次数和块的利用率来计算每个dirtylist中的块的清洁索引值。此时应应选择较小l值,来计算清洁索引值。 
步骤105、对dirtylist中的每个块按计算出的清洁索引值进行从小到大的排序。 
步骤106、从dirtylist的链表头节点中取出清洁索引最小的块信息,该块将被擦除并被回收,选择该块能够使得闪存的磨损差异尽量平均,尽管它的数据利用率比较高。 
步骤107、将待擦除的块中的有效数据转移到一个空闲块上,并对原有数据作标记,标记为无效数据。 
在本发明实施例中,同样需要维护freeblock数据结构保存空闲块的块信息,保存在freelist链表中。用badblock保存擦除失败的块信息,保存在badlist中。Freeblock和badblock的结构这里不再赘述。 
每次在闪存块内分配数据后,修改blocklist中的free_size。当块内部有脏数据,满足可擦除条件时,利用blocklist中的erase_cnt和free_size可以计算出清洁索引的值,从而可以采用插入排序方法插入到dirtylist链表。 
步骤108、由于原有应被擦除的块已经失效,这时通过对该块进行数据擦除,以回收作为空闲空间块使用。 
步骤109、判断擦除是否成功,如果成功则执行下一步骤;擦除失败则该块被加入到badlist坏块链表,结束本流程。 
步骤110、块的擦除已经成功,这时它的擦除次数加1,用于该块被再次使用后,计算新的清洁索引值。 
步骤111、块的擦除已经成功,该块已经转变为原始的空闲状态,写入Cleanmarker标记。Cleanmarker标记是一种校验保护策略,用于标记块的擦除成功,可以直接写入新的数据。 
步骤112、该块的各种标记已经标记完毕,这时已经可以被再次利用,被插入到freelist,以供分配操作使用。 
本发明实施例通过采用改进的清洁索引算法,很好地解决了KL算法中由于清洁索引计算方法方面的一些瑕疵,而导致的低利用率高擦除次数的块依据清洁索引选择出来,所造成的磨损加剧问题。它定义了一种新的清洁索引计算方法,引入了新的参量,使得当区块擦除次数接近擦除极限时,杜绝了KL算法在该情况下的负面影响。 
同时,还提出了一种动态的调整方法,根据块的磨损均匀程度,动态调整回收效率与磨损平衡之间的倾向,保证闪存的垃圾回收中有较平衡的性能以及自适应能力。 
需要说明的是,在本发明的优选实施例中,可以对l值采用更为精确的动态调整策略,该动态调整策略为: 
通过进一步对εi分段,使得在擦除次数较低的情况下(低于一阈值),使用较大的l,增大清洁索引值以避免被回收,来提高回收效率。高于所述一阈值时,同时根据Δε反映的磨损平衡程度,设置另一阈值来控制,在磨损较为均匀时,即低于另一阈值时,采用较小的l,对清洁索引的计算更偏向空间利用率,而尽量去回收空间;在磨损均匀程度高于另一阈值时,采用较大的l,使得对清洁索引的计算偏向于对擦除次数的考虑。 
图2为本发明实施例中一种存储块擦除装置的结构图,该装置具体包括: 
动态调整模块21,用于根据含有无效数据的存储块的磨损均匀程度,动态调整回收效率与磨损平衡间的倾向; 
清洁索引模块22,用于获取所述存储块的清洁索引值; 
擦除模块23,用于根据所述清洁索引值确定要擦除的存储块并进行数据擦除。 
动态调整模块主要用于根据磨损倾斜度的值动态调整选择较大l值还是较小l值,清洁索引模块采用本发明实施例中的改进清洁索引算法计算各存储块的清洁索引值,确定擦除存储块的顺序。 
其中,所述动态调整模块21具体包括: 
判决单元211,用于获得磨损倾斜度的值,判断该值是否超过一阈值; 
选择单元212,用于根据所述判决单元的判断结果,如果该值超过所述阈值,则采用较大的正规下齐平度;否则采用较小的正规下齐平度。 
所述擦除模块23具体包括: 
排序单元231,用于对含有无效数据存储块的链表中的每个存储块根据其清洁索引值进行从小到大的排序; 
定位单元232,用于在所述链表的头节点中取出清洁索引最小的存 储块信息; 
数据迁移单元233,用于将所述存储块中的有效数据转移到一个空闲块上,并对所述存储块的原有数据作标记,标记为无效数据; 
数据擦除单元234,用于对所述存储块进行数据擦除。 
通过以上装置,能够实现当区块擦除次数接近擦除极限时,杜绝KL算法在该情况下的负面影响。 
同时,该装置还采用了根据块的磨损均匀程度,动态调整回收效率与磨损平衡之间的倾向,保证了闪存的垃圾回收中有较平衡的性能以及自适应能力。 
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 

Claims (9)

1.一种存储块的擦除方法,其特征在于,包括以下步骤:
根据含有无效数据的存储块的磨损均匀程度,动态调整回收效率与磨损平衡间的倾向,获取所述存储块的清洁索引值,根据所述清洁索引值确定要擦除的存储块进行数据擦除;
所述获取清洁索引值具体包括:
采用如下公式获取各个存储块的清洁索引值:
cleaningIndex = ( 1 - l ) u i + l × ϵ i - ϵ min ϵ max - ϵ min + 1 ,
其中,ui表示当前存储块的利用率、εi表示当前存储块擦除次数、εmin和εmax表示所有存储块的最小擦除次数和最大擦除次数,l为正规下齐平度。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
建立含有无效数据的存储块的块信息的数据结构,在该数据结构里面保存有该存储块的清洁索引的值,并采用链表的方式存储,该链表根据清洁索引的值进行排序;
建立不含无效数据的非空闲数据的块信息的数据结构,在该数据结构里面保存有该存储块的空闲空间及当前存储块擦除次数。
3.根据权利要求2所述的方法,其特征在于,所述动态调整回收效率与磨损平衡间的倾向具体包括:
获得磨损倾斜度的值,所述磨损倾斜度的获取方法为:
Δε=εmaxmin
判断该磨损倾斜度的值是否超过一阈值,并调整清洁索引值的计算参数l。
4.根据权利要求3所述的方法,其特征在于,所述根据清洁索引值确定要擦除的存储块进行数据擦除操作具体包括:
对含有无效数据存储块的链表中的每个存储块根据其清洁索引值进行从小到大的排序;
在所述链表的头节点中取出清洁索引最小的存储块信息;
将所述存储块中的有效数据转移到一个空闲块上,并对所述存储块的原有数据作标记,标记为无效数据;
对所述存储块进行数据擦除,以回收作为空闲块使用。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:
判断对所述存储块的擦除操作是否成功,如果是,则将该存储块的当前存储块擦除次数值加1,并写入清洁标记,加入空闲块链表;否则将所述存储块加入坏存储块链表。
6.根据权利要求3所述的方法,其特征在于,
所述计算参数的调整方式为:判断磨损倾斜度是否超过一阈值,如果是,则采用较大的正规下齐平度,使得当前存储块擦除次数值在清洁索引值的计算中占较大比重;否则采用较小的正规下齐平度,使得块的利用率在清洁索引值的计算中占较大比重;
当要进行更精确的控制时,对当前存储块擦除次数进行分段,当所述当前存储块擦除次数值低于另一阈值时,也使用较大的正规下齐平度。
7.一种存储块的擦除装置,其特征在于,包括:
动态调整模块,用于根据含有无效数据的存储块的磨损均匀程度,动态调整回收效率与磨损平衡间的倾向;
清洁索引模块,用于采用如下公式获取各个存储块的清洁索引值:
cleaningIndex = ( 1 - l ) u i + l × ϵ i - ϵ min ϵ max - ϵ min + 1 ,
其中,ui表示当前存储块的利用率、εi表示当前存储块擦除次数、εmin和εmax表示所有存储块的最小擦除次数和最大擦除次数,l为正规下齐平度,来获取所述存储块的清洁索引值;
擦除模块,用于根据所述清洁索引值确定要擦除的存储块并进行数据擦除。
8.根据权利要求7所述的装置,其特征在于,所述动态调整模块具体包括:
判决单元,用于获得磨损倾斜度的值,判断该值是否超过一阈值;
选择单元,用于根据所述判决单元的判断结果,如果该值超过所述阈值,则采用较大的正规下齐平度;否则采用较小的正规下齐平度。
9.根据权利要求7或8所述的装置,其特征在于,所述擦除模块具体包括:
排序单元,用于对含有无效数据存储块的链表中的每个存储块根据其清洁索引值进行从小到大的排序;
定位单元,用于在所述链表的头节点中取出清洁索引最小的存储块信息;
数据迁移单元,用于将所述存储块中的有效数据转移到一个空闲块上,并对所述存储块的原有数据作标记,标记为无效数据;
数据擦除单元,用于对所述存储块进行数据擦除。
CN2008100485914A 2008-07-28 2008-07-28 存储块的擦除方法及装置 Expired - Fee Related CN101339808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100485914A CN101339808B (zh) 2008-07-28 2008-07-28 存储块的擦除方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100485914A CN101339808B (zh) 2008-07-28 2008-07-28 存储块的擦除方法及装置

Publications (2)

Publication Number Publication Date
CN101339808A CN101339808A (zh) 2009-01-07
CN101339808B true CN101339808B (zh) 2011-02-09

Family

ID=40213848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100485914A Expired - Fee Related CN101339808B (zh) 2008-07-28 2008-07-28 存储块的擦除方法及装置

Country Status (1)

Country Link
CN (1) CN101339808B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597456A (zh) * 2019-07-29 2019-12-20 深圳大学 基于三维闪存的读写均衡方法、装置及计算机设备

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987997B2 (ja) * 2010-02-26 2012-08-01 株式会社東芝 メモリシステム
US9104546B2 (en) 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
CN102622310A (zh) * 2011-01-30 2012-08-01 成都市华为赛门铁克科技有限公司 无效数据擦除方法、装置及系统
US9158706B2 (en) 2011-10-31 2015-10-13 International Business Machines Corporation Selective space reclamation of data storage memory employing heat and relocation metrics
US9311501B2 (en) * 2012-03-26 2016-04-12 International Business Machines Corporation Using different secure erase algorithms to erase chunks from a file associated with different security levels
CN102880556B (zh) * 2012-09-12 2015-05-20 浙江大学 一种实现Nand Flash磨损均衡的方法及其系统
CN104298465B (zh) * 2013-07-17 2017-06-20 光宝电子(广州)有限公司 固态储存装置中的区块分组方法
TWI515736B (zh) * 2013-07-25 2016-01-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
CN103365788B (zh) * 2013-08-06 2016-01-13 山东大学 实时闪存转换层使用的自适应局部垃圾回收方法
CN104978148A (zh) * 2014-04-09 2015-10-14 瑞萨电子(中国)有限公司 数据写入方法及装置、数据读取方法及装置
US9606733B2 (en) * 2014-11-10 2017-03-28 Silicon Motion, Inc. Data storage device and operating method
US20160179401A1 (en) * 2014-12-17 2016-06-23 Sk Hynix Memory Solutions Inc. Memory system and the operation method thereof
CN106610901B (zh) * 2015-10-21 2019-08-13 深圳市江波龙电子股份有限公司 存储器的磨损次数平衡方法及装置
KR102437591B1 (ko) * 2015-12-03 2022-08-30 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법 및 메모리 컨트롤러의 동작 방법
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法
TWI608350B (zh) * 2016-03-09 2017-12-11 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方 法
CN105930280B (zh) * 2016-05-27 2019-07-05 诸葛晴凤 一种面向非易失性内存的高效的页面组织和管理方法
US10236909B2 (en) * 2017-03-31 2019-03-19 Sandisk Technologies Llc Bit-order modification for different memory areas of a storage device
KR20190001300A (ko) * 2017-06-27 2019-01-04 에스케이하이닉스 주식회사 컨트롤러 및 메모리 시스템 및 메모리 시스템의 동작 방법
CN107729570B (zh) * 2017-11-20 2021-06-08 北京百度网讯科技有限公司 用于服务器的数据迁移方法和装置
KR20190069806A (ko) * 2017-12-12 2019-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN110473584B (zh) * 2018-05-11 2021-07-23 建兴储存科技(广州)有限公司 固态储存装置中已抹除区块的再验证方法
US11842046B2 (en) 2018-06-30 2023-12-12 Huawei Technologies Co., Ltd. Storage fragment management method and terminal
CN109739775A (zh) * 2018-11-20 2019-05-10 北京航空航天大学 基于多阶段加锁的闪存转换层混合垃圾回收方法
CN109542354B (zh) * 2018-11-28 2021-08-13 广东工业大学 一种基于擦除上限的磨损均衡方法、装置及设备
CN111090595B (zh) * 2019-11-19 2022-12-20 中国航空工业集团公司西安航空计算技术研究所 一种nand flash垃圾回收均衡优化方法
CN112506811B (zh) * 2020-12-17 2023-06-09 湖南翰博薇微电子科技有限公司 基于固态硬盘内数据冷热划分的数据块动态分配方法、装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815629A (zh) * 2005-11-25 2006-08-09 康佳集团股份有限公司 一种闪存装置的脏块回收方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815629A (zh) * 2005-11-25 2006-08-09 康佳集团股份有限公司 一种闪存装置的脏块回收方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597456A (zh) * 2019-07-29 2019-12-20 深圳大学 基于三维闪存的读写均衡方法、装置及计算机设备
CN110597456B (zh) * 2019-07-29 2023-08-25 深圳大学 基于三维闪存的读写均衡方法、装置及计算机设备

Also Published As

Publication number Publication date
CN101339808A (zh) 2009-01-07

Similar Documents

Publication Publication Date Title
CN101339808B (zh) 存储块的擦除方法及装置
US8296539B2 (en) Method and apparatus for performing wear leveling in memory
TWI261168B (en) Non-volatile memory system with erase counts stored in an erase count block
CN102880556B (zh) 一种实现Nand Flash磨损均衡的方法及其系统
US10114744B2 (en) Memory unit assignment and selection for internal memory operations in data storage systems
CN101615427A (zh) 非易失性存储器的存储器管理方法及使用此方法的控制器
CN106598484A (zh) 数据的存储方法、闪存芯片以及存储装置
CN110851079B (zh) 一种自适应的存储设备损耗均衡方法及系统
US9189390B2 (en) Wear leveling for erasable memories
CN105528301A (zh) 一种NAND Flash闪存垃圾回收方法
CN100533408C (zh) 一种闪存的安全读写方法
CN101231617B (zh) 闪存设备的数据处理方法
CN101645309A (zh) 非挥发性存储装置及其控制方法
CN110531927B (zh) 一种基于块分级的垃圾回收方法及非易失性的存储设备
KR20200037882A (ko) 동적 캐시 관리 기능이 있는 메모리 디바이스
CN102135942A (zh) 一种存储设备中实现损耗均衡的方法及存储设备
CN109753443A (zh) 一种数据处理方法、装置及电子设备
CN104346286B (zh) 数据储存装置以及快闪存储器控制方法
US20120173796A1 (en) Method for performing block management, and associated memory device and controller thereof
US8954646B2 (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
CN109471594A (zh) 一种mlc闪存读写方法
CN115114180A (zh) 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统
CN109669889A (zh) 一种轻量型Nor Flash闪存控制方法和装置
CN101477534B (zh) 用于实现快闪存储器均衡磨损的文件管理方法、管理装置
US20200097215A1 (en) Adaptive solid state device management based on data expiration time

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110209

Termination date: 20120728