本发明专利技术为一种固态储存装置及其损耗平均控制方法。此损耗平均控制方法,包括下列步骤:于一闪存中,决定具有一第一抹除次数的一第一区块,其中,该第一区块中储存一第一数据且该第一数据对应一第一历史指引数目;于该闪存中,决定具有一第二抹除次数的一第二区块,其中,该第二区块中储存一第二数据且该第二数据对应一第二历史指引数目;以及,当该第一抹除次数大于该第二抹除次数并且该第一历史指引数目大于该第二历史指引数目时,将该第一区块中的该第一数据与该第二区块中的该第二数据进行数据交换操作。
【技术实现步骤摘要】
本专利技术是有关于一种固态储存装置及其控制方法,且特别是有关于一种固态储存装置及其损耗平均(wear leveling)控制方法。
技术介绍
众所周知,固态储存装置(Solid State Drive, SSD)使用与非门闪存(NAND flashmemory)为主要存储元件,而此类的闪存为一种非易失性(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中每个区块的抹除次数有限,因而发展出一种损耗平均(wearleveling)操作。损耗平均操作是为了平均地使用闪存105中的每个区块,避免特定区块使用过度(抹除次数过多)而变成坏区块(bad block)而无法使用,并且可延长闪存的寿命(life span)。基本上,较常被抹除的区块,表示其区块内的数据常常被更换,所以区块内的数据一般被视为热数据(hot data);反之,不常被抹除的区块,表示其区块内的数据很少更动,所以其区块内的数据一般被视为冷数据(cold data)。在已知固态储存装置10内皆会记录所有区块的抹除次数(erase count)。而已知固态储存装置10在进行损耗平均操作时,主要是根据每个区块的抹除次数(erase count)来判断区块的数据是属于热数据或者冷数据。而抹除次数也是已知固态储存装置10进行判断的唯一指标。也就是说,损耗平均操作是利用固态储存装置10中的控制单元101检测闪存105中每个区块的抹除次数(erase count),并将抹除次数较少的区块与抹除次数较多的区块进行数据交换操作(data swap)。亦即,将在抹除次数较多的区块内的热数据转存于抹除次数较少的区块,而将在抹除次数较少的区块内的冷数据转存于抹除次数较多的区块。请参照图2,其所绘示为已知损耗平均操作的控制流程图。在开始执行损耗平均操作时,在闪存中决定一具有高抹除次数的一第一区块,且第一区块中储存有第一数据(步骤S310);由闪存中决定一具有低抹除次数的一第二区块,且第二区块中储存有第二数据(步骤S320);接着,将第一区块中的第一数据与第二区块中第二数据进行数据交换操作(步骤 S330)。由以上的说明可知,已知的损耗平均操作是根据每个区块的抹除次数来决定欲进行数据交换的区块后,进而执行数据交换操作,其企图将冷数据转存于抹除次数较多的区块,以降低该区块之后被抹除频率。请参照图3A至图3G,其所绘示为已知的损耗平均操作的数据交换流程示意图。如图3A所示,闪存105中包括三个区块,其中,第一区块(Blockl)的抹除次数为hi,以Blockl_hi来表示;第二区块(Block2)的抹除次数为lo,以Block2_lo来表示;以及,第三区块(Block3)的抹除次数为η,以Block3_n来表不,并且为空白区块(blank block)。再者,上述三个区块的抹除次数大小为hi > η > lo。通过比较上述三个区块的抹除次数大小,控制单元101会将具有高抹除次数的第一区块(Blockl)内的数据判定为热数据,以Data_hot来表示;而具有低抹除次数的第二区块(Block2)内的数据则判定为冷数据,以Data_cold来表示。而当欲进行损耗平均操作时,控制单元101会决定对第一区块(Blockl)以及第二区块(Block2)进行数据交换。 当控制单元101执行损耗平均操作并决定对第一区块(Blockl)以及第二区块(Block2)进行数据交换时,如图3B所示,将第二区块中的数据(Data_cold)复制到第三区块(Block3)。接着,如图3C所示,将第二区块(Block2)中的数据抹除并成为空白区块,此时抹除次数增加I,以Block2_(lo+l)来表示。如图3D示,接着将第一区块(Blockl)中的数据(Data_hot)复制到第二区块(Block2)。之后,如图3E示,将第一区块(Blockl)中的数据抹除并成为空白区块,此时抹除次数增加I,以Blockl_(hi+l)来表示。如图3F示,接着将第三区块(Block3)中的数据(Data_cold)复制到第一区块(Blockl) ο之后,如图3G示,将第三区块(Block3)中的数据抹除并成为空白区块,此时抹除次数增加1,以Block3_(n+l)来表示。由以上的说明可知,损耗平均操作是先利用抹除次数来决定欲交换数据的二个区块,其中抹除次数较高的区块内的数据视为热数据,抹除次数较低的区块内的数据视为冷数据。而数据交换操作即是将热数据转存在抹除次数较少的区块,而将冷数据转存在抹除次数较多的区块。然而,已知仅利用抹除次数来作为损耗平均操作中寻找区块的依据,会出现许多盲点,举例说明如下假设固态储存装置10从来没有执行过损耗平均操作。很明显地,抹除次数较低的区块内的数据当然是冷数据,抹除次数较高的区块内的数据当然是热数据。然而,一旦固态储存装置10执行过损耗平均操作后,如图3G所示,抹除次数较高的区块内的数据已经被置换为冷数据,而抹除次数较少的区块内的数据已经被置换为热数据。在此情况下,当固态储存装置10再一次执行损耗平均操作时,由于控制单元101仅利用抹除次数来作为寻找区块的依据。控制单元101会认为抹除次数较高的第一区块(Blockl)内的数据为热数据,而再次将图3G所示的第一区块(Blockl)的数据(Data_cold)与第二区块(Block2)的数据(Data_hot)进行数据交换而回到图3A的状况。这样的损耗平均操作将造成热数据回到高抹除次数的区块,冷数据回到低抹除次数的区块,如此则失去了平均损耗的效果。众所周知,损耗平均操作的执行效能与固态储存装置的寿命息息相关。如果仅利用抹除次数来作为寻找区块的依据,将导致损耗平均操作的执行效能变差,甚至让固态储存装置的寿命变短。所以如何有效率地执行损耗平均操作,并有效地延长固态储存装置的寿命,即是本专利技术所欲解决的问题。
技术实现思路
本专利技术提出一种固态储存装置,包括一控制单元,该控制单元包括一历史指引数目产生器,用以产生一历史指引数目,且该历史指引数目会随着时间增加而递增;以及,一闪存,连接至该控制单元,该闪存具有多个区块,其包括一第一区块及一第二区块,其中,该第一区块具有一第一抹除次数并储存有一第一数据,且该第一数据对应一第一历史指引数目;该第二区块具有一第二抹除次数并储存有一第二数据,且该第二数据对应一第二历史指引数目;其中,该控制单元根据该第一抹除次数与该第一本文档来自技高网...
【技术保护点】
一种固态储存装置,其特征在于,该固态储存装置包含:控制单元,该控制单元包括历史指引数目产生器,用以产生历史指引数目;以及闪存,连接至该控制单元,该闪存中具有多个区块,其包括第一区块及第二区块,其中,该第一区块具有第一抹除次数并储存有第一数据,且该第一数据对应第一历史指引数目;该第二区块具有第二抹除次数并储存有第二数据,且该第二数据对应第二历史指引数目;其中,该控制单元根据该第一抹除次数与该第一历史指引数目以及该第二抹除次数与该第二历史指引数目,判断是否执行该第一数据与该第二数据的数据交换操作。
【技术特征摘要】
【专利技术属性】
技术研发人员:李世强,陈凌风,
申请(专利权)人:建兴电子科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。