一种基于协作的固态盘存储系统性能提高方法

文档序号:9217294阅读:331来源:国知局
一种基于协作的固态盘存储系统性能提高方法
【技术领域】
[0001]本发明属于计算机数据存储技术领域,更具体地,涉及一种基于协作的固态盘存储系统性能提尚方法。
【背景技术】
[0002]固态盘(Solid State Drive,简称SSD)是用固态电子存储芯片阵列而制成的硬盘,当前的固态盘主要是基于FLASH芯片。随着固态盘成本的降低,固态盘存储系统已被广泛应用于车载、视频监控、军事、网络终端、电力、医疗等领域。
[0003]如今,在固态盘的应用中,多核处理器等技术在主机端的的使用使得主机端拥有越来越强大的资源,然而,处于设备端的固态盘资源却相对不足,这会造成固态盘性能下降,同时会影响用户的体验效果。

【发明内容】

[0004]针对现有技术的以上缺陷或改进需求,本发明提供了一种基于协作的固态盘存储系统性能提高方法和系统,其目的在于,基于热数据识别,通过主机端和设备端进行协作式垃圾回收,解决现有固态盘系统中存在的固态盘资源不足,从而影响用户体验效果的技术冋题。
[0005]为实现上述目的,按照本发明的一个方面,提供了一种基于协作的固态盘存储系统性能提尚方法,包括以下步骤:
[0006](I)文件系统选择固态盘中无效页面最多的块作为待回收块BlockMllec;t;
[0007](2)文件系统根据热数据识别方法判断该待回收块Blodw^t是否是热块,如果是则转至步骤(3);否则转至步骤(5);
[0008](3)文件系统在固态盘的所有热块中寻找是否存在有满足Ufree> = Uvalid的热块,如果有则转入步骤(4),否则设置标签Clean_To_Block = _1,然后转入步骤(7),其中Ufree表示该热块的空闲页利用率,Uvalid表示待回收块Block 有效页利用率;
[0009](4)文件系统在满足Ufree> = Uvalid的多个热块中寻找使U 最小的热块,并将寻找到的该热块标记为Blocktawt,然后转入步骤(7);
[0010](5)文件系统在固态盘的所有冷块中寻找是否存在有满足Ufree> = Uvalid的冷块,如果有则转入步骤(6),否则设置标签Clean_To_Block = _1,然后转入步骤(7);
[0011](6)文件系统在满足Uf_> = Uvalid的多个冷块中寻找使U 最小的冷块,并将寻找到的该冷块标记为Blocktawt,然后转入步骤(7);
[0012](7)文件系统根据上述获得的块Blocktmget以及待回收块Block collect中需要回收的有效数据页面所在的位置、或标签Clean_T0_Bl0ck生成GC命令,并将该GC命令发送到固态盘;
[0013](8)固态盘判断该GC命令中的标签Clean_To_Block是否为-1,如果是,则固态盘执行默认的垃圾回收操作,然后过程结束,否则将GC命令中待回收块Bl0CkrallK;t中的有效数据读出,并将读出的有效数据迀移到块Blocktawt中。
[0014]优选地,热块是固态盘中包含热数据页最多的15%个数据块,固态盘中剩余的块为冷块。
[0015]优选地,GC命令的格式为 BlocKBlockc^llect, Blockctjllec^Bitmap, Blocktarget, Clean_To_Block>,其中 Blockrallect_Bitmap 代表待回收块 Blockrallect*需要回收的有效数据页面所在的位置。
[0016]按照本发明的另一方面,提供了一种基于协作的固态盘存储系统性能提高系统,包括:
[0017]第一模块,用于文件系统选择固态盘中无效页面最多的块作为待回收块Blockcollect;
[0018]第二模块,用于文件系统根据热数据识别方法判断该待回收块Blockrallert是否是热块,如果是则转至第三模块;否则转至第五模块;
[0019]第三模块,用于文件系统在固态盘的所有热块中寻找是否存在有满足Uf_> =Uvalid的热块,如果有则转入第四模块,否则设置标签Clean_T0_Bl0Ck = _1,然后转入第七模块,其中Uf_表示该热块的空闲页利用率,U valid表示待回收块Block rallec;t的有效页利用率;
[0020]第四模块,用于文件系统在满足Ufree> = Uvalid的多个热块中寻找使U 小的热块,并将寻找到的该热块标记为Blocktmgrt,然后转入第七模块;
[0021]第五模块,用于文件系统在固态盘的所有冷块中寻找是否存在有满足Uf_> =Uvalid的冷块,如果有则转入第六模块,否则设置标签Clean_T0_Bl0ck = _1,然后转入第七丰吴块;
[0022]第六模块,用于文件系统在满足Ufree> = Uvalid的多个冷块中寻找使U _最小的冷块,并将寻找到的该冷块标记为Blocktmgrt,然后转入第七模块。
[0023]第七模块,用于文件系统根据上述获得的块Blocktmget以及待回收块Block collect中需要回收的有效数据页面所在的位置、或标签Clean_T0_Bl0ck生成GC命令,并将该GC命令发送到固态盘;
[0024]第八模块,用于固态盘判断该GC命令中的标签Clean_To_Block是否为_1,如果是,则固态盘执行默认的垃圾回收操作,然后过程结束,否则将GC命令中待回收块Blockrallert中的有效数据读出,并将读出的有效数据迀移到块Block tmgrt中。
[0025]总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0026]1、本发明解决了现有固态盘系统中存在的固态盘资源不足的技术问题:由于采用了步骤(I),将无效数据最多的块挑选出来,并采用步骤(2),将该块识别为热块或冷块,进而采用步骤(3) (4) (5)和步骤(6),寻找出满足条件的块,使该块可以容纳步骤(I)所挑选的块的有效数据,将固态盘的部分垃圾回收功能放到主机端文件系统来执行,因此弥补了固态盘内部资源的相对不足。
[0027]2、本发明提高了固态盘的性能,进而提高了固态盘存储系统的整体性能,改善了用户的体验效果。
【附图说明】
[0028]图1是本发明基于协作的固态盘存储系统性能提高方法的示意图。
[0029]图2是本发明基于协作的固态盘存储系统性能提高方法的细化流程图。
【具体实施方式】
[0030]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0031]如图1和2所示,本发明基于协作的固态盘存储系统性能提高方法包括以下步骤:
[0032](I)文件系统选择固态盘中无效页面最多的块作为待回收块,并将该待回收块标记为 Blockrallect;
[0033](2)文件系统根据热数据识别方法(Hot data identificat1n method)判断该待回收块Blocketjlleet是否是热块(Hot block),如果是则转至步骤(3);否则转至步骤(5);具体而言,热数据识别方法是根据数据的访问频率来对数据进行区分的一种技术,在用户对数据访问的过程中,有的数据会被频繁访问,而有的数据很少被访问,被频繁访问的数据称为热数据,而很少被访问的数据称为冷数据,在固态盘中包含热数据页最多的15%个块被称为热块,剩余块则称为冷块(Cold block);
[0034](3)文件系统在固态盘的所有热块中寻找是否存在有满足Ufree> = Uvalid的热块,如果有则转入步骤(4),否则设置标签Clean_To_Block = _1,然后转入步骤(7),其中Ufree表示该热块的空闲页利用率,其等于该热块中不包含数据的页面数量与该热块中所有页面数量的比值,Uvalid表示待回收块Block。。_的有效页利用率,其等于该热块中包含有效数据的页面数量与该热块中所有页面数量的比值;
[0035](4)文件系统在满足Ufree> = Uvalid的多个热块中寻找使U 最小的热块,并将寻找到的该热块标记为Blocktawt,然后转入步骤(7);
[0036](5)文件系
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1