固态存储装置及其垃圾搜集动作的控制方法制造方法及图纸

技术编号:8452924 阅读:149 留言:0更新日期:2013-03-21 14:38
本发明专利技术为一种固态存储装置及其垃圾搜集控制方法。此控制方法,包括下列步骤:计算快闪存储器内有数据的多个区块中可被释出的空间总数,并定义为A;持续计算快闪存储器内多个空白区块中的空间总数,并定义为B;判断(B/A)小于第一临限值是否成立,在成立时执行垃圾搜集动作;以及,在进行该垃圾搜集动作时,判断(B/A)大于第二临限值是否成立,在成立时,结束该垃圾搜集动作;其中,该第一临限值小于该第二临限值。

【技术实现步骤摘要】

本专利技术涉及一种固态存储装置及其控制方法,且特别涉及一种固态存储装置及其垃圾搜集(garbage collection)控制方法。
技术介绍
众所周知,固态存储装置(Solid State Drive, SSD)使用与非门快闪存储器(NANDflash memory)为主要存储元件,而此类的快闪存储器为一种非易失性(non-volatile)的存储器元件。也就是说,当数据写入快闪存储器后,一旦系统电源关闭,数据仍保存在快闪存储器中。请参照图1,其所绘示为已知固态存储装置的示意图。固态存储装置10中包括一控制单元101与一快闪存储器105。控制单元101与快闪存储器105之间利用一内部总线107进行数据的存取,而控制单元101利用一外部总线20与主机(host) 12之间进行指令与数据的传递。其中,外部总线20可为USB总线、IEEE 1394总线或SATA总线等等。一般来说,快闪存储器中105包括许多区块(block),而每个区块中又包括多个页(page)或称为段(sector)。例如,一个区块中有64页,而每个页的容量为4K字节(bytes)。再者,由于快闪存储器105的特性,每次数据写入时是以页为最小单位,而每次抹除(erase)时则是以区块为单位进行数据抹除。由于快闪存储器105的特性,当区块中某一个页的数据需要更改时,控制单元101将无法直接修改该页中的数据,因此控制单元101是将需要修改的数据写在另一空白页,而原来旧的页将被视为无效页(invalid page),里面的数据将被视为无效数据(invaliddata)。当主机12经过多次的存取之后,在快闪存储器105中将会出现许多的无效页以及无效数据,并且占据了整个快闪存储器的空间。因此,如何有效率地减少无效页以及无效数据,并且增加快闪存储器的空间,即是本专利技术所欲解决的问题。
技术实现思路
本专利技术提出一种固态存储装置的垃圾搜集动作控制方法,其特征在于,包括下列步骤计算一快闪存储器内具有数据的多个区块中可被释放的空间总数,并定义为A ;计算该快闪存储器内多个空白区块中的空间总数,并定义为B ;判断(B/A)小于一第一临限值是否成立,在成立时执行一垃圾搜集动作;以及,在进行该垃圾搜集动作时,判断(B/A)大于一第二临限值是否成立,在成立时,结束该垃圾搜集动作;其中,该第一临限值小于该第二临限值。本专利技术提出一种固态存储装置的垃圾搜集动作控制方法,其特征在于,包括下列步骤计算一快闪存储器内有数据的多个区块中可被释放的空间总数,并定义为A ;计算该快闪存储器内多个空白区块中的空间总数,并定义为B ;判断B/(A+B)小于一第一临限值是否成立,在成立时执行一垃圾搜集动作;以及,在进行该垃圾搜集动作时,判断B/(A+B)大于一第二临限值是否成立,在成立时,结束该垃圾搜集动作;其中,该第一临限值小于该第二临限值。本专利技术提出一种固态存储装置,连接至一主机,其特征在于,该固态存储装置包含一快闪存储器,该快闪存储器中具有多个区块,每一该区块中具有多个页;以及一控制单元,连接至该快闪存储器,用以计算该快闪存储器内有数据的多个区块中可被释放的空间总数并定义为A,且用以计算该快闪存储器内多个空白区块中的空间总数并定义为B;其中,该控制单元根据A与B之间的关系来对该快闪存储器进行一垃圾搜集动作。为了对本专利技术的上述及其他方面有更佳的了解,下文特举优选实施例,并配合附图,作详细说明如下附图说明图I所绘示为已知固态存储装置的示意图。。图2A至图2F所绘示为固态存储装置中数据更新以及降低无效页的示意图。图3A所绘示为本专利技术第一实施例固态存储装置中垃圾搜集动作的控制方法。图3B所绘示为本专利技术第二实施例固态存储装置中垃圾搜集动作的控制方法。具体实施例方式请参照图2A至图2F,其所绘示为固态存储装置中数据更新以及降低无效页的示意图。基本上,固态存储装置的架构与图I相同。如图2A所示,假设快闪存储器中有八个区块(Block_l Block_8),每个区块中有四个页(Page_l Page4)。其中,第一区块(Block_l)与第二区块(Block_2)中所有的页内共存储Datal Data8的数据。如图2B所示,当主机12欲将Datal、Data2、Data4、Data6、Data7的数据更新为Datal’、Data2’、Data4’、Data6’、Data7’时,控制单元101会在快闪存储器中寻找空白页来存储修改的数据。例如,将Datal’写在第四区块(Block_4)第二页(page_2) ;Data2’写在第五区块(Block_5)第三页(page_3) ;Data4’写在第七区块(Block_7)第二页(page_2);Data6’写在第六区块(Block_6)第二页(page_2) ;Data7’写在第六区块(Block_6)第三页(page_3)。之后,原存储Datal、Data2、Data4、Data6、Data7的数据页将被视为无效页(以斜线来表示)。如图2C 所示,当主机 12 欲将 Datal’、Data2’、Data4’、Data6’、Data7’ 的数据再更新为Datal”、Data2”、Data4”、Data6”、Data7”时,控制单元101同样地会在快闪存储器中寻找空白页来存储修改的数据。例如,将Datal”写在第五区块(Block_5)第二页(page_2);Data2”写在第四区块(Block_4)第一页(page_l) ;Data4”写在第六区块(Block_6)第一页(page_l) ;Data6”写在第三区块(Block_3)第二页(page_2) ;Data7”写在第六区块(Block_6)第四页(page_4)。之后,原存储 Datal’、Data2’、Data4’、Data6’、Data7’ 的数据页将被视为无效页(以斜线来表示)。如图2D所示,当主机12欲将Data7”的数据再更新为Data7”’时,控制单元101同样地又会在快闪存储器中寻找空白页来存储修改的数据。例如,将Data7’”写在第四区块(Block_4)第四页(page_4)。之后,原存储Data7”的数据页将被视为无效页(以斜线来表不)。由以上的说明可知,当主机12经过多次的存取之后,在快闪存储器105中将会出现许多的无效页以及无效数据,如图2D中的斜线部分。由于快闪存储器的抹除最小单位为区块,而图2D的快闪存储器中虽然有很多无效页,但是每个区块中都还是有部分的数据页为有效数据(valid data),因此控制单元101无法抹除任何一个区块。而太多的无效数据将占据快闪存储器的空间,使得快闪存储器可写入的空间变少。而垃圾搜集(garbage collection)动作可以解决上述的问题。所谓的垃圾搜集动作即是控制单元101将区块中的有效页搜集起来另外存放在新的区块中,使原区块中的页全部变成无效页,因此可以进行区块抹除(block erase)动作,并且产生空白区块,使快闪存储器增加更多可写入的空间。在经过垃圾搜集动作后,在具有数据的区块中的无效页或空白页的空间,相当于被释出而变成可使用的空间。例如,在图2D所示的情况下控制单元101开始执行垃圾搜集动作。此时控制单元10本文档来自技高网
...

【技术保护点】
一种固态存储装置的垃圾搜集动作控制方法,其特征在于,包括下列步骤:计算一快闪存储器内具有数据的多个区块中可被释出的空间总数,并定义为A;计算该快闪存储器内多个空白区块的空间总数,并定义为B;判断(B/A)小于一第一临限值是否成立,在成立时执行一垃圾搜集动作;以及在进行该垃圾搜集动作时,判断(B/A)大于一第二临限值是否成立,在成立时,结束该垃圾搜集动作;其中,该第一临限值小于该第二临限值。

【技术特征摘要】

【专利技术属性】
技术研发人员:李世强陈凌风
申请(专利权)人:建兴电子科技股份有限公司
类型:发明
国别省市:

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

1