减小固态硬盘写放大的方法及系统的制作方法

文档序号:6371622阅读:134来源:国知局
专利名称:减小固态硬盘写放大的方法及系统的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种减小固态硬盘写放大的方法及系统。
背景技术
在固态存储系统中,写放大是一个重要的概念。它是硬盘实际上写入的数据量和主机要求写入数据量的一个比值,应当控制在较小的范围内。闪存的读写最小单位是页(page),而擦除的最小单位是块(block)。目前常见的物理块具有256个页,这样会产生在一个块内既有有效页又有无效页。垃圾回收的功能就是在系统空闲空间不足时候将块中的有效页搬移到统一的空闲块中,然后把产生的垃圾块擦除从而产生多余的空闲块。另外,闪存物理块的擦除次数是有限的,最新工艺的MLC(Multi-LeVel Cell,多层单元)擦写次数一般只有300(Γ5000次。在固态存储设备使用期间,由于主机端写入数据序列的差异,会产生冷热数据。冷数据被更新的频率很低,其所占用的物理块被擦的次数很低;而热数据所占用的物理块则相反。如果不做特殊的磨损均衡处理,热数据占用的块被频繁使用,将提前到达其寿命。因此,需要不断的把冷数据搬移到擦写次数较高的块上,而热数据则写入到擦除·次数较少的块上,达到磨损均衡的效果,这样做的结果势必会增加搬移数据的次数,导致写放大的增加。当然还有其它因素影响写放大,而写放大的增加会使固态硬盘寿命的缩短。在现有相关技术中,主要是优化垃圾回收和磨损均衡等算法,来降低写放大。例如,在搜索将要进行数据搬移的源block时选择有效页最小的,使得一次搬移的数据最少;或者放宽磨损均衡的触发条件,降低搬移的次数。这些算法的优化虽然可以在一定程度上降低写放大,但也会降低垃圾回收和磨损均衡的效率。另外,这些算法在数据搬移的过程后没有考虑到被主机复写部分数据的情况。综上可知,现有的固态硬盘减小写放大的技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容
针对上述的缺陷,本发明的目的在于提供一种减小固态硬盘写放大的方法及系统,可以减少数据的搬移量,有效的降低固态硬盘的写放大。为了实现上述目的,本发明提供一种减小固态硬盘写放大的方法,所述方法包括当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则将所述有效数据页进行无效处理,否则进行正常数据搬移。根据本发明的减小固态硬盘写放大的方法,所述判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页步骤包括获取所述被搬移的有效数据页的逻辑地址;检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。根据本发明的减小固态硬盘写放大的方法,所述方法还包括在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。根据本发明的减小固态硬盘写放大的方法,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。本发明还提供一种减小固态硬盘写放大的系统,所述系统包括判断模块,用于当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则交由无效处理模块处理,否则进行正 常的数据搬移;无效处理模块,用于主机端的写缓存中储存有与所述被搬移的有效数据页相同的数据页时,将所述被搬移的有效数据页进行无效处理。根据本发明的减小固态硬盘写放大的系统,所述判断模块包括获取子模块,用于获取所述被搬移的有效数据页的逻辑地址;检查子模块,用于检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。根据本发明的减小固态硬盘写放大的系统,所述固态硬盘还包括写预测模块,用于在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。根据本发明的减小固态硬盘写放大的系统,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则所述写预测模块确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。本发明通过在固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则说明此搬移的有效页将要被复写,则直接将该搬移的有效页进行无效处理,并取消搬移操作,否则继续进行正常的搬移处理。借此可减小数据的搬移量,减小固态硬盘的写放大。


图I是本发明一实施例的减小固态硬盘写放大的系统结构示意图;图2是本发明一实施例的固态硬盘数据搬移示意图;图3是本发明一实施例的写预测示意图;图4是本发明一实施例的减小固态硬盘写放大的方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参见图1,本发明提供了一种减小固态硬盘写放大的系统结构,该系统100应用于固态硬盘,其包括判断模块10和无效处理模块20,其中判断模块10用于当固态硬盘有数据搬移时,判断主机端200的写缓存(cache)中是否储存有与所述被搬移的有效数据页相同的数据页,若是则交由无效处理模块20处理,否则继续正常的数据搬移处理。具体的,判断模块10包括获取子模块11和检查子模块12。当固态硬盘有数据搬移时,获取子模块11获取被搬移的有效数据页的逻辑地址,检查子模块12检查主机端200的写缓存,若主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。无效处理模块20,用于当主机端200的写缓存中储存有与被搬移的有效数据页相同的数据页时,将所述被搬移的有效数据页进行无效处理。写缓存中存在与被搬移的数据页相同,则可以直接从写缓存中转移相应的数据,而无需再从被搬移的数据页中进行移动, 可以直接将该数据页进行无效处理,然后进行垃圾回收,借此大大减小数据的搬移量,降低系统100的写放大。参见图2所示的实施例,Blockl为数据搬移的源块,block2是空闲块,是blockl数据搬移的目标块。在对blockl的有效页搬移过程中,先读出其逻辑地址(LPA),和host (主机)端200的写cache中逻辑地址一一进行比对,如果命中的话,说明此搬移的有效页将要被复写,可以直接将该有效页无效处理,并取消搬移操作,若没有命中则进行正常的搬移操作,借此减小写放大。更好的,本发明的系统100还包括写预测模块30,用于在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据逻辑地址的排列规则预测所述主机端200的写入规则。若在预定时间间隔内检查写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则写预测模块30确定所述主机端200会在后序顺序写入所述预设值数量的连续的逻辑地址。结合图3所示的实施例,在一定时间间隔内对写cache进行检查,若获取逻辑地址是顺序写入的,并且达到一定数量,则返回host端200是顺序写入的。例如,写cache中已经有LPA(TLPA9,可以预测主机端200是顺序写入的,后面会写入LPA1(TLPA19。在进行图2所示数据搬移过程时,增大和写cache比对的长度(LPA(TLPA16),而实际写cache里只有LPA(TLPA9,可以显著的提高写cache的命中率,从而减少数据的搬移量,降低系统的写放大。参见图4,本发明提供了一种减小固态硬盘写放大的方法,其可以通过如图I所示的系统100实现,具体的,该方法包括步骤S401,当所述固态硬盘有数据搬移时,判断模块10判断主机端的写cache中是否储存有与被搬移的有效数据页相同的数据页,若是,则执行步骤S402,否则继续正常的数据搬移。具体的,判断模块10首先通过获取子模块11获取所述被搬移的有效数据页的逻辑地址,然后通过检查子模块12检查写cache中是否有相同的逻辑地址,若是,则确定该逻辑地址的数据页与所述被搬移的有效数据页相同。
步骤S402,将所述有效数据页进行无效处理,并取消该数据页的搬移。被搬移的有效数据页与写cache的数据页相同,说明该数据页将要被复写,则直接将被搬移的有效数据页无效处理,并取消其搬移操作,借此可减少搬移的数据量,减小写放大。更好的,本发明的实施例中,在数据搬移过程中,可以在在预定时间间隔内检查写cache中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。具体的,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则确定所述主机端200会在后序顺序写入所述预设值数量的连续的逻辑地址。借此增大和写cache比对的长度(LPA(TLPA16),而实际写cache里只有LPA(TLPA9,可以显著的提高写cache的命中率。综上所述,本发明通过在固态硬盘有数据搬移时,判断主机端的写缓存中是否储 存有与所述被搬移的有效数据页相同的数据页,若是,则说明此搬移的有效页将要被复写,则直接将该搬移的有效页进行无效处理,并取消搬移操作,否则继续进行正常的搬移处理。借此可减小数据的搬移量,减小固态硬盘的写放大。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种减小固态硬盘写放大的方法,其特征在于,所述方法包括 当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则将所述有效数据页进行无效处理,否则进行正常数据搬移。
2.根据权利要求I所述的减小固态硬盘写放大的方法,其特征在于,所述判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页步骤包括 获取所述被搬移的有效数据页的逻辑地址; 检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。
3.根据权利要求I所述的减小固态硬盘写放大的方法,其特征在于,所述方法还包括 在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。
4.根据权利要求3所述的减小固态硬盘写放大的方法,其特征在于,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。
5.一种减小固态硬盘写放大的系统,其特征在于,所述系统包括 判断模块,用于当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则交由无效处理模块处理,否则进行正常的数据搬移; 无效处理模块,用于主机端的写缓存中储存有与所述被搬移的有效数据页相同的数据页时,将所述被搬移的有效数据页进行无效处理。
6.根据权利要求5所述的减小固态硬盘写放大的系统,其特征在于,所述判断模块包括 获取子模块,用于获取所述被搬移的有效数据页的逻辑地址; 检查子模块,用于检查所述主机端的写缓存,若所述主机端的写缓存中存在数据页的逻辑地址与所述被搬移的有效数据页的逻辑地址相同,则确定该数据页与所述被搬移的有效数据页相同。
7.根据权利要求5所述的减小固态硬盘写放大的系统,其特征在于,所述固态硬盘还包括写预测模块,用于在预定时间间隔内检查所述写缓存中写入的逻辑地址的排列规则,并根据所述逻辑地址的排列规则预测所述主机端的写入规则。
8.根据权利要求7所述的减小固态硬盘写放大的系统,其特征在于,若在预定时间间隔内检查所述写缓存中写入的逻辑地址是顺序写入,且写入的逻辑地址数量达到预设值,则所述写预测模块确定所述主机端会在后序顺序写入所述预设值数量的连续的逻辑地址。
全文摘要
本发明适用于计算机技术领域,提供了一种减小固态硬盘写放大的方法,所述方法包括当所述固态硬盘有数据搬移时,判断主机端的写缓存中是否储存有与所述被搬移的有效数据页相同的数据页,若是,则将所述有效数据页进行无效处理,否则进行正常数据搬移。本发明还相应的提供一种减小固态硬盘写放大的系统。借此,本发明可以减少数据的搬移量,降低固态硬盘的写放大。
文档编号G06F12/02GK102841850SQ201210202638
公开日2012年12月26日 申请日期2012年6月19日 优先权日2012年6月19日
发明者何浩 申请人:记忆科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1