[发明专利]基于SSD的大规模存储系统中的文件布局方法有效
申请号: | 201310097842.9 | 申请日: | 2013-03-25 |
公开(公告)号: | CN103135946A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 廖湘科;肖侬;陈志广;卢宇彤;周恩强;陈海涛;蒋艳凰;张伟 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;谭武艺 |
地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ssd 大规模 存储系统 中的 文件 布局 方法 | ||
技术领域
本发明涉及大规模存储系统领域,具体涉及一种基于SSD的大规模存储系统中,能够同时提高可靠性和读性能的文件布局方法。
背景技术
基于闪存的SSD(Solid State Drive,固态盘)是一种新型的大规模存储设备,它因为低延迟、高带宽、低功耗等特性而被广泛应用于高端存储系统中。但是,基于闪存的SSD也有儿点固有的缺陷。首先,基于闪存的SSD寿命有限。闪存的每个存储单元写入次数有限,一旦写入次数超过限制,该存储单元变得不可靠,可能引起数据丢失。SSD需要采用一些技术保证数据的可靠性。其次,SSD内部会周期性地进行垃圾回收,垃圾回收时,SSD的读写延迟急骤上升。在包含大量SSD的存储系统中,任何时刻都有SSD在进行垃圾回收,上层应用会因此受到剧烈的影响。针对闪存寿命有限的问题,目前已经出现了以下儿种解决方案:
1.闪存内部的ECC技术。ECC(Error Correction Code,纠错码)是一种传统的提高可靠性的方法。向闪存的每个存储单元写入数据时,都需计算该数据的纠错码。从该存储单元读出数据时,根据纠错码检测是否出现错误。如果出现错误的位数较少,可通过纠错码纠正错误。纠错码的纠错能力有限,如果一个存储单元中大量的位出错,纠错码不能恢复数据,且纠错码不能解决整个设备失效的问题。
2.SSD内部的损耗均衡技术。闪存每个存储单元的寿命有限,为了防止一些存储单元因为写入次数过多而过早的损坏,可以在闪存的所有存储单元上均衡的写入数据,保证所有存储单元写入的次数相等,这就是SSD内部采用的损耗均衡机制。损耗均衡能够提高SSD的整体寿命,但并不能保证所有的存储单元都不损坏,因为每个存储单元的寿命是不同的。即使在所有的存储单元上均衡的写入数据,也不能避免寿命较短的存储单元过早的损坏,数据丢失的情况仍然会出现。且损耗均衡机制涉及SSD内部数据的迁移,数据迁移过程中会在SSD内部产生大量的读写请求,这些内部读写请求会延长SSD对用户请求的响应时间。
3.基于SSD的RAID技术。RAID(Redundant Array of Independent Disk,独立磁盘冗余阵列)是一种传统的提高可靠性的技术。RAID根据待写入的用户数据计算校验信息,并将用户数据和校验信息写到不同的存储设备上。若保存用户数据的存储设备失效,可根据校验信息恢复用户数据。RAID技术要求用户数据和校验信息同步地写入存储设备。在基于SSD的RAID阵列中,任何时刻都可能有SSD在垃圾回收,垃圾回收时SSD的写延迟很大。向两个SSD同步地写入用户数据和校验信息时,如果其中一个SSD在垃圾回收,写入用户数据和校验信息的延迟以最慢的SSD为准。所以,基于SSD的RAID技术写延迟很大。
针对垃圾回收时SSD性能下降的问题,目前已经有以下几点方案:
1.在SSD空闲时垃圾回收。在SSD内部配备一个定时器,在SSD没有接收到读写请求时开始计时,计时达到阈值说明SSD空闲,此时可触发垃圾回收。这种方法根据一段时间内主机端没有发送读写请求而断定在以后一段时间内也不会发送读写请求,实现简单但过于武断,不能取得预期的效果。
2.强制整个存储系统中的所有SSD同时垃圾回收。在整个存储系统中,任何一个SSD的垃圾回收都可能影响上层应用程序的执行时间。所以可以选择在没用应用程序执行时,强制所有SSD同时垃圾回收。这种做法保证应用程序的执行不受SSD垃圾回收的影响,但需要其它的机制预测主机端的应用程序执行情况,且要求改变SSD的接口,向SSD内部发送强制垃圾回收的命令。
综上所述,以上各项现有技术都只关注其中一个问题,不能将可靠性和读性能这两方面结合起来,不能满足基于SSD的大规模存储系统的需要。
发明内容
本发明要解决的技术问题是提供一种可靠性高、容错性能好、SSD使用寿命长、SSD垃圾回收对读请求影响低的基于SSD的大规模存储系统中的文件布局方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于SSD的大规模存储系统中的文件布局方法,其实施步骤如下:
1)建立范德蒙德矩阵,跳转执行下一步;
2)接收应用程序的读写请求,跳转执行下一步;
3)判定所述读写请求的请求类型,若请求类型为写请求则跳转执行步骤4),若请求类型为读请求则跳转执行步骤8);
4)将待写入文件进行分块得到k个用户数据块,其中k为可恢复用户数据的最低数量,跳转执行下一步;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310097842.9/2.html,转载请声明来源钻瓜专利网。