固态储存装置中用于垃圾搜集动作的区块分组方法制造方法及图纸

技术编号:10945532 阅读:84 留言:0更新日期:2015-01-22 22:50
一种固态储存装置中用于垃圾搜集动作的区块分组方法,包括下列步骤:(a)建立一连结表,其中该连结表根据每一区块所对应的一有效资料数目将所述区块区分为多个群组;(b)判断一主机是否更改或者新增资料于该固态储存装置中的一闪存;(c)于确认该主机更改或者新增资料于该固态储存装置中的该闪存时,根据更改或者新增资料来更改对应区块的该有效资料数目,并据以更新该连结表;以及(d)于该固态储存装置未进行一垃圾搜集动作时,回到步骤(b);以及,于该固态储存装置进行该垃圾搜集动作时,根据该连结表的内容来选择区块,并进行该垃圾搜集动作。

【技术实现步骤摘要】

本专利技术是有关于一固态储存装置,且特别是有关于一种固态储存装置中用于垃圾搜集动作的区块分组方法
技术介绍
众所周知,固态储存装置(Solid State Drive,SSD)使用与非门闪存(NAND flash memory)为主要储存元件,而此类的储存装置为一种非挥发性(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中每个页内的资料是无法任意更新的,因此当闪存105接收到更新资料时,必须将更新资料储存在新页(空白页)内,而原来的旧页中的原始资料会被设定为无效资料。当整个区块中的每一页内都是无效资料时,即可将该区块擦除进而成为一个空白区块。然而,由于闪存105经过长时间的存取之后,几乎每个区块中都会包含一些有效资料以及一些无效资料。当区块中还存在有效资料时,该区块将无法进行擦除,如此,将会造成太多的无效资料占据闪存105的空间,使得闪存105的可写入空间变少。因此,一种垃圾搜集动作(garbage collection)即被提出。而以下的范例是以闪存105中有八个区块(Block_1-Block_8),每个区块中有四个页(Page_1-Page_4)为例来进行说明,但并不限定于此。请参照图2A至图2F,其所绘示为闪存进行资料更新、搬移及擦除的示意图。基本上,固态储存装置的架构与图1相同。如图2A所示,假设第一区块(Block_1)与第二区块(Block_2)中所有的页内储存有Data1-Data8的资料。如图2B所示,当主机12欲将Data1、Data2、Data4、Data6、Data7的资料更新为Data1’、Data2’、Data4’、Data6’、Data7’时,控制单元101会在闪存中寻找空白页来储存更新的资料。例如,将Data1’写在第四区块(Block_4)第二页(page_2);Data2’写在第五区块(Block_5)第三页(page_3);Data4’写在第七区块(Block_7)第二页(page_2);Data6’写在第六区块(Block_6)第二页(page_2);Data7’写在第六区块(Block_6)第三页(page_3)。之后,原储存Data1、Data2、Data4、Data6、Data7的资料页将被视为无效资料(以斜线来表示)。如图2C所示,当主机12欲将Data1’、Data2’、Data4’、Data6’、Data7’的资料再更新为Data1”、Data2”、Data4”、Data6”、Data7”时,控制单元101同样地会在闪存中寻找空白页来储存更新的资料。例如,将Data1”写在第五区块(Block_5)第二页(page_2);Data2”写在第四区块(Block_4)第一页(page_1);Data4”写在第六区块(Block_6)第一页(page_1);Data6”写在第三区块(Block_3)第二页(page_2);Data7”写在第六区块(Block_6)第四页(page_4)。之后,原储存Data1’、Data2’、Data4’、Data6’、Data7’的资料页将被视为无效资料(以斜线来表示)。如图2D所示,当主机12欲将Data7”的资料再更新为Data7”’时,控制单元101同样地又会在闪存中寻找空白页来储存更新的资料。例如,将Data7”’写在第四区块(Block_4)第四页(page_4)。之后,原储存Data7”的资料页将被视为无效资料(以斜线来表示)。由以上的说明可知,当主机12经过多次的存取之后,如图2D中的斜线部分所示,在闪存105中将会出现许多的无效资料。由于闪存的擦除最小单位为区块,而图2D的闪存中虽然有很多无效资料,但是每个区块中都还是有部份的有效资料,因此控制单元101无法擦除任何一个区块。而太多的无效资料将占据闪存的空间,使得闪存可写入的空间变少。因此,固态储存装置10中的控制单元101需要在适当的时间进行垃圾搜集(garbage collection)动作,并解决写入空间变少的问题。所谓的垃圾搜集动作即是控制单元101将区块中的有效资料搜集起来另外存放在新的区块中,使原区块中的每个页全部变成无效资料,因此可以进行区块擦除(block erase)动作,并且产生空白区块,使闪存释放更多可写入的空间。在经过垃圾搜集动作后,新产生的空白区块即可再次成为可使用的空间。例如,在图2D所示的情况下控制单元101开始执行垃圾搜集动作。此时控制单元101可将第一区块(Block_1)第三页(Page_3)中的Data3,第二区块(Block_2)第一页(Page_1)中的Data5,第二区块(Block_2)第四页(Page_4)中的Data8,第六区块(Block_6)第一页(Page_1)中的Data4”写入一个空白的第八区块(Block_8)。如图2E所示,当Data3、Data5、Data8、Data4”写入第八区块(Block_8)后,闪存中的第一区块(Block_1)、第二区块(Block_2)、第六区块(Block_6)中的每个页都是无效资料。因此,控制单元101可以对第一区块(Block_1)、第二区块(Block_2)、第六区块(Block_6)进行区块擦除动作。之后,如图2F所示,第一区块(Block_1)、第二区块(Block_2)、第六区块(Block_6)变成空白的区块,并且使得闪存释放更多可写入的空间。由以上的说明可知,垃圾搜集动作确实可以让闪存105增加更多可写入的空间。然而,在大容量的闪存105本文档来自技高网...

【技术保护点】
一种固态储存装置中用于垃圾搜集动作的区块分组方法,包括下列步骤:(a)建立一连结表,其中该连结表为根据每一区块所对应的一有效资料数目将所述区块区分为多个群组;(b)判断一主机是否更改或者新增资料于该固态储存装置中的一闪存;(c)于确认该主机更改或者新增资料于该固态储存装置中的该闪存时,根据更改或者新增资料来更改对应区块的该有效资料数目,并据以更新该连结表;以及(d)于该固态储存装置未进行一垃圾搜集动作时,回到步骤(b);以及,于该固态储存装置进行该垃圾搜集动作时,根据该连结表的内容来选择区块,并进行该垃圾搜集动作。

【技术特征摘要】
1.一种固态储存装置中用于垃圾搜集动作的区块分组方法,包括下列
步骤:
(a)建立一连结表,其中该连结表为根据每一区块所对应的一有效资
料数目将所述区块区分为多个群组;
(b)判断一主机是否更改或者新增资料于该固态储存装置中的一闪
存;
(c)于确认该主机更改或者新增资料于该固态储存装置中的该闪存
时,根据更改或者新增资料来更改对应区块的该有效资料数目,并据以更
新该连结表;以及
(d)于该固态储存装置未进行一垃圾搜集动作时,回到步骤(b);以及,
于该固态储存装置进行该垃圾搜集动作时,根据该连结表的内容来选择区
块,并进行该垃圾搜集动作。
2.如权利要求1所述的固态储存装置中用于垃圾搜集动作的区块分组
方法,其中建立该连接表还包括下列步骤:
提供多个有效资料数目区间;
将所述区块中的M个区块归类至所述有效资料数目区间中的一第一有
效资料数目区间,并定义为一第一群组;以及
将所述区块中的N个区块归类至所述资料数目区间中的一第二有效资
料数目区间,并定义为一第二群组;
其中,M与N为大于等于0的整数,且该M个区块所对应的M个有效
资料数目皆位于该第一有效资料数目区间,该N个区块所对应的N个有效
资料数目皆位于该第二有效资料数目区间。
3.如权利要求2所述的固态储存装置中用于垃圾搜集动作的区块分组
方法,其中还包括下列步骤:
根据一特定参数来进行排序并连结该第一群组中的M个区块;以及
根据该特定参数来进行排序并连结该第二群组中的N个区块。
4.如权利要求2所述的固态储存装置中用于垃圾搜集动作的区块分组
方法,其中还包括下列步骤:
根据所述区块的该有效资料数目的一分布状态来提供所述有效资料
数目区间。
5...

【专利技术属性】
技术研发人员:苏忠益李嘉伦
申请(专利权)人:光宝科技股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1