[发明专利]一种提高固态盘有效容量和寿命的方法和系统有效
申请号: | 201310195850.7 | 申请日: | 2013-05-23 |
公开(公告)号: | CN103309815A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 周可;李春花;万广平;黄平;王桦 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 固态 有效 容量 寿命 方法 系统 | ||
技术领域
本发明属于计算机数据存储领域,更具体地,涉及一种提高固态盘有效容量和寿命的方法和系统。
背景技术
由于闪存技术在过去的几年里在持续的上升,基于闪存的固态盘(Solid state disk,简称SSD)的容量已经大大地提高了而且它的价格也大幅度地下降,使得它在性价比方面比起传统的HDD具有一定的竞争优势。现在在常见的应用场景中运用SSD在实践中已经是可行的。
SSD的总体性能要优于机械式磁盘,尤其是随机访问性能。HDD磁盘内部的机械部件寻道操作是其性能低下的主要原因,相反,固态盘内部没有机械部件,没有寻道操作,其主要开销来自闪存转换层(Flash Translation Layer,简称FTL)逻辑地址到物理地址的翻译过程,而与访问数据的实际物理地址无关,因而具有良好的随机性能。
SSD的并行性能要优于机械式磁盘的并行性能。固态盘内部由多芯片、多通道组成,通道和芯片之间都可以并行地操作以提高系统整体性能。而磁头不能并行地对磁盘进行访问,相反,若应用具有高并发度会导致磁头不停地“抖动(Thrashing)”而降低性能。
SSD具有一些优点的同时,也存在一些自身的限制。生产商并没有很好地解决SSD所固有的内在限制。相反,随着每个存储单元存储的位数逐渐接近半导体物理学的极限,SSD的寿命期和可靠性问题已经变得原来越突出。SSD的寿命期限和可靠性直接相关于它所经历的写的次数,因此改善SSD的寿命期和可靠性的通常的有效方法是减少到达SSD的写的次数,或者优化到达SSD的写模式。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种提高固态盘有效容量和寿命的方法,其目的在于通过分别对数据块运用重删技术、对元数据块运用Delta编码技术从而有效地减少SSD所最终经历的写的次数,最终达到提高SSD有效容量和寿命的技术效果。
为实现上述目的,按照本发明的一个方面,提供了一种提高固态盘有效容量和寿命的方法,包括以下步骤:
(1)在SSD中划分出一部分空间作为SSD的阴影区域,在该阴影区域中初始化副本哈希表和第二哈希表,其中副本哈希表用于把SSD中数据块的MD5值映射为该数据块的信息,包括数据块的编号、以及数据块的索引计数器,第二哈希表用于将数据块的编号映射为副本哈希表的MD5值;
(2)在内存中划分出多个桶,桶与块组是一一对应的,且桶的数量和块组的数量一致。将阴影区域中除了副本哈希表和第二哈希表所占的空间以外的其他空间划分成多不同的小区域,这些小区域也与块组一一对应;
(3)解析SSD上文件系统的布局,并根据解析结果生成用于记录元数据块和数据块的地址的查询树;
(4)接收来自用户的请求,根据查询树判断该请求是元数据块请求还是数据块请求,若是数据块请求,则转步骤(5),若是元数据块请求,则转步骤(8);
(5)判断该数据块请求是数据块读请求还是数据块写请求,如果是数据块读请求,则转步骤(6),若是数据块写请求,则转步骤(7);
(6)根据SSD中数据块的正常读请求路径完成该数据块读请求对应的数据块的读操作,然后返回步骤(4);
(7)判断该数据块写请求对应的数据块是否存在,如果存在则对该数据块在副本哈希表中的索引计数器执行加1操作,如果不存在则根据SSD中数据块的正常写请求路径完成该数据块的写操作,并在写操作完成后在副本哈希表中创建该数据块对应的表项并设置表项中的索引计数器为1,同时在第二哈希表中创建该数据块对应的键值对,然后返回步骤(4);
(8)判断该元数据块请求是元数据块写请求还是元数据块读请求,若是元数据块写请求,则转步骤(9),若是元数据块读请求,则转步骤(11);
(9)将元数据块写请求中包含的该元数据块的内容与SSD中该元数据块的内容进行Delta编码,以获得二者的内容增量Delta,将获得的内容增量Delta缓存放于内存中该元数据块所在块组对应的桶中,周期性地转存内存桶中的Delta到SSD阴影区中对应的小区域中,并判断SSD阴影区中存储Delta桶的剩余空间是否低于预先设定的门限值,如果低于则转步骤(10),否则转入步骤(11);
(10)把内存中所有桶中的Delta转存到对应的SSD阴影区域中的桶中,然后返回步骤(4);
(11)把该阴影区中对应存储Delta的桶与对应的元数据块结合产生最新的元数据并更新SSD中的元数据;
(12)把内存中所有桶中的Delta转存到对应的SSD阴影区域中的桶中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310195850.7/2.html,转载请声明来源钻瓜专利网。