CN104298465B - 固态储存装置中的区块分组方法 - Google Patents

固态储存装置中的区块分组方法 Download PDF

Info

Publication number
CN104298465B
CN104298465B CN201310300535.6A CN201310300535A CN104298465B CN 104298465 B CN104298465 B CN 104298465B CN 201310300535 A CN201310300535 A CN 201310300535A CN 104298465 B CN104298465 B CN 104298465B
Authority
CN
China
Prior art keywords
block
erasing times
data number
live data
average
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.)
Active
Application number
CN201310300535.6A
Other languages
English (en)
Other versions
CN104298465A (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.)
Jianxing storage technology (Guangzhou) Co., Ltd
Original Assignee
Lite On Electronics Guangzhou Co Ltd
Lite On Technology Corp
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 Lite On Electronics Guangzhou Co Ltd, Lite On Technology Corp filed Critical Lite On Electronics Guangzhou Co Ltd
Priority to CN201310300535.6A priority Critical patent/CN104298465B/zh
Priority to US14/022,361 priority patent/US9304903B2/en
Publication of CN104298465A publication Critical patent/CN104298465A/zh
Application granted granted Critical
Publication of CN104298465B publication Critical patent/CN104298465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile 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/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

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

Abstract

一种固态储存装置中的区块分组方法,包括下列步骤:将多个区块根据所对应的有效资料数目归类至一高有效资料数目群组或者一低有效资料数目群组,并根据所述区块所对应的擦除次数建立一链表;根据该低有效资料数目群组的区块,设定一平均擦除次数;以及于该固态储存装置欲进行一垃圾搜集动作时,于该低有效资料数目群组中选取低于该平均擦除次数的区块进行该垃圾搜集动作;根据该低有效资料数目群组的区块更新该平均擦除次数;以及,根据更新后的该平均擦除次数,决定是否进行一损耗平均动作。

Description

固态储存装置中的区块分组方法
技术领域
本发明是有关于一固态储存装置的控制方法,且特别是有关于一种固态储存装置中的区块分组方法。
背景技术
众所周知,固态储存装置(Solid State Drive,SSD)使用与非门闪存(NAND flashmemory)为主要储存元件,而此类的储存装置为一种非挥发性(non-volatile)的存储器元件。也就是说,当资料写入闪存后,一旦系统电源关闭,资料仍保存在固态储存装置中。
请参照图1,其所绘示为已知固态储存装置的示意图。固态储存装置10中包括一控制单元101、一缓存单元103与一闪存105。控制单元101与闪存105之间利用一内部总线107进行资料的存取,而控制单元101利用一外部总线20与主机(host)12之间进行指令与资料的传递。再者,缓存单元103可为随机存取存储器,用以暂时储存读取资料、写入资料、或者控制单元101所需的暂存参数;再者,外部总线20可为USB总线、IEEE1394总线或SATA总线等等。
一般来说,闪存中105包括许多区块(block),而每个区块中又包括多个页(page)。例如,一个区块中有64页,而每个页的容量为4K bytes。再者,由于闪存105的特性,每次资料写入时是以页为最小单位,而每次擦除(erase)时则是以区块为单位进行资料擦除。
由于闪存105中每个区块的擦除次数有限,因而发展出一种损耗平均(wearleveling)动作。损耗平均动作是为了平均地使用闪存105中的每个区块,避免特定区块使用过度(擦除次数过多)而变成坏区块(bad block)而无法使用,并且可延长闪存的寿命(life span)。
在已知固态储存装置10内皆会记录所有区块的擦除次数(erase count)。而已知固态储存装置10在进行损耗平均动作时,主要是根据每个区块的擦除次数(erase count)来判断区块中的资料是属于常常更新的热资料(hot data)或者很少更新的冷资料(colddata)。基本上,较常被擦除的区块,其擦除次数较高,所以区块内的资料一般被视为热资料;反之,不常被擦除的区块,其擦除次数较低,表示区块内的资料很少更动,所以其区块内的资料一般被视为冷资料。
亦即,损耗平均动作是利用固态储存装置10中的控制单元101侦测闪存105中每个区块的擦除次数。接着,将储存于擦除次数较低的区块的冷资料转存于擦除次数较高的区块中。之后,擦除次数较低的区块成为空白区块(free block)并释出,并且再次让控制单元101用来储存资料。换言之,损耗平均动作将可将擦除次数较低的区块释出,通过重复使用擦除次数较低的区块,使得闪存105中每个区块的擦除次数彼此接近,进而控制每个区块平均地被使用。
另外,由于闪存105经过长时间的存取之后,几乎每个区块中都会有包含一些有效资料以及一些无效资料。当区块中还存在有效资料时,该区块即无法被擦除,如此会造成太多的无效资料占据闪存105的空间,使得闪存105的可写入空间变少。因此,一种垃圾搜集动作(garbage collection)即被提出。
请参照图2,其所绘示为已知垃圾搜集动作示意图。假设区块c(Block_c)中的资料D2、D4、D6为无效资料(斜线区域),资料D1、D3、D5为有效资料,而区块d(Block_d)为空白区块。当控制单元101针对区块c进行垃圾搜集动作时,区块c(Block_c)中的有效资料D1、D3、D5会先被搬移至区块d中,使得区块c中的所有资料皆被设定为无效资料。接着,将擦除区块c中的无效资料后,使得区块c成为一个新的空白区块。换句话说,于垃圾搜集动作后,区块c将成为一个新的空白区块,而区块d中更有其他空白区域B(free space)可以用来储存资料。
一般来说,固态储存装置10中的控制单元101会根据每个区块所对应的有效资料数目(valid data count,简称VAC)来决定该区块是否可以进行垃圾搜集动作。而已知的控制单元101在进行垃圾搜集动作时,控制单元101需要逐一的搜寻每个区块中的有效资料数目,并选择有效资料数目最少的区块来进行垃圾搜集动作。
在已知的固态储存装置中,损耗平均动作及垃圾搜集动作为独立的动作。亦即,损耗平均动作为考虑区块的擦除次数,并进而将擦除次数较低的区块内的储存资料搬移至擦除次数较高的区块内,使区块间的擦除次数平均;而垃圾搜集动作为考虑区块的有效资料数目,并进而将有效资料数目较少的区块内的储存资料搬移空白区块内,再擦除原区块的资料使其成为空白区块,以释放可储存的区块空间。
然而,损耗平均动作及垃圾搜集动作皆为非常消耗固态储存装置效能的动作,因此,如何使用最小的效能来达到损耗平均动作及垃圾搜集动作的效果,为本领域技术人员所欲达到的目标。
发明内容
本发明有关于一种固态储存装置中的区块分组方法,包括下列步骤:(a)将多个区块根据所对应的有效资料数目归类至一高有效资料数目群组或者一低有效资料数目群组,并根据所述区块所对应的擦除次数建立一连链表;(b)根据该低有效资料数目群组的区块,设定一平均擦除次数;(c)于确认该主机更改或者新增资料于该固态储存装置中的该闪存时,根据更改或者新增资料来更改对应区块的该有效资料数目,并据以更新该链表;(d)于该固态储存装置未进行一垃圾搜集动作时,回到步骤(c);以及(e)于该固态储存装置欲进行该垃圾搜集动作时,于该低有效资料数目群组中选取低于该平均擦除次数的区块进行该垃圾搜集动作;根据该低有效资料数目群组的内容更新该平均擦除次数;以及,根据更新后的该平均擦除次数,决定是否进行一损耗平均动作。
本发明有关于一种固态储存装置中的区块分组方法,包括下列步骤:将多个区块根据所对应的有效资料数目归类至一高有效资料数目群组或者一低有效资料数目群组;根据对应该低有效资料数目群组中的部分区块的多个擦除次数,设定一平均擦除次数;选取该高有效资料数目群组中的一第一区块;决定该平均擦除次数与该第一区块所对应的一第一擦除次数之间的一差值;以及当该差值大于一临限值时,对该第一区块进行该损耗平均动作。
附图说明
为了对本发明之上述及其他方面有更佳的了解,下文特举较佳实施例,并配合所附附图,作详细说明如下,其中:
图1所绘示为已知固态储存装置的示意图。
图2所绘示为已知垃圾搜集动作示意图。
图3A至图3D所绘示为本发明将所有的区块分成二个群组的示意图。
图4所绘示为本发明固态储存装置中的区块分组方法流程图。
图5A至图5D所绘示为本发明将所有的区块分成多个部分的示意图。
具体实施方式
本发明的目在在于根据每个区块的有效资料数目来将所有的区块进行分组。并且,在进行垃圾搜集动作时,根据区块的擦除次数来决定进行垃圾搜集动作的区块,使在进行垃圾搜集动作的同时,亦可达到平均各区块的擦除次数的效果。再者,本发明可运用于图1的固态储存装置10。而以下的范例皆以图1的固态储存装来进行说明,但并不限定于此。
根据本发明的实施例,当固态储存装置10接收电源并开始进行初始化动作时,控制单元101先根据所有区块的有效资料数目,于缓存单元103中建立一个链表(Link list)。该链表根据所有区块中的有效资料数目,将所有的区块分成多个群组。
而在初始化动作完成后,主机12可以正常存取固态储存装置中的资料时,控制单元101会将主机12所提供的更新资料储存于空白页中,并且被更新的旧资料会被视为无效资料,而储存旧资料的相关区块的有效资料数目也会一并被更新。再者,当区块的有效资料数目变更时,控制单元101也会一并更新缓存单元103中的链表。
请参照图3A至图3D,其所绘示为本发明将所有的区块分成二个群组的示意图。固态储存装置10在初始化动作时,根据每个区块所对应的有效资料数目(valid data count,简称VAC),将所有的区块归类至一低VAC群组与一高VAC群组。其中,高VAC群组由有效资料数目为最大有效资料数目的80%以上的所有区块所组成,而其他的区块则组成低VAC群组。当然,上述的80%仅是本发明的一个实施例而已,在此领域的技术人员可以根据实际的需求来更改。
如图3A所示,当所有区块归类至二个群组后,在高VAC群组中,共有A1-A9个区块;在低VAC群组中,共有B1-B14个区块。其中,每个群组中的区块是根据擦除次数的大小关系形成一个链接(link)。举例来说,每个链接的第一个区块的擦除次数最大,而最后一个区块的擦除次数最小。因此,由图3A可知,在高VAC群组中,A9区块的擦除次数最小,在低VAC群组中,B14区块的擦除次数最小。
根据本发明的实施例,在低VAC群组中设定一个平均擦除次数(ECavg),此平均擦除次数(ECavg)是由低VCA群组中的链接来决定。举例来说,平均擦除次数(ECavg)为该链接中最后M个区块的擦除次数总合的平均值。当M=5时,平均擦除次数(ECavg)即为区块B10-B14的擦除次数总合的平均值。由图3A可知,共有区块B13-B14的擦除次数低于平均擦除次数(ECavg)。通过采用链接中最后M个区块的擦除次数总合的平均值来作为平均擦除次数(ECavg),可避免采用所有区块的擦除次数总合的平均值来作为平均擦除次数(ECavg)会产生的标准偏差过大的问题。
当固态储装置10中的控制单元101将链表建立完成并储存于缓存单元103后,固态储装置即可让主机12来正常存取闪存105中的资料。
而随着主机12传送写入指令的增加,每个区块的有效资料数目也会随之改变。举例来说,当写入资料为新的资料时,被写入的区块的有效资料数目会增加;而当写入资料为更新的资料时,除了被写入的区块的有效资料数目会增加之外,由于被更新的旧资料会被视为无效资料,因此储存旧资料的区块的有效资料数目会减少。当然,主机12也可以传送删除指令至固态储存装置10,使得储存有相关资料的特定区块的有效资料数目会减少。
再者,控制单元101即根据主机12传送的指令以及闪存105的资料修改情形来更新缓存单元103中的链表。当某一区块的有效资料数目被更新时,控制单元101会根据更新的有效资料数目及其擦除次数来判断是否需要将该区块归类于其他群组,或是将群组内的区块进行重新排序。经过多次的存取后,当固态储存装置10欲进行垃圾搜集动作时,即根据当时缓存单元103中链表的内容来进行垃圾搜集动作。
假设经过多次的存取后,缓存单元103中的链表的内容如图3B所示。而当固态储存装置10欲进行垃圾搜集动作时,控制单元101直接选取低VAC群组中,擦除次数较低的区块来进行垃圾搜集动作。举例来说,将擦除次数最低的三个区块A7、B14、A8进行垃圾搜集动作。当垃圾搜集动作完成后,最低擦除次数的三个区块A7、B14、A8将进行擦除动作而成为空白区块,并且释放出来让控制单元101再次用来储存资料。
很明显地,利用本发明的区块分组方法,可以让固态储存装置10进行垃圾搜集动作后,释放出擦除次数低的区块,并使用擦除次数低的区块来进行擦除及再次写入的动作。如此一来,固态储存装置10在进行垃圾搜集动作时,也同时达到损耗平均动作中,释放低擦除次数的区块来使用,以使区块的擦除次数平均的目的。
如图3C所示,当最低擦除次数的三个区块A7、B14、A8被释放出去之后。在低VAC群组中,会再次更新平均擦除次数(ECavg’)。例如,更新的平均擦除次数(ECavg’)为该链接中最后M个区块的擦除次数总合的平均值。当M=5时,更新的平均擦除次数(ECavg’)即为区块A6、B10-B13的擦除次数总合的平均值。
很明显地,更新的平均擦除次数(ECavg’)会较原平均擦除次数(ECavg)还高。也就是说,固态储存装置10每进行一次垃圾搜集动作之后,会让平均擦除次数逐次升高。而根据本发明的实施例,此区块分组方法更可以用来决定是否进行损耗平均动作,并搜寻对应的区块来进行损耗平均动作。
举例来说,假设高VAC群组中区块A9中的资料为冷资料,其表示区块A9中的资料很少被更新,且区块A9很少被重复擦除及写入。换句话说,区块A9具有较高的有效资料数目,及较低的擦除次数。因此,在经过多次的存取后,区块A9会一直留在高VAC群组且位于链接的最后一个区块,如图3A至图3C所示。再者,由于低VAC群组中的平均擦除次数会逐次升高,因此该平均擦除次数可以用来跟高VAC群组中区块A9的擦除次数(EC_a9)来比较。假设更新的平均擦除次数(ECavg’)与区块A9的擦除次数(EC_a9)的差值超过一临限值时,控制单元101可针对区块A9进行损耗平均动作。亦即,将区块A9的资料写入一高擦除次数的空白区块A10。之后,将区块A9擦除并释放出区块A9。
如图3D所示,将区块A9的资料转存于区块A10后,由于区块A10具有高擦除次数,所以区块A10会在高VAC群组的链接前段。再者,区块A9将进行擦除动作而成为空白区块,并且释放出来让控制单元101再次用来储存资料。
再者,在本实施例中,控制单元101可根据区块的一历史参数(History)来判断区块内的资料是否为冷资料。历史参数(History)为一时间记录,其记录各区块间的资料写入的对应时间点。一般而言,对于储存冷资料的区块的资料写入的时间点会早于储存热资料的区块的资料写入的时间点。通过历史参数(History)来判断区块内的资料是否为冷资料可避免将储存热资料的区块进行损耗平均动作。以上述例子作说明,当具有低擦除次数的区块A9被释放并再次被写入新资料时,区块A9可能会被链接于高VAC群组中的最后一个区块。此时,当控制单元101判断更新的平均擦除次数(ECavg’)与区块A9的擦除次数(EC_a9)的差值超过一临限值时,控制单元101可根据历史参数(History)来判断区块内的资料为热资料,而不对区块A9进行损耗平均动作。
由以上的说明可知,利用本发明的区块分组方法,于垃圾搜集动作后,可释放出擦除次数低的区块,使低VAC群组中的区块的擦除次数能够平均。并且,在高VAC群组与低VAC群组之间,可根据低VAC群组中更新的平均擦除次数(ECavg’)与高VAC群组中区块的擦除次数的差值,来决定是否进行损耗平均动作,并可决定进行损耗平均动作的区块,以使高VAC群组与低VAC群组之间的区块的擦除次数能够平均。
请参照图4,其所绘示为本发明固态储存装置中的区块分组方法流程图。当固态储存装置10进行初始化动作时,搜寻闪存105中的所有区块,并将所有区块根据有效资料数目归类至一高VAC群组或者一低VAC群组,并根据区块对应的擦除次数建立一链表(步骤S401)。接着,根据该低VAC群组的区块设定一平均擦除次数(步骤S403)。
当主机12可以正常存取固态储存装置10中的资料时,判断主机是否有更改或者新增资料(步骤S405)。当主机未更改或者新增资料时,回到步骤S405;反之,当主机更改或者新增资料时,根据修改或者新增资料更改对应区块的有效资料数目,并据以更新链表(步骤S407)。
接着,当固态储存装置未进行垃圾搜集动作时,回到步骤S405。当固态储存装置进行垃圾搜集动作时,于该低VAC群组中选取低于平均擦除次数的区块进行垃圾搜集动作(步骤S411)。根据该低VAC群组的区块更新该平均擦除次数(步骤S413)。接着,固态储存装置可根据更新后的该平均擦除次数决定是否进行一损耗平均动作(步骤S414)。若否,则回到步骤S405。若是,则选取该高VAC群组中的区块来进行该损耗平均动作(步骤S415)。之后,回到步骤S405。
当然,本发明的区块分组方法也不限定于将区块归类至二个群组而已。将区块归类至多个部分,并利用相同的方式,来进行垃圾搜集动作与损耗平均动作。
请参照图5A与图5D,其所绘示为本发明将所有的区块分成多个部分的示意图。基本上,第4图的分组方法流程图也适用于此,以下说明之。
固态储存装置10在初始化动作时,将所有的区块归类至十个部分。例如,区块的有效资料数目在1-100被归类于第一部分(1),区块的有效资料数目在101-200被归类于第二部分(2),区块的有效资料数目在201-300被归类于第三部分(3),并依此类推。而区块的有效资料数目在901以上则被归类于第十部分(10)。
如图5A所示,当所有区块归类至十个部分后,在第一部分(1)中,共有A1-A4区块;在第二部分(2)中,共有B1-B2区块;在第三部分(3)中,共有C1-C5区块;在第四部分(4)中,共有D1-D3区块;在第五部分(5)中,共有E1-E2区块;在第六部分(6)中,共有F1-F4区块;在第七部分(7)中,共有G1-G2区块;在第八部分(8)中,共有H1-H3区块;在第九部分(9)中,共有I1-I4区块;在第十部分(10)中,共有J1-J5区块。其中,每个部分中的区块根据擦除次数的大小关系形成一个链接(link)。举例来说,每个链接的第一个区块的擦除次数最大,而最后一个区块的擦除次数最小。以第十部分(10)为例,J1区块的擦除次数最大,J5区块的擦除次数最小。
接着,将所述部分再分成二个群组。如图5A所示,第一部分(1)至第八部分(8)被归类为低VAC群组,第九部分(9)与第十部分(10)被归类为高VAC群组。而根据本发明的实施例,在低VAC群组中设定一个平均擦除次数(ECavg),此平均擦除次数(ECavg)由低VCA群组中的部分区块来决定。举例来说,平均擦除次数(ECavg)定义为低VCA群组中M个较低擦除次数的总合的平均值。当M=7时,平均擦除次数(ECavg)为,例如区块A4、C3-C5、D3、F3-F4的擦除次数总合的平均值。由图5A可知,共有区块A4、C4、C5、F4的擦除次数低于平均擦除次数(ECavg)。
当固态储装置10中的控制单元101将链表建立完成并储存于缓存单元103后,固态储装置即可让主机12来正常存取闪存105中的资料并更新链表。
假设经过多次的存取后,缓存单元103中的链表的内容如图5B所示。而当固态储存装置10欲进行垃圾搜集动作时,控制单元101可根据链表直接选取低VAC群组中,擦除次数较低的区块来进行垃圾搜集动作。举例来说,控制单元101可直接选取低于平均擦除次数(ECavg)的六个区块J5、A4、C4、C5、I3、F4来进行垃圾搜集动作。当垃圾搜集动作完成后,擦除次数较低的六个区块J5、A4、C4、C5、I3、F4将进行擦除动作而成为空白区块,并且释放出来让控制单元101再次用来储存资料。
很明显地,利用本发明的区块分组方法,可以让固态储存装置10进行垃圾搜集动作后,释放出擦除次数低的区块,并使用擦除次数低的区块来进行擦除及再次写入的动作。如此一来,固态储存装置10在进行垃圾搜集动作时,也同时达到损耗平均动作中,释放低擦除次数的区块来使用,以使区块的擦除次数平均的目的。
如图5C所示,当擦除次数较低的六个区块J5、A4、C4、C5、I3、F4被释放出去之后。在低VAC群组中,会再次更新平均擦除次数(ECavg’)。例如,更新的平均擦除次数(ECavg’)为该链接中最后M个区块的擦除次数总合的平均值。当M=7时,更新的平均擦除次数(ECavg’)即为区块A3、C3、D3、B2、E2、D2、H2的擦除次数总合的平均值。
很明显地,更新的平均擦除次数(ECavg’)会较原平均擦除次数(ECavg)还高。也就是说,固态储存装置10每进行一次垃圾搜集动作之后,会让平均擦除次数逐次升高。而根据本发明的实施例,此区块分组方法更可以用来决定是否进行损耗平均动作,并搜寻对应的区块来进行损耗平均动作。
举例来说,假设高VAC群组中区块J4与I4中的资料为冷资料,其表示区块J4与I4中的资料很少被更新,且区块J4与I4很少被重复擦除及写入。换句话说,区块J4与I4具有较高的有效资料数目,及较低的擦除次数。因此,在经过多次的存取后,区块J4与I4会一直留在高VAC群组且位于链接的最后一个区块,如第5A至5C图所示。再者,由于低VAC群组中的平均擦除次数会逐次升高,因此该平均擦除次数可以用来跟高VAC群组中区块J4与I4的擦除次数(EC_j4)与(EC_i4)来比较。假设更新的平均擦除次数(ECavg’)与区块J4与I4的擦除次数(EC_j4)与(EC_i4)的差值皆超过一临限值时,控制单元101可针对区块J4与I4进行损耗平均动作。亦即,将区块J4的资料写入一高擦除次数的空白区块J6,将区块I4的资料写入一高擦除次数的空白区块I5。之后,将区块J4与I4擦除并释放出区块J4与I4。
如图5D所示,将区块J4的资料转存于区块J6后,由于区块J6具有高擦除次数,所以会在区块J6第十部分(10)中的链接前段,由于区块I5具有高擦除次数,所以区块I5会在第九部分(9)中的链接前段。再者,区块区块J4与I4将进行擦除动作而成为空白区块,并且释放出来让控制单元101再次用来储存资料。
由以上的说明可知,利用本发明的区块分组方法,于垃圾搜集动作后,可释放出擦除次数低的区块,使低VAC群组中的区块的擦除次数能够平均。并且,在高VAC群组与低VAC群组之间,可根据低VAC群组中更新的平均擦除次数(ECavg’)与高VAC群组中区块的擦除次数的差值,来决定是否进行损耗平均动作,并可决定欲进行损耗平均动作的区块,以使高VAC群组与低VAC群组之间的区块的擦除次数能够平均。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的权利要求范围所界定的为准。

Claims (8)

1.一种固态储存装置中的区块分组方法,包括下列步骤:
(a)将多个区块根据所对应的有效资料数目归类至一高有效资料数目群组或者一低有效资料数目群组,并根据所述区块所对应的擦除次数建立一链表;
(b)根据该低有效资料数目群组的区块,设定一平均擦除次数;
(c)于确认一主机更改或者新增资料于该固态储存装置中的一闪存时,根据更改或者新增资料来更改对应区块的该有效资料数目,并据以更新该链表;
(d)于该固态储存装置未进行一垃圾搜集动作时,回到步骤(c);以及
(e)于该固态储存装置欲进行该垃圾搜集动作时,于该低有效资料数目群组中选取低于该平均擦除次数的区块进行该垃圾搜集动作;根据该低有效资料数目群组的区块更新该平均擦除次数;以及,根据更新后的该平均擦除次数,决定是否进行一损耗平均动作。
2.如权利要求1所述的固态储存装置中的区块分组方法,其中建立该链表包括下列步骤:
将该低有效资料数目群组中所有区块所对应的该擦除次数顺序建立一第一链接;以及
将该高有效资料数目群组中所有区块所对应的该擦除次数顺序建立一第二链接。
3.如权利要求1所述的固态储存装置中的区块分组方法,其中该步骤(b)中还包括:选取该低有效资料数目群组中擦除次数较低的M个区块,并将对应M个擦除次数加总之后的平均值设定为该平均擦除次数。
4.如权利要求1所述的固态储存装置中的区块分组方法,该步骤(e)还包括下列步骤:
选取该高有效资料数目群组中的一第一区块;
决定该平均擦除次数与该第一区块所对应的一第一擦除次数之间的一差值;以及
当该差值大于一临限值时,对该第一区块进行该损耗平均动作。
5.如权利要求1所述的固态储存装置中的区块分组方法,该步骤(a)还包括下列步骤:
将多个区块根据所对应的有效资料数目归类至多个部分;
将所述部分区分至该高有效资料数目群组与该低有效资料数目群组;以及
根据所述区块所对应的擦除次数建立一链表。
6.如权利要求5所述的固态储存装置中的区块分组方法,其中建立该链表包括下列步骤:将每一该部分中所有区块所对应的该擦除次数顺序建立一链接。
7.一种固态储存装置中的区块分组方法,包括下列步骤:
将多个区块根据所对应的有效资料数目归类至一高有效资料数目群组或者一低有效资料数目群组;
根据对应该低有效资料数目群组中的部分区块的多个擦除次数,设定一平均擦除次数;
选取该高有效资料数目群组中的一第一区块;
决定该平均擦除次数与该第一区块所对应的一第一擦除次数之间的一差值;
当该差值大于一临限值时,对该第一区块进行一损耗平均动作;以及
于该固态储存装置欲进行一垃圾搜集动作时,于该低有效资料数目群组中选取低于该平均擦除次数的区块进行该垃圾搜集动作,并更新该平均擦除次数。
8.如权利要求7所述的固态储存装置中的区块分组方法,其中根据对应该低有效资料数目群组中的部分区块的多个擦除次数,设定该平均擦除次数的步骤还包括:
选取该低有效资料数目群组中擦除次数较低的M个区块,并将对应M个擦除次数加总之后的平均值设定为该平均擦除次数。
CN201310300535.6A 2013-07-17 2013-07-17 固态储存装置中的区块分组方法 Active CN104298465B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310300535.6A CN104298465B (zh) 2013-07-17 2013-07-17 固态储存装置中的区块分组方法
US14/022,361 US9304903B2 (en) 2013-07-17 2013-09-10 Block grouping method for solid state drive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310300535.6A CN104298465B (zh) 2013-07-17 2013-07-17 固态储存装置中的区块分组方法

Publications (2)

Publication Number Publication Date
CN104298465A CN104298465A (zh) 2015-01-21
CN104298465B true CN104298465B (zh) 2017-06-20

Family

ID=52318212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310300535.6A Active CN104298465B (zh) 2013-07-17 2013-07-17 固态储存装置中的区块分组方法

Country Status (2)

Country Link
US (1) US9304903B2 (zh)
CN (1) CN104298465B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740425B2 (en) * 2014-12-16 2017-08-22 Sandisk Technologies Llc Tag-based wear leveling for a data storage device
US9798475B2 (en) * 2015-03-11 2017-10-24 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
TWI631565B (zh) * 2015-12-09 2018-08-01 慧榮科技股份有限公司 快閃記憶體之廢料收集方法以及使用該方法的裝置
TWI573033B (zh) * 2016-01-14 2017-03-01 群聯電子股份有限公司 資料搜尋方法、記憶體儲存裝置及記憶體控制電路單元
TWI604455B (zh) * 2016-05-13 2017-11-01 Silicon Motion Inc 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
TWI569159B (zh) * 2016-05-31 2017-02-01 威聯通科技股份有限公司 避免多餘的資料複製的資料同步方法及裝置
CN106775474B (zh) * 2016-12-16 2020-01-10 苏州浪潮智能科技有限公司 一种Nand Flash磨损均衡方法、装置及存储器
US10768829B2 (en) 2017-02-15 2020-09-08 Microsoft Technology Licensing, Llc Opportunistic use of streams for storing data on a solid state device
TWI642059B (zh) * 2017-06-02 2018-11-21 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN108563397B (zh) * 2018-01-04 2021-08-24 威盛电子股份有限公司 存储装置以及数据保存方法
CN108089994B (zh) * 2018-01-04 2021-06-01 威盛电子股份有限公司 存储装置以及数据保存方法
US10754549B2 (en) 2018-02-15 2020-08-25 Microsoft Technology Licensing, Llc Append only streams for storing data on a solid state device
US10929285B2 (en) * 2018-02-27 2021-02-23 Western Digital Technologies, Inc. Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer
KR20200022179A (ko) * 2018-08-22 2020-03-03 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
KR20200033461A (ko) * 2018-09-20 2020-03-30 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200043054A (ko) * 2018-10-17 2020-04-27 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN111813326B (zh) * 2019-04-12 2024-04-19 建兴储存科技(广州)有限公司 具多数据流写入的固态存储装置及其相关写入方法
US11507402B2 (en) 2019-04-15 2022-11-22 Microsoft Technology Licensing, Llc Virtualized append-only storage device
US20200409601A1 (en) * 2019-06-28 2020-12-31 Western Digital Technologies, Inc. Hold of Write Commands in Zoned Namespaces
US11467980B2 (en) * 2020-01-10 2022-10-11 Micron Technology, Inc. Performing a media management operation based on a sequence identifier for a block
KR20220030090A (ko) * 2020-09-02 2022-03-10 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339808A (zh) * 2008-07-28 2009-01-07 华中科技大学 存储块的擦除方法及装置
CN101369252A (zh) * 2008-09-16 2009-02-18 浙江大学 基于nand闪存文件系统中静态数据损耗均衡的方法
TW201005741A (en) * 2008-07-28 2010-02-01 Hynix Semiconductor Inc Solid state storage system that evenly allocates data writing/erasing operations among blocks and method of controlling same
CN202472635U (zh) * 2012-03-23 2012-10-03 山东华芯半导体有限公司 闪存磨损均衡装置
CN102789423A (zh) * 2012-07-11 2012-11-21 山东华芯半导体有限公司 四池闪存磨损均衡方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
KR20120028581A (ko) * 2010-09-15 2012-03-23 삼성전자주식회사 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 장치들
KR20140096875A (ko) * 2013-01-29 2014-08-06 삼성전자주식회사 메모리 시스템의 및 그것의 블록 관리 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339808A (zh) * 2008-07-28 2009-01-07 华中科技大学 存储块的擦除方法及装置
TW201005741A (en) * 2008-07-28 2010-02-01 Hynix Semiconductor Inc Solid state storage system that evenly allocates data writing/erasing operations among blocks and method of controlling same
CN101369252A (zh) * 2008-09-16 2009-02-18 浙江大学 基于nand闪存文件系统中静态数据损耗均衡的方法
CN202472635U (zh) * 2012-03-23 2012-10-03 山东华芯半导体有限公司 闪存磨损均衡装置
CN102789423A (zh) * 2012-07-11 2012-11-21 山东华芯半导体有限公司 四池闪存磨损均衡方法

Also Published As

Publication number Publication date
CN104298465A (zh) 2015-01-21
US9304903B2 (en) 2016-04-05
US20150026389A1 (en) 2015-01-22

Similar Documents

Publication Publication Date Title
CN104298465B (zh) 固态储存装置中的区块分组方法
US7882300B2 (en) Apparatus and method for managing nonvolatile memory
EP1157328B1 (en) Memory system
US8122184B2 (en) Methods for managing blocks in flash memories
CN100419714C (zh) 闪存存取方法、闪存文件系统的块替换方法及其管理装置
CN101908368A (zh) 电子存储装置及其操作方法
JP6139807B2 (ja) ストレージ装置、ストレージ装置の制御方法、及びプログラムを記憶するコンピュータ読み取り可能な不揮発性記憶媒体
US20070208904A1 (en) Wear leveling method and apparatus for nonvolatile memory
JP4666080B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US20120290769A1 (en) Flash memory device, memory control device, memory control method, and storage system
CN101382918A (zh) 一种基于数据交换区的NAND Flash闪存优化管理方法
CN101673245A (zh) 包括存储器管理装置的信息处理装置和存储器管理方法
CN104298606A (zh) 固态存储装置中垃圾搜集动作的控制方法
CN101458956A (zh) 存取一快闪存储器的装置、方法及平均地使用该快闪存储器的区块的方法
CN106802867A (zh) 固态储存装置及其数据编程方法
CN104598386B (zh) 通过追踪和利用二级映射索引重复利用固态驱动器块
US20120324185A1 (en) Storage system and control method for the same
CN110489052A (zh) 数据储存装置、系统信息编程方法及系统信息重建方法
CN103136111B (zh) 数据写入方法、存储器控制器与存储器储存装置
US8261013B2 (en) Method for even utilization of a plurality of flash memory chips
US8954646B2 (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
CN101740123B (zh) 存储器的数据保护方法
CN105988950A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106951193B (zh) 改善Nand Flash存储性能的方法及其系统
US10684785B2 (en) Storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170522

Address after: No. 25 West Road, Science City, Guangzhou high tech Industrial Development Zone, Guangdong, China

Applicant after: Lite-On Electronic (Guangzhou) Co., Ltd.

Applicant after: Lite-On Technology Corporation

Address before: Ruiguang road Taiwan Taipei City Neihu district China No. 392 22 floor

Applicant before: Lite-On Technology Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191231

Address after: Room 302, factory a, No.8 Guangbao Road, Science City, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: Jianxing storage technology (Guangzhou) Co., Ltd

Address before: No. 25 West Road, Science City, Guangzhou high tech Industrial Development Zone, Guangdong, China

Co-patentee before: Lite-On Technology Corporation

Patentee before: Guangbao Electronics (Guangzhou) Co., Ltd.

TR01 Transfer of patent right