1.一种面向混合固态硬盘的闪存转换层,所述混合固态硬盘由两种闪存介质构成,其中介质A性能较好、但单位容量成本较高,介质B的性能相对A要差,但单位容量成本较低;介质A分为数据块区和翻译块区,介质B全部为数据块区;翻译块区用来存储翻译页,数据块区用来存储数据页;翻译页用来存储数据的逻辑地址和物理地址之间的映射关系,数据页用来存储实际数据;翻译页按照介质A的页面大小对齐,数据页按照介质B的页面大小对齐;其特征在于,所述闪存转换层包括一个地址映射缓冲区,所述地址映射缓冲区由全局翻译目录GTD、映射页缓存槽TPCS、热映射缓存表Hot-CMT和冷映射缓存表Cold-CMT组成;所述GTD用于记录每个翻译页的实际物理页号,所述TPCS用于当前映射项在缓存中不命中时,缓存当前加载映射项所属的整个映射页,所述Hot-CMT用于缓存频繁访问的写映射项,所述Cold-CMT用于缓存读映射项和不频繁访问的写映射项;所述Hot-CMT和Cold-CMT记录映射项的逻辑页号LPN、物理页号PPN。
2.根据权利要求1所述的闪存转换层,其特征在于,所述闪存转换层采用页级地址映射方式。
3.一种面向混合固态硬盘的闪存转换层的转换方法,用于权利要求1-2任一项所述的闪存转换层,其特征在于,包括如下步骤:S1,当访问请求到来时,判断请求类型;若是读请求,执行S2,若是写请求则执行S6;
S2,针对读请求,按顺序查看请求映射项是否在Hot-CMT、Cold-CMT和TPCS中;若映射项位于Hot-CMT,执行S5;若映射项位于Cold-CMT或TPCS中,则执行S3;否则,映射项不在缓存映射表中,则执行S4;
S3,将该映射项加载到Cold-CMT的MRU(Most Recently Used)位置,若此时Cold-CMT大小大于设定的目标阈值,则启动Cold-CMT的剔除操作,然后执行S5;
S4,当映射项不在缓存映射表中时,根据请求的逻辑页号访问GTD,得到该映射项所对应的翻译页的物理页号,并根据此物理页号加载包含目标映射项的翻译页到TPCS中,并将该映射项同时加载到Cold-CMT的MRU位置,若此时Cold-CMT大小大于设定的目标阈值,则启动Cold-CMT的剔除操作,最后执行S5;
S5,返回该映射项所对应的物理页号,地址映射转换结束;
S6,针对写请求,按顺序查看请求映射项是否在Hot-CMT、Cold-CMT和TPCS中;若映射项在Hot-CMT中,Cold-CMT或TPCS命中,则执行S7;否则,映射项不在缓存映射表中,执行S8;
S7,若在Hot-CMT命中,则将该映射项迁移到Hot-CMT的MRU位置;若在Cold-CMT命中,也将映射项迁移到Hot-CMT中的MRU位置,若此时Hot-CMT大小大于设定的目标阈值,则启动Hot-CMT的剔除操作;若在TPCS命中,则将该映射项迁移到Cold-CMT的MRU位置,若此时Cold-CMT大小大于设定的目标阈值,则启动Cold-CMT的剔除操作;最后执行S9;
S8,当映射项不在缓存映射表中时,根据请求的逻辑页号访问GTD,得到该映射项所对应的翻译页的物理页号,并根据此物理页号加载包含目标映射项的翻译页到TPCS中,并将该映射项同时加载到Cold-CMT的MRU位置;若此时Cold-CMT大小大于设定的目标阈值,则启动Cold-CMT的剔除操作;最后执行S9;
S9,根据介质A和B的磨损速度,调整Hot-CMT和Cold-CMT缓存表的大小;然后为写请求分配新的空闲物理数据页号,并将新的物理数据页号写到对应缓存映射表中;最后返回该映射项以前的物理页号和新分配的空闲物理页号。
4.根据权利要求3所述的转换方法,其特征在于,步骤S3、S4、S7和S8中的Cold-CMT采用干净项优先的最近最少使用LRU剔除机制:在Cold-CMT队列的尾部设置一个长度固定的干净项优先剔除窗口;当Cold-CMT需要进行剔除操作时,从LRU位置开始在优先剔除窗口中寻找未更新映射项,若能找到,则直接剔除这个干净映射项;否则,则选择LRU位置上的已更新映射项,将其信息回写到翻译页后进行剔除。
5.根据权利要求3所述的转换方法,其特征在于,步骤S7中的Hot-CMT采用LRU剔除机制,即直接选择Hot-CMT队列LRU位置上的映射项,将其信息回写到翻译页后进行剔除。
6.根据权利要求3所述的转换方法,其特征在于,所述调整Hot-CMT和Cold-CMT缓存表大小具体为:通过控制Hot-CMT与Cold-CMT的比例α来保证它们的磨损速度尽量一致;α受介质A与介质B的相对磨损速率φ控制,α的调整方法如下:S21,计算介质A和B当前的相对磨损速率φ;
S22,比较φ与φt的大小,φt为预设相对磨损均衡速率阈值,若φ<φt,则认为当前介质A和介质B磨损均衡,无需调整α;否则,执行下面S23;
S23,若RWA>RWB,此时介质A比介质B磨损快,减小Hot-CMT的比例值α=α-△α,来减少写入介质A的数据量;反之,则介质B比介质A磨损快,增加Hot-CMT的比例值α=α+△α,来减少写入介质B的数据量。
7.根据权利要求6所述的转换方法,其特征在于,φ定义为:
其中,max(·)代表求最大值,min(·)代表求最小值;RWA表示介质A归一化到介质B的平均磨损速率,RWB表示介质B的平均磨损速率。
8.根据权利要求3所述的转换方法,其特征在于,步骤S9中为写请求分配新的空闲物理数据页号具体为:将数据块区划分为热数据块区和冷数据块区,即在热数据块区中的数据为热数据,存储在介质A中;未在热数据块区中的数据为冷数据,存储在介质B中;在数据写入时,映射项在Hot-CMT中的页被认为是热数据,分配一个属于介质A的空闲页号;反之,则认为是冷数据,分配一个属于介质B的空闲页号。
9.根据权利要求3所述的转换方法,其特征在于,当介质A中空闲块不足时,介质A的垃圾回收机制触发,操作过程如下:S31,选择具有最多无效页的块作为回收块,然后判断回收块是否存在有效数据页;若存在有效数据页则执行S32,否则执行S35;
S32,依次判断每个有效数据页的映射项是否在Hot-CMT中命中,若命中则执行S33,否则执行S34;
S33,该数据仍为热数据,将该数据页迁移到介质A的空闲块,并修改其对应的映射项信息;
S34,该数据为冷数据,将该数据页迁移到介质B的空闲块,并修改其对应的映射信息;
S35,将回收块擦除,结束垃圾回收操作。
10.根据权利要求3所述的转换方法,其特征在于,当介质B中空闲块不足时,介质B的垃圾回收机制触发,选择具有最多无效页的块作为回收块,然后将回收块中的有效数据页迁移到介质B的空闲块,并更新该映射项的映射关系;最后擦除回收块,结束垃圾回收操作。