专利名称:聚集静态数据的方法及其固态硬盘的制作方法
技术领域:
本发明涉及存储技术领域,尤其涉及一种聚集静态数据的方法及其固态硬盘。
背景技术:
在大容量的SSD (solid state disk,固态硬盘)中,在 DRAM (Dynamic Random Access Memory,动态随机存取存储器)足够的前提下,一般会采用页映射作为地址映射方式。即用页映射表记录每个逻辑页地址到物理页地址的映射关系,并在SSD加电运行过程中,将页映射表存储在DRAM中;此外为了提高读写速度,采用多通道的并行读写技术,为此将SSD划分成多个数据区,每个数据区对应一个读写通道。其中,每个数据区分为多个数据块,每个数据块分为多个数据页。参见图1,该图I表示了在上述描述的现有技术前提下,一个写命令中的数据在经过闪存转换层FTL (Flash Translation Layer,闪存转换层)的地址解析之后,被写入各个数据区不同数据块的不同数据页中。同时所述数据所占据的逻辑页地址与其实际被写入的物理页地址的对应关系也被记录在页映射表中。在页映射的管理时,如果当前的逻辑页地址已经映射到某个物理页地址,先要置当前物理页地址无效,然后将所述逻辑页地址映射到新的物理页。即对逻辑页地址进行“覆盖写”。当多个逻辑页地址被循环重复“覆盖写”后,会产生许多的无效物理页,空闲块也会减少。这时需要垃圾回收机制回收无效的物理页。但是在一个数据块中,并不是所有的数据页都是无效的。所以在页映射中,垃圾回收机制的选择策略以贪心策略为主,选择无效物理页最多的数据块。垃圾回收机制将选定的数据块中的有效数据读出,并写入新的空闲的物理页中。待被选定的数据块中所有有效数据被写入到新的物理页,即目标数据块的所有物理页都变成无效后,将数据块擦除,数据块由此变成了空闲块,并且擦除次数增加I。另外,现有的一些静态磨损均衡策略通过数据块的某属性值或多个属性的综合值作为静态数据的衡量标准。由于使用数据块的属性值,所以这些静态磨损均衡策略的最小操作单元是数据块。例如,根据统计块擦除次数判断数据块内存储的是否为静态数据。如果是静态数据,就通过一个中间数据块交换擦除次数最大和最小的两个数据块中的数据。如上述的垃圾回收和静态磨损均衡策略,一个数据块要在相当长的一段时间内维持足够多得有效数据页数量,才能避免被垃圾回收选中,直到被损耗均衡识别成为静态数据块。这要求数据在写入时,静态数据以一种相对集中的方式聚集在数据块中,而不是零散地散布在各个数据块中。因为最小操作单元是数据块,以数据块的属性代表整个块内所有数据页,所以数据块内数据页要保持高度的一致性。如上述图I表述的地址解析的策略,从命令角度看,同一个命令的数据被写入不同区的不同数据块中。从数据块角度看,一个数据块中可能有分属多个命令的数据。通常情况下,属于同一个命令的数据的相关性比较强,一个数据块内如果有分属多个命令的数据,特别是随机写时,块内数据所有数据页就很难保持一致性,此时用数据块的属性表征块内所有数据页的属性就不是很准确。参见图2,假设某一个数据区的数据块A中有分属于三个写命令的数据,其中只有一份数据是静态数据。在使用过程中,其它两份数据所占据的逻辑地址很快被“覆盖写”, 它们所占据的物理地址也被置为无效,数据块A的有效数据页数量就是那唯一的一份静态数据,但是由于静态数据比较少,不足以使数据块A不被垃圾回收选中。被垃圾回收选中之后,数据块A中有效的静态的数据被搬移到新的数据块B中,与其它有效数据组成一个新的数据块。如果恰恰如图2所示,数据块B中也只有刚刚从数据块A中搬移来的数据是静态数据,那么与刚才情景类似,数据块B也被垃圾回收选中,静态数据再次被搬移到数据块C。 如此反复,直到这份静态数据被搬移到一个数据块N中,数据块N中的静态数据所占据的页面数量足以避免数据块N被垃圾回收选中。这份静态数据才停止其漫长的旅行。图2中有效数据页经过长途的搬移后,达到数据块N,数据块N中灰色部分表示的多个静态数据的存储。因此,由于损耗均衡识别静态数据的颗粒度是数据块,无法在更小的颗粒度一数据页层面识别静态数据,导致因多通道并行写入而分散开的、零散的静态数据无法再次被集中起来,被垃圾回收一次又一次的搬移,而这种搬移是不必要的,可以避免的。综上可知,现有的静态数据的聚集技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种聚集静态数据的方法及其固态硬盘,以聚集固态硬盘中零散分布的静态数据,避免了零散分布的静态数据被垃圾回收而频繁搬移,降低固态硬盘的写放大。为了实现上述目的,本发明提供一种聚集静态数据的方法,所述方法包括如下步骤设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据。根据所述的聚集静态数据的方法,所述设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数的步骤包括根据所述固态硬盘的容量,设置所述固态硬盘的页映射表中的物理页地址的索引位数;所述索引位数满足所述物理页地址的索引需要;将所述页映射表剩余的位数全部或者部分设置为所述冗余位数。根据所述的聚集静态数据的方法,所述在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据的步骤包括在对所述逻辑页地址中的数据执行垃圾回收操作,且所述冗余位数的计数值未达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第一组物理区块,所述冗余位数的计数值加I;或者在对所述逻辑页地址中的数据执行垃圾回收操作,且所述冗余位数的计数值达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第二组物理区块,所述冗余位数的计数值清零;或者在所述逻辑页地址被覆盖写后,所述冗余位数的计数值清零。根据所述的聚集静态数据的方法,在所述设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数的步骤之前或者之后还包括对所述第二组物理区块设置标识;以及根据所述固态硬盘的容量,设置所述有效数据被垃圾回收搬移的次数的最大值;在对所述逻辑页地址中的数据执行垃圾回收操作时,所述第二组物理块不被作为所述垃圾回收操作的对象。根据所述的聚集静态数据的方法,在所述冗余位数的计数值达到所述最大值,或者达到预设的参考值时,所述逻辑页地址中的有效数据为静态数据;所述预设的参考值小于所述最大值。为了实现上述另一发明目的,本发明还提供了一种固态硬盘,所述固态硬盘包括第一设置模块,用于设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;有效数据搬移模块,用于在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据;有效数据搬移次数计数器,用于采用所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数。根据所述的固态硬盘,所述第一设置模块包括索引位数设置子模块,用于根据所述固态硬盘的容量,设置所述固态硬盘的页映射表中的物理页地址的索引位数;所述索引位数满足所述物理页地址的索引需要;冗余位数设置子模块,用于将所述页映射表剩余的位数全部或者部分设置为所述冗余位数。根据所述的固态硬盘,所述有效数据搬移模块包括第一有效数据搬移子模块,用于在对所述逻辑页地址中的有效数据执行垃圾回收操作,且所述冗余位数的计数值未达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第一组物理区块;所述有效数据搬移次数计数器将所述冗余位数的计数值加I ;第二有效数据搬移子模块,用于在对所述逻辑页地址中的有效数据执行垃圾回收操作,且所述冗余位数的计数值达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第二组物理区块;所述有效数据搬移次数计数器将所述冗余位数的计数值清零;或者在所述逻辑页地址被覆盖写后,所述有效数据搬移次数计数器将冗余位数的计数
值清零。根据所述的固态硬盘,所述固态硬盘还包括
标识模块,用于对所述第二组物理区块设置标识;以及第二设置模块,用于根据所述固态硬盘的容量,设置所述有效数据被垃圾回收搬移的次数的最大值;在对所述逻辑页地址中的有效数据执行垃圾回收操作时,所述第二组物理块不被作为所述垃圾回收操作的对象。根据所述的固态硬盘,在所述有效数据搬移次数计数器的计数值达到所述最大值,或者达到预设的参考值时,所述逻辑页地址中的有效数据为静态数据;所述预设的参考值小于所述最大值。本发明通过设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;采用所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;然后在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据。由于在映射表的每个表项的冗余区中引入GC COUNT,用GC COUNT大小表示页内有效数据静态属性,从有效数据页的颗粒度上识别静态有效数据,达到零散分布的静态有效数据集中到一起,从而避免了零散分布的静态有效数据被垃圾回收频繁搬移,降低了写放大,提高了固态硬盘的性能。
图I是现有技术中固态硬盘的数据存储示意图;图2是现有技术中固态硬盘的数据搬移示意图;图3是本发明第一实施例中固态硬盘的结构示意图;图4是本发明第二、第三实施例中固态硬盘的结构示意图;图5是本发明第四实施例中固态硬盘的结构示意图;图6是本发明第五实施例中聚集静态数据的方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参见图3,本发明的第一实施例提供了一种固态硬盘100,固态硬盘100包括第一设置模块10,用于设置固态硬盘100的页映射表中的物理页地址的索引位数及冗余位数;所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;有效数据搬移模块20,用于在对所述逻辑页地址中的数据执行垃圾回收操作时, 根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据;有效数据搬移次数计数器30,用于采用所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数。在该实施例中,通过第一设置模块10设置固态硬盘100的页映射表中的物理页地址的索引位数及冗余位数,其中有效数据搬移次数计数器30采用冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;该数值越大则表明该逻辑页地址内的数据是静态数据的可能性越大。然后,有效数据搬移模块20根据该冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值对有效数据进行搬移。由于在该实施例中,冗余位数作为GC COUNT (move count by garbage collection,有效数据被垃圾回收搬移次数的计数器),用GC COUNT大小表示页内数据静态属性,从数据页面的颗粒度上识别静态数据。因此,可以根据这些有效数据知道逻辑页地址内的静态数据的情况,有效数据搬移模块20对这些静态有效数据进行合适的搬移存储。使固态硬盘100中零散的静态数据可以聚集到预先设置的存储区域内。方便固态硬盘100对静态数据进行进一步的处理。 另外,引入的GC COUNT占据映射表项的冗余区,不增加额外的储存空间。因此不会给固态硬盘100的运行带来负担。参见图4,在本发明的第二实施例中,第一设置模块10包括索引位数设置子模块11,用于根据固态硬盘100的容量,设置固态硬盘100的页映射表中的物理页地址的索引位数;冗余位数设置子模块12,用于将所述页映射表剩余的位数全部或者部分设置为所述冗余位数。在该实施例中,索引位数设置子模块11根据固态硬盘100的容量设置固态硬盘 100的页映射表中的物理页地址的索引位数,该索引位数需要满足固态硬盘100中的所述物理页地址的索引需要;冗余位数设置子模块12将所述页映射表剩余的位数全部或者部分设置为所述冗余位数,采用该冗余位数表示逻辑地址页的有效数据被移动的次数。具体的,以LPA(逻辑页地址,Logical Page Address)作为页映射表的下标索引, 页映射表的每一表项为32位,存储PPA (Physical Page Address,物理页地址),该位数受到固态闪存存储器的容量影响。以固态硬盘100的容量不大于ITB为例,28位足够索引SSD 的所有物理页地址,剩余的冗余的4位数用来表示该逻辑页地址中的数据被垃圾回收机制搬移次数(GC COUNT)。于是,将页映射表的每个表项设计成高4位表征GC COUNT,低28位表征物理页地址。参见图4,在本发明的第三实施例中,有效数据搬移模块20包括第一有效数据搬移子模块21,用于在对所述逻辑页地址中的数据执行垃圾回收操作,且所述冗余位数的计数值未达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第一组物理区块;所述有效数据搬移次数计数器30将所述冗余位数的计数值加I ;第二有效数据搬移子模块22,用于在对所述逻辑页地址中的有效数据执行垃圾回收操作,且所述冗余位数的计数值达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第二组物理区块;所述有效数据搬移次数计数器30将所述冗余位数的计数值清零;或者在所述逻辑页地址被覆盖写后,有效数据搬移次数计数器30将冗余位数的计数值清零。在该实施例中,所述冗余位数的计数值具有预设的最大值,在固态硬盘100执行垃圾回收操作时,所述冗余位数的计数值未达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,第一有效数据搬移子模块21将所述逻辑页地址中的有效数据写入第一组物理区块,所述冗余位数的计数值加I。而在所述冗余位数的计数值达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,第二有效数据搬移子模块22将所述逻辑页地址中的有效数据写入第二组物理区块,所述冗余位数的计数值清零。根据所述冗余位数的计数值可以明确的知道逻辑页地址中静态数据在该页中的存储状况。在有效数据搬移次数计数器30的计数值达到所述最大值,或者达到预设的参考值时,所述逻辑页地址中的有效数据为静态数据;所述预设的参考值小于所述最大值。该计数值越大则说明其中数据是静态数据的可能性越大,在计数值达到最大值时,可以认定该逻辑页地址中存储的是静态数据;或者通过预设的参考值,如该参考值为最大值的80%,认定该逻辑页地址中存储的是静态数据。并将这些静态数据存储于预先设置的存储区域。另外,在逻辑页地址被覆盖写时,有效数据搬移次数计数器30将所述冗余位数的计数值清零,重新开始对所述逻辑页地址内有效数据搬移次数计数。参见图5,在本发明的第四实施例中,固态硬盘100还包括标识模块40,用于对所述第二组物理区块设置标识;以及第二设置模块50,用于根据固态硬盘100的容量,设置所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值;另外,第二设置模块50还可以用于设置上一实施例中的所述参考值。在对所述逻辑页地址中的有效数据执行垃圾回收操作时,所述第二组物理块不被作为所述垃圾回收操作的对象。在该实施例中,第二组物理区块由标识模块40进行标识,在固态硬盘100执行垃圾回收操作时,由于第二组物理区块进行了特别的标识,其将不被执行垃圾回收的操作。而在该第二组物理区块中的静态数据则是由固态硬盘100各处零散收集而来的。第二设置模块50设置有效数据被垃圾回收搬移的次数的最大值,该最大值根据固态硬盘100的存储容量,以及其所需要达到的存储性能所决定。在本发的一个优选实施例中,固态硬盘100的容量小于等于IT时;所述页映射表包括32位数,所述物理页地址的索引位数为28位,所述冗余位数为4位;所述有效数据被垃圾回收搬移的次数的最大值为15 ;而该最大值,也可以是10、8等。只是4位二进制数表示最大的十进制数为15。或者固态硬盘100的容量小于等于256G时;所述页映射表包括32位数,所述物理页地址的索引位数为26位,所述冗余位数为6位;所述有效数据被垃圾回收搬移的次数的最大值为63。当然也可以为其他,根据固态硬盘100的具体情况,例如固态硬盘100数据的存储要求,以及固态硬盘100的容量大小等设置。参见图6,在本发明的第五实施例中,提供一种聚集静态数据的方法,所述方法包括如下步骤步骤S601中,第一设置模块10设置固态硬盘100的页映射表中的物理页地址的索引位数及冗余位数;有效数据搬移次数计数器30采用所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;步骤S602中,有效数据搬移模块20在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据。
该实施例中,提供了一种在多通道读写和页映射机制下,将零散分布的静态数据重新聚集起来的方法,该方法有利于垃圾回收,降低写放大。优选的,以逻辑页地址作为页映射表的下标索引,与之对应的页映射的表项先满足索引固态闪存存储器所有物理空间的需要,在剩余的冗余位中引入表征该逻辑页被垃圾回收搬移的次数。并且在垃圾回收的目标块的选择策略在各种最大化、最优化垃圾回收效率的策略基础上,将有效数据进行适当的存储,以达到将零散分布的静态有效数据重新聚集的目的。在本发明的第六实施例中,步骤S601包括第一设置模块10根据固态硬盘100的容量,设置固态硬盘100的页映射表中的物理页地址的索引位数;所述索引位数满足所述物理页地址的索引需要;冗余位数设置子模块12将所述页映射表剩余的位数全部或者部分设置为所述冗余位数。在该实施例中,根据固态硬盘100具体的容量设置索引位数和冗余位数。具体的, 固态硬盘100的容量小于等于IT时;所述页映射表包括32位数,所述物理页地址的索引位数为28位,所述冗余位数为4位;所述有效数据被垃圾回收搬移的次数的最大值为15 ;或
者固态硬盘100的容量小于等于256G时;所述页映射表包括32位数,所述物理页地址的索引位数为26位,所述冗余位数为6位;所述有效数据被垃圾回收搬移的次数的最大值为63。当然还可以是其他的数值设置,在此只做一个举例。在本发明的第七实施例中,步骤S602包括第一有效数据搬移子模块21在对所述逻辑页地址中的有效数据执行垃圾回收操作,所述冗余位数的计数值未达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第一组物理区块,所述冗余位数的计数值加I ; 或者第二有效数据搬移子模块22在对所述逻辑页地址中的有效数据执行垃圾回收操作,所述冗余位数的计数值达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第二组物理区块,所述冗余位数的计数值清零;或者在所述逻辑页地址被覆盖写后,所述冗余位数的计数值清零。在固态硬盘100执行垃圾回收时,根据GC COUNT将有效页搬移到不同的写入点, 以达到重新聚集零散分布的静态有效数据的目的。维护两个不同的有效数据写入点,即第一组物理区块和第二组物理区块。垃圾回收时在具体搬移某一逻辑页地址的有效数据时, 根据GC COUNT值大小决定将其搬移到第一组物理区块或者第二组物理区块。以及在所述逻辑页地址被覆盖写后,有效数据搬移次数计数器30将冗余位数的计数值清零。在本发明的第八实施例中,步骤S601之前或者之后还包括标识模块40对所述第二组物理区块设置标识;以及第二设置模块50根据固态硬盘100的容量,设置所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值;在对所述逻辑页地址中的有效数据执行垃圾回收操作时,所述第二组物理区块不被作为所述垃圾回收操作的对象。
第二组物理区块被标记后,有此标记的第二组物理区块不会作为垃圾回收选择对象。当逻辑页地址被“覆盖写”时,GC COUNT清O;垃圾回收操作中,在搬移某一个逻辑页地址内有效数据时,首先检查以此逻辑页地址为索引的页映射表项的高四位,即GC COUNT值的大小,如果大于预先设定某一预设的最大值则将其搬移到第二组物理区块,有效数据搬移次数计数器30清O ;反之,搬移到第一组物理区块,有效数据搬移次数计数器30加I。在所述冗余位数的计数值达到所述最大值,或者达到预设的参考值时,所述逻辑页地址中的有效数据为静态数据。将逻辑页地址中的有效数据认定为有效数据后,可以将该逻辑页地址进行标识,以方便固态硬盘100对其存储的数据进行处理。综上所述,本发明通过设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;采用所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;然后在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据。由于在映射表的每个表项的冗余区中引入GC COUNT,用GC COUNT大小表示页内有效数据静态属性,从有效数据页的颗粒度上识别静态有效数据,达到零散分布的静态有效数据集中到一起,从而避免了零散分布的静态有效数据被垃圾回收频繁搬移,降低了写放大,提高了固态硬盘的性能。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
1权利要求
1.一种聚集静态数据的方法,其特征在于,所述方法包括如下步骤设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据。
2.根据权利要求I所述的聚集静态数据的方法,其特征在于,所述设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数的步骤包括根据所述固态硬盘的容量,设置所述固态硬盘的页映射表中的物理页地址的索引位数;所述索引位数满足所述物理页地址的索引需要;将所述页映射表剩余的位数全部或者部分设置为所述冗余位数。
3.根据权利要求I或2所述的聚集静态数据的方法,其特征在于,所述在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据的步骤包括在对所述逻辑页地址中的数据执行垃圾回收操作,且所述冗余位数的计数值未达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第一组物理区块,所述冗余位数的计数值加I ;或者在对所述逻辑页地址中的数据执行垃圾回收操作,且所述冗余位数的计数值达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第二组物理区块,所述冗余位数的计数值清零;或者在所述逻辑页地址被覆盖写后,所述冗余位数的计数值清零。
4.根据权利要求3所述的聚集静态数据的方法,其特征在于,在所述设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数的步骤之前或者之后还包括对所述第二组物理区块设置标识;以及根据所述固态硬盘的容量,设置所述有效数据被垃圾回收搬移的次数的最大值;在对所述逻辑页地址中的数据执行垃圾回收操作时,所述第二组物理块不被作为所述垃圾回收操作的对象。
5.根据权利要求I所述的聚集静态数据的方法,其特征在于,在所述冗余位数的计数值达到所述最大值,或者达到预设的参考值时,所述逻辑页地址中的有效数据为静态数据;所述预设的参考值小于所述最大值。
6.一种固态硬盘,其特征在于,所述固态硬盘包括第一设置模块,用于设置固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;有效数据搬移模块,用于在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据;有效数据搬移次数计数器,用于采用所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数。
7.根据权利要求6所述的固态硬盘,其特征在于,所述第一设置模块包括索引位数设置子模块,用于根据所述固态硬盘的容量,设置所述固态硬盘的页映射表中的物理页地址的索引位数;所述索引位数满足所述物理页地址的索引需要;冗余位数设置子模块,用于将所述页映射表剩余的位数全部或者部分设置为所述冗余位数。
8.根据权利要求6或7所述的固态硬盘,其特征在于,所述有效数据搬移模块包括 第一有效数据搬移子模块,用于在对所述逻辑页地址中的有效数据执行垃圾回收操作,且所述冗余位数的计数值未达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第一组物理区块;所述有效数据搬移次数计数器将所述冗余位数的计数值加I ;第二有效数据搬移子模块,用于在对所述逻辑页地址中的有效数据执行垃圾回收操作,且所述冗余位数的计数值达到所述预设的所述有效数据被垃圾回收搬移的次数的最大值时,将所述逻辑页地址中的有效数据写入第二组物理区块;所述有效数据搬移次数计数器将所述冗余位数的计数值清零;或者在所述逻辑页地址被覆盖写后,所述有效数据搬移次数计数器将冗余位数的计数值清零。
9.根据权利要求8所述的固态硬盘,其特征在于,所述固态硬盘还包括标识模块,用于对所述第二组物理区块设置标识;以及第二设置模块,用于根据所述固态硬盘的容量,设置所述有效数据被垃圾回收搬移的次数的最大值;在对所述逻辑页地址中的有效数据执行垃圾回收操作时,所述第二组物理块不被作为所述垃圾回收操作的对象。
10.根据权利要求6所述的固态硬盘,其特征在于,在所述有效数据搬移次数计数器的计数值达到所述最大值,或者达到预设的参考值时,所述逻辑页地址中的有效数据为静态数据;所述预设的参考值小于所述最大值。
全文摘要
本发明适用于存储技术领域,提供了一种聚集静态数据的方法及其固态硬盘,所述方法包括如下步骤设置所述固态硬盘的页映射表中的物理页地址的索引位数及冗余位数;所述冗余位数计数所述页映射表中逻辑页地址中的有效数据被垃圾回收搬移的次数;在对所述逻辑页地址中的数据执行垃圾回收操作时,根据所述冗余位数的计数值和预设的所述有效数据被垃圾回收搬移的次数的最大值,搬移所述逻辑页地址中的有效数据。借此,本发明实现了聚集固态硬盘中零散分布的静态数据,避免了零散分布的静态数据被垃圾回收而频繁搬移,降低了固态硬盘的写放大。
文档编号G06F12/02GK102609358SQ20121000868
公开日2012年7月25日 申请日期2012年1月12日 优先权日2012年1月12日
发明者张刘松, 张志青, 张星, 王猛 申请人:记忆科技(深圳)有限公司