一种延长固态盘使用寿命的方法技术

技术编号:7700364 阅读:373 留言:0更新日期:2012-08-23 05:25
本发明专利技术公开了一种延长固态盘使用寿命的方法,包括:(1)将写请求加入固态盘缓冲区中的写请求队列中(2)选择写请求中一个数据页作为取样页(3)计算取样页的指纹,并与指纹库中的指纹比对以进行匹配(4)如果没有找到匹配的指纹,则将取样页以及该请求中的其余数据页直接写入固态盘闪存(5)如果有匹配的指纹,则对其余每一页分别进行计算指纹,并分别与指纹库中的指纹比对以进行匹配:对于找到匹配指纹的数据页,直接更新对应的映射表,找到匹配指纹的数据页将则其写入固态盘。本发明专利技术减少固态盘中数据对闪存的实际物理占用,间接的增大了系统的冗余空间,减少了系统进行垃圾回收操作频度,从而提高固态盘的使用寿命。

【技术实现步骤摘要】

本专利技术属于计算机存储
,特别涉及。
技术介绍
存储器是计算机系统中的一个非常重要组成部分。闪存(FLASH)作为一种可擦除 的非易失性半导体存储器,由于具有存储密度大、功耗低、掉电数据不丢失以及抗震性好等优点,在嵌入式设备领域已经非常普及。基于闪存的固态存储器(也叫固态盘,SSD SolidState Disk)相对传统硬盘在存储性能以及功耗、抗震耐摔等方面拥有明显的优势,越来越多的被用来部分或全部取代传统硬盘来提升存储系统的性能。然而,其可靠性以及使用寿命问题已经成了固态盘迅速大规模商用化的主要制约因素之一。目前阻碍固态盘大规模商业应用的主要因素有两点,一、闪存擦写次数有限,由于闪存介质通过注入和擦除栅极电荷来存储信息,因制造工艺的缘故,这种反复的注入和擦除到达一定次数后,其工作变得不稳定因而不能继续用来存储数据。二、价格,目前固态盘的单位存储空间价格比传统硬盘的单位价格要高约一个数量级,而随着制造工艺的提升以及多层存储技术(MLC,Multi-Level Cell)的应用,价格会逐步下降。但随着工艺的提升以及MLC技术的应用,都使得闪存存储单元的可擦除次数也随着急剧降低,从最初90nm工艺时的10万次到现在3X nm工艺时小于5千次。可擦除次数的急剧降低,就意味着固态盘的使用寿命也跟着急剧下降,使得提出提升固态盘使用寿命的方法变得更加有必要。NAND型闪存颗粒是目前广泛使用的固态存储介质,后文中所述的“闪存”也仅指NAND FLASH。NAND型FLASH颗粒的组成形式是,一个颗粒由多个块组成,每个块又由多个页组成。NAND FLASH的基本操作有读、写、擦除。读和写操作的基本单位都是页,而擦除的基本单位是块。市面上常见的NAND FLASH的页大小4K字节或2K字节,而每个块包含64个页或128个页。闪存操作主要有以下三个特点一、不能直接覆盖写,每个物理页在写之前必须先进行擦除操作。二、必须顺序写,在每个块中的页必须按顺序依次写入,否则会引起存储的数据不稳定。三、擦除写入次数有限,每个存储单元的写入次数大约在I万至10万次(针对单层存储,SLC)。固态盘的使用寿命主要由以下三个因素决定一、固态盘的数据写入量,这主要是由用户负载决定;二、固态盘中的冗余空间大小,冗余空间越大,触发垃圾回收(GC,GarbageCollection)操作的频率越低,对闪存的擦除次数也相对较少,但这一因素主要由生产厂家决定,且受成本因素制约;三、与垃圾回收操作和磨损均衡算法的效率有关。当前市场主流固态盘产品中的提高使用寿命的方法主要是通过磨损均衡技术实现的,没有考虑到通过减少对固态盘的实际数据写入,间接增大固态盘中的冗余空间来提升固态盘的使用寿命。
技术实现思路
本专利技术的目的在于提出,通过减少对固态盘的实际数据写入,间接增大固态盘中的冗余空间,从而提升固态盘的使用寿命,本专利技术的方法与现有的磨损均衡技术可以共存,共同提升固态盘的使用寿命。实现本专利技术的目的所采用的具体技术方案如下,通过对写请求的处理判断出待写数据是否为已写入过固态盘中的重复数据,从而减少对固态盘的实际写入,延长固态盘的使用寿命,其具体步骤如下(I)将来自上层接口的写请求加入固态盘缓冲区中的写请求队列中;(2)取样哈希,即针对该写请求,选择其中一个数据页作为取样页;(3)计算该取样页的哈希值即指纹,并与指纹库中的指纹比对以进行匹配,获得匹 配结果,其中,所述指纹库指该固态盘中所存储数据的指纹的集合;(4)如果匹配结果为没有找到匹配的指纹,则将取样页以及该请求中的其余数据页直接写入固态盘闪存,并更新映射表;(5)如果匹配结果为找到匹配的指纹,则不将该取样页写入固态盘闪存,而直接将该取样页对应的映射表更新;同时,对该请求中的其余数据页中的每一页分别计算指纹,并将所述每一页的指纹分别与指纹库中的指纹比对以进行匹配对于找到匹配指纹的数据页,直接更新其对应的映射表,对于没有找到匹配指纹的数据页,将其直接写入固态盘闪存并更新映射表。作为本专利技术的改进,所述的步骤(3)中计算指纹及进行匹配的具体过程为首先,对数据页预先计算一个低级别的指纹,并将该指纹与固态盘中的指纹库进行匹配,如果没有找到匹配的指纹,则匹配不成功,该页数据为非重复数据;如果找到匹配的指纹,则再进一步计算该数据页的更高级别的指纹,并与指纹库进行匹配,如果找到匹配的指纹,则匹配成功,该页数据为重复数据,否则,匹配不成功,该页数据为非重复数据。作为本专利技术的改进,所述步骤(2)中进行取样哈希的具体为选取写请求中每个数据页的头四个字节,并进行32位的数值比较,并将数值最大的数据页作为该写请求的取样页。作为本专利技术的改进,所述指纹库中的存储方式为所有指纹被分为N段存储,N为自然数,其中,对于任一指纹f,将其映射存储到第η段,其中η为指纹数值对N取模。作为本专利技术的改进,上述存储指纹的每个段中,均包含一个簇队列,每簇为一个内存数据页,其由多个项构成,每个项即为一个指纹数据结构,在每个簇中,指纹按照数值大小进行升序排列。作为本专利技术的改进,所述指纹数据结构为{指纹,(索引地址,热度因子)},其中,索引地址是页的物理地址或页的虚拟地址,热度因子是指纹对应数据在存储系统中的重复次数。作为本专利技术的改进,如果固态盘系统缓存剩余空间少于5%时,将写请求队列中的写请求,直接写入闪存盘中,直至缓存剩余空间重新大于50%时,再重新执行步骤⑵ _(5)。本专利技术可以减少数据的固态盘存储空间的实际占用,从而间接的在不增加固态盘成本的前提下增大了系统的冗余空间。本专利技术结合在线重删消除重复写入闪存中的数据与离线重删技术消除固态盘中的重复数据,从而减少对闪存的写入以及对闪存的实际空间占有,间接增大固态盘的冗余空间,减少GC操作的触发,从而减少固态盘中闪存的擦除次数,提高固态盘的使用寿命。本专利技术可与当前现有的延长固态盘使用寿命常用的磨损均衡策略同时存在,共同延长固态盘的使用寿命。通过在线重删通过预先检测写入数据,从而取消那些重复的数据写入。当从系统上层来了一个写请求时,先将该写请求缓存到固态盘的设备缓冲区,通过一个hash引擎(该引擎可以是处理器本身,或者仅仅是控制器逻辑的一部分)计算出该写请求内容的hash值,即内容指纹,将该指纹与系统中已有内容的指纹进行比对,若匹配到相同的指纹,则表明该请求的数据已经在固态盘中,将取消该次写请求对固态盘的实际写入,只是修改固态盘元数据中的映射表,将本次请求的逻辑请求页地址(LB A)添加到相应指纹的页表项。否则将该请求内容的指纹添加到元数据中,为该页实际分配一个物理页地址,并将该写请求内容写入固态盘闪存中。其具体流程如图I所示。本专利技术为了降低重复数据删除对系统性能造成的影响,采用如下三种策略1、取样哈希。即对于一段写请求,只对其中某一页进行计算哈希值,即指纹。在系统写请求中普遍存在一个规律,即若每段写请求中存在重复数据页,则该段写请求中大部分页也是重复数据页。如果取样指纹与系统中现有指纹数据相匹配,则表明该页为重复数据页,且该段中的其他页也极有可能为重复数据页,进一步计算其它也的哈希值并进行指纹比对。若取样页的指纹在系统中没有找到匹配项,即该页数据为非重复数据,则该段请求的其它页也很有可能为非重复数据,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种延长固态盘使用寿命的方法,通过对写请求的处理判断出待写数据是否为已写入过固态盘中的重复数据,从而减少对固态盘的实际写入,延长固态盘的使用寿命,其具体步骤如下 (1)将来自上层接口的写请求加入固态盘缓冲区中的写请求队列中; (2)取样哈希,即针对该写请求,选择其中一个数据页作为取样页; (3)计算该取样页的哈希值即指纹,并与指纹库中的指纹比对以进行匹配,获得匹配结果,其中,所述指纹库指该固态盘中所存储数据的指纹的集合; (4)如果匹配结果为没有找到匹配的指纹,则将取样页以及该请求中的其余数据页直接写入固态盘闪存,并更新映射表; (5)如果匹配结果为找到匹配的指纹,则不将该取样页写入固态盘闪存,而直接将该取样页对应的映射表更新;同时,对该请求中的其余数据页中的每一页分别计算指纹,并将所述每一页的指纹分别与指纹库中的指纹比对以进行匹配对于找到匹配指纹的数据页,直接更新其对应的映射表,对于没有找到匹配指纹的数据页,将其直接写入固态盘闪存并更新映射表。2.根据权利I所述的延长固态盘使用寿命的方法,其特征在于,所述的步骤(3)中计算指纹及进行匹配的具体过程为 首先,对数据页预先计算一个低级别的指纹,并将该指纹与固态盘中的指纹库进行匹配,如果没有找到匹配的指纹,则匹配不成功,该页数据为非重复数据;如果找到匹配的指纹,则再进一步计算该数据页的...

【专利技术属性】
技术研发人员:刘景宁冯丹童薇张建权苏福钦葛雄资
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1