本发明属于固态硬盘算法设计技术领域,公开了一种面向页级ftl的缓冲区改进方法。
背景技术:
缓冲区算法设计是ssd固件设计中一个非常关键的问题,特别是对中高端的ssd的性能和寿命优化,缓冲区算法设计起着至关重要的作用。由于数据访问具有较高的时间局部性和空间局部性特征,缓冲区算法设计可以将访问频繁的数据缓存在缓冲区中,以减少对闪存的直接访问,提高cpu的读写效率。
数据置换策略是缓冲区算法设计的一个关键问题。传统的页级置换策略,即置换粒度为1个页。页级置换策略的优势在于细粒度的区分每个页的访问特点,缓冲区命中率更高,缺点在于可能会使闪存产生大量的存储碎片,而存储碎片过多会明显增加垃圾回收的开销。传统的块级置换策略,充分考虑了闪存良好的顺序写性能,以聚簇的方式将缓冲区中同一个逻辑块的数据页聚集在一起进行管理,缓冲区满后剔除也按照块进行,即将同一个逻辑块的数据页全部置换出缓冲区。块级置换策略的优势和劣势正好与页级置换策略相反。
再者,缓冲区结构设计是缓冲区算法设计的另一个关键问题。在硬盘访问中,更新频率与请求大小是相关的。当到来的请求大于4kb时,更新频率会明显降低。如果将访问频率较低的连续请求缓存到缓冲区后,会造成缓冲区污染,即没有时间局部性的数据占据了宝贵的存储空间,从而造成缓冲区的空间利用率下降。但是,直接将连续请求送给ftl处理,效果也不好,因为存在一个连续请求中的某个数据被二次访问,甚至是多次访问的现象。
终上所述,设计一个优秀的缓冲区改进算法对提升ssd的整体性能至关重要。
技术实现要素:
本发明的目的是针对现有技术的不足,提供一种面向页级ftl的缓冲区改进方法。通过本发明,在固态硬盘缓冲区管理层设计中,有着很好的实用性和应用前景。
本发明解决其技术问题采用的技术方案包括如下步骤:
步骤1、将固态硬盘中的ram分成请求类型区分模块、随机请求处理区模块和连续请求处理区模块3个模块;
随机请求处理区模块:用来缓存随机请求的数据页,若连续请求处理区模块中的数据页累计被二次访问,也会加载到随机请求处理区模块中。
连续请求处理区模块:用来缓存具有高空间本地性请求(即连续请求)的数据页。在连续请求处理区模块中利用连续请求的高空间本地性,通过预取一组数据页到连续请求处理区模块,提升了连续请求处理区模块对连续请求的处理能力,从而进一步了提升系统的整体性能。
请求类型区分模块:用来判断新到来请求的请求类型,即区分请求是随机请求还是具有高空间本地性的连续请求。
步骤2、当请求到来时,请求类型区分模块判断该请求的请求类型。若该请求是随机请求,则将该请求交给随机请求处理区模块处理,若是连续请求,则交给连续请求处理区模块处理;
步骤3、若请求的数据页在随机请求处理区模块或在连续请求处理区模块时,即可立即得到服务。在服务的过程中判断该请求的读写类型,若是写请求,则用请求中的数据对该请求对应的模块中的旧数据页的数据进行覆盖,以实现更新。反之,则直接从模块中读取数据。
步骤4、当请求的数据页在连续请求处理模块,且该数据页被累计二次访问,则需将该请求的数据页加载到随机请求处理区模块中。
步骤5、当随机请求处理区模块没有存储空间时,根据lru策略,每次选择最近最少访问的簇进行置换;当连续请求处理区模块没有存储空间时,根据fifo策略,每次选择停留时间最长的一组簇进行置换。
本发明选取3个性能指标作为评价标准:缓存命中率、平均响应时间和闪存块擦除次数;具体解释如下:
1)缓冲区命中率:指请求的映射项在映射缓存中的命中比率,即直接在映射缓存中得到服务的请求占总请求的比例。
2)响应时间:指请求完成服务时间与到达时间的时间差,是垃圾回收、地址映射的开销以及数据访问时间的综合,也是衡量ssd性能的关键指标。
3)块擦除次数:包括地址转换块的擦除次数和数据块的擦除次数,直接决定了ssd的使用寿命。
本发明中,随机请求处理区模块和连续请求处理区模块都采用了聚簇的思想,即将属于同一个簇号(簇号=逻辑页号/每一个簇中逻辑页的个数)的逻辑页聚集在一起,并且使用lru策略对所有的簇进行管理。
本发明与背景技术相比,具有的有益的效果是:实验结果显示,平均而言,本发明的缓冲区改进算法相比传统的lru算法,缓冲区命中率提升32.41%,响应时间减少26.89%,闪存块擦除次数减少30.28%;相比cflru算法,缓冲区命中率提升26.61%,响应时间减少19.08%,闪存块擦除次数减少20.55%。
附图说明
图1所示为本发明采用的聚簇技术的框架图;
图2为本发明的总体架构图;
图3为本发明的流程图;
图4为本发明的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图2-4所示,本发明一种面向页级ftl的缓冲区改进方法,解决其技术问题采用的技术方案包括如下步骤:
如图2所示:
步骤1、将固态硬盘中的ram分成请求类型区分模块、随机请求处理区模块和连续请求处理区模块3个模块;
随机请求处理区模块:用来缓存随机请求的数据页,若连续请求处理区模块中的数据页累计被二次访问,也会加载到随机请求处理区模块中。
连续请求处理区模块:用来缓存具有高空间本地性请求(即连续请求)的数据页。在连续请求处理区模块中利用连续请求的高空间本地性,通过预取一组数据页到连续请求处理区模块,提升了连续请求处理区模块对连续请求的处理能力,从而进一步了提升系统的整体性能。
请求类型区分模块:用来判断新到来请求的请求类型,即区分请求是随机请求还是具有高空间本地性的连续请求。
步骤2、当请求到来时,请求类型区分模块判断该请求的请求类型。若该请求是随机请求,则将该请求交给随机请求处理区模块处理,若是连续请求,则交给连续请求处理区模块处理;
步骤3、若请求的数据页在随机请求处理区模块或在连续请求处理区模块时,即可立即得到服务。在服务的过程中判断该请求的读写类型,若是写请求,则用请求中的数据对该请求对应的模块中的旧数据页的数据进行覆盖,以实现更新。反之,则直接从模块中读取数据。
步骤4、当请求的数据页在连续请求处理模块,且该数据页被累计二次访问,则需将该请求的数据页加载到随机请求处理区模块中。
步骤5、当随机请求处理区模块没有存储空间时,根据lru策略,每次选择最近最少访问的簇进行置换;当连续请求处理区模块没有存储空间时,根据fifo策略,每次选择停留时间最长的一组簇进行置换。
本发明选取3个性能指标作为评价标准:缓存命中率、平均响应时间和闪存块擦除次数;具体解释如下:
1)缓冲区命中率:指请求的映射项在映射缓存中的命中比率,即直接在映射缓存中得到服务的请求占总请求的比例。
2)响应时间:指请求完成服务时间与到达时间的时间差,是垃圾回收、地址映射的开销以及数据访问时间的综合,也是衡量ssd性能的关键指标。
3)块擦除次数:包括地址转换块的擦除次数和数据块的擦除次数,直接决定了ssd的使用寿命。
本发明中,随机请求处理区模块和连续请求处理区模块都采用了聚簇的思想,即将属于同一个簇号(簇号=逻辑页号/每一个簇中逻辑页的个数)的逻辑页聚集在一起,并且使用lru策略对所有的簇进行管理,如图1所示。
在图2中,描述了一种面向页级ftl的缓冲区改进算法的总体架构图,其中包括:1、请求类型区分模块;2、随机请求处理区模块;3、连续请求处理区模块。
实施例1:
现结合图3和图4,详细说明本发明的实施范例,其详细描述了算法的处理流程。
在该示例中,本发明弱化了缓冲区空间的大小,且随机请求处理区模块和连续请求处理区模块的簇都由4个数据页组成。假设请求到达的顺序如下:(131,1,w),(0,2,r),(12,4,w),(2,1,w),其中,括号内的三个参数分别表示请求的初始逻辑页号、请求的大小和请求类型。假设随机请求处理区模块和连续请求处理区模块都已没有存储空间,如图3所示。
本发明处理流程:当请求(131,1,w)到来时,由于请求的数据在连续请求处理区模块且被二次访问,需要将其加载到随机请求处理区模块中,这时随机请求处理区模块已满,则剔除、更新数据页236-239到闪存中,然后加载数据页131到随机请求处理区模块中。当请求(0,2,r)到来时,由于该请求不在缓冲区,则从闪存中读取数据页0,1到随机请求处理区模块中。当请求(12,4,w)到来时,由于该请求不在缓冲区中,请求类型区分模块判断需要加载该请求的数据到连续请求处理区模块中,这时发现连续请求处理区模块已满,则剔除、更新数据页200-203到闪存中,然后加载数据页12-15到连续请求处理区模块中。当请求(2,1,w)到来时,由于该请求不在缓冲区中,请求类型区分模块判断需要加载数据页2到随机请求处理区模块中。缓冲区的最终状态如图4所示。
玻璃钢生产厂家广州玻璃钢人物雕塑价格合理广西玻璃钢花盆批发价格直销玻璃钢花盆花器乐园玻璃钢雕塑厂家浙江常见商场美陈哪里买卡通人物玻璃钢雕塑价格河北大型主题商场美陈销售莆田玻璃钢仿铜雕塑定制供应商场园林美陈长条形玻璃钢花盆广东佛像玻璃钢雕塑生产厂家玻璃钢雕塑是什么材质制成的天津小区玻璃钢雕塑厂家金昌抽象人物玻璃钢雕塑价格绍兴玻璃钢海豚雕塑价格北京商场美陈复原惠济区博物馆玻璃钢雕塑宣城大型户外玻璃钢雕塑厂家广安玻璃钢雕塑摆件厂家批发长春户外玻璃钢雕塑造型玻璃钢仿真龙虾雕塑玻璃钢雕塑施工厂家玻璃钢雕塑设计软件滁州玻璃钢雕塑工艺品江阴美陈商场布置欧式玻璃钢卡通雕塑报价表吉安定制玻璃钢人物雕塑厂家秋天的童话美陈商场玻璃钢雕塑制品厂家供应廊坊玻璃钢垃圾桶雕塑定制厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万