固态硬盘数据缓存方法及装置制造方法及图纸

技术编号:16188102 阅读:36 留言:0更新日期:2017-09-12 11:23
本申请实施例公开一种固态硬盘数据缓存方法及装置,通过将固态硬盘缓存资源划分为第一缓存资源池和第二缓存资源池,其中,第一缓存资源池压和第二缓存资源池的配额大于第二缓存资源池,在缓存数据时,检测待缓存数据的数据块大小,将数据块小于或等于第一阈值的常用特征数据缓存至第一缓存资源池,将数据块大于第一阈值的非常用特征数据缓存至第二缓存资源池,本方法可将有限的缓存资源尽量分给常用特征数据,从而提升常用特征数据的缓存使用率,减少常用特征数据的下刷率,提升其缓存命中率,从而达到提升固态硬盘性能的目的。

Solid state hard disk data caching method and device

The embodiment of the utility model discloses an SSD data caching method and device, the SSD cache resource is divided into first and second cache cache resource pool resource pool, the first cache resource pool pressure and second cache pool quota of more than second cache pool in the cache data, to detect the cache data the block size, the data block is less than or equal to the first threshold characteristics of commonly used data cache to the first cache resource pool, the data block is greater than the first threshold is used to second feature data cache cache resource pool, this method will be limited as far as possible to cache resources commonly used feature data, so as to enhance the common features of the data cache usage to reduce the common features of the data under the brush rate, improve the cache hit rate, so as to improve the performance of the solid state disk.

【技术实现步骤摘要】
固态硬盘数据缓存方法及装置
本申请涉及存储
,尤其涉及一种固态硬盘数据缓存方法及装置。
技术介绍
固态硬盘(英文:SolidStateDrives,缩写:SSD)通常指用固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘相同,被广泛应用于各行各业。固态硬盘不存在寻道时间,在随机读取零散小文件的时候效率较高,加载程序的速度较快。固态硬盘缓存技术即将需要频繁读写的数据缓存到读写速度较为快速的固态硬盘中,加速这类热点数据的读写速度。目前,固态硬盘主控通常采用业务无关性设计,即固态硬盘主控不理解业务数据内容,不预估各种类型数据的数据块大小和访问频率。现有的固态硬盘数据缓存方法通常针对所有数据进行统一处理,使用有限的RAM空间对所有主机类型数据进行统一缓存,其中,所有主机类型数据均采用相同方式存储。然而,在常用特征数据和非常用特征数据同时读写的情况下,现有的固态硬盘数据缓存方法,会造成非常用特征数据与常用特征数据抢占有限的缓存资源,引发常用特征数据与非常用特征数据的缓存数据交叉下刷,促使常用特征数据与非常用特征数据在闪存上交叉存放的概率提升,进一步导致后续垃圾回收(英文:GarbageCollection,缩写:GC)机制搬移有效数据量的增加,并且,常用特征数据的缓存命中率低,下刷率较高,容易因为频繁访问元数据而频繁访问闪存,导致固态硬盘的性能降低。
技术实现思路
本申请提供一种固态硬盘数据缓存方法及装置,以解决现有的固态硬盘数据缓存方法导致固态硬盘的性能降低的问题。第一方面,本申请实施例提供一种固态硬盘数据缓存方法,包括如下步骤:检测待缓存数据的数据块大小;判断所述数据块大小是否小于或等于第一阈值;如果所述数据块小于或等于第一阈值,查询第一缓存资源池;判断所述第一缓存资源池的已用缓存区中是否存在与所述待缓存数据相匹配的历史数据;如果所述第一缓存资源池内不存在与所述待缓存数据相匹配的历史数据,对所述待缓存数据标记时间戳;将所述待缓存数据缓存至所述第一缓存资源池的空闲缓存区;如果所述待缓存数据的数据块大于第一阈值,判断所述待缓存数据的数据块大小是否小于或者等于第二阈值;如果所述待缓存数据的数据块小于或者等于第二阈值,将所述待缓存数据缓存至第二缓存资源池,所述第二缓存资源池的空间配额小于所述第一缓存资源池的空间配额。结合本申请实施例,在本申请实施例的第一种可实施方式中,将所述待缓存数据缓存至所述第一缓存资源池的空闲缓存区之后,包括:判断所述空闲缓存区的缓存资源是否小于预设资源阈值;如果所述空闲缓存区的缓存资源小于预设资源阈值,将所述第一缓存资源池的已用缓存区中时间戳最远的数据下刷至NAND-flash存储介质。结合本申请实施例,在本申请实施例的第二种可实施方式中,判断所述第一缓存资源池的已用缓存区中是否存在与所述待缓存数据相匹配的历史数据之后,包括:如果所述第一缓存资源池的已用缓存区中存在与所述待缓存数据相匹配的历史数据,将所述待缓存数据缓存至所述第一缓存资源池的已用缓存区,覆盖与所述待缓存数据相匹配的历史数据,同时刷新缓存数据时间戳。结合本申请实施例,在本申请实施例的第三种可实施方式中,如果所述待缓存数据的数据块大于第一阈值,判断所述待缓存数据的数据块大小是否小于或者等于第二阈值之后,包括:如果所述待缓存数据的数据块大于第二阈值,将所述待缓存数据写入NAND-flash存储介质。结合本申请实施例,在本申请实施例的第四种可实施方式中,如果所述待缓存数据的数据块小于或者等于第二阈值,将所述待缓存数据缓存至第二缓存资源池,所述第二缓存资源池的空间配额小于所述第一缓存资源池的空间配额之后,包括:判断所述第二缓存资源池内是否写满一个闪存页;如果所述第二缓存资源池内写满一个闪存页,将所述第二缓存资源池内的数据下刷至NAND-flash存储介质。第一方面,本申请还提供一种固态硬盘数据缓存装置,包括:检测单元,用于检测待缓存数据的数据块大小;第一判断单元,用于判断所述数据块大小是否小于或等于第一阈值;查询单元,用于如果所述数据块小于或等于第一阈值,查询第一缓存资源池;第二判断单元,用于判断所述第一缓存资源池的已用缓存区中是否存在与所述待缓存数据相匹配的历史数据;标记单元,用于如果所述第一缓存资源池内不存在与所述待缓存数据相匹配的历史数据,对所述待缓存数据标记时间戳;第一缓存单元,用于将所述待缓存数据缓存至所述第一缓存资源池的空闲缓存区;第三判断单元,用于如果所述待缓存数据的数据块大于第一阈值,判断所述待缓存数据的数据块大小是否小于或者等于第二阈值;第二缓存单元,用于如果所述待缓存数据的数据块小于或者等于第二阈值,将所述待缓存数据缓存至第二缓存资源池,所述第二缓存资源池的空间配额小于所述第一缓存资源池的空间配额。结合本申请实施,在本申请实施例的第一种可实施方式中,所述装置还包括:第四判断单元,用于判断所述空闲缓存区的缓存资源是否小于预设资源阈值;下刷单元,用于如果所述空闲缓存区的缓存资源小于预设资源阈值,将所述第一缓存资源池的已用缓存区中时间戳最远的数据下刷至NAND-flash存储介质。结合本申请实施,在本申请实施例的第二种可实施方式中,所述装置还包括:第三缓存单元,用于如果所述第一缓存资源池的已用缓存区中存在与所述待缓存数据相匹配的历史数据,将所述待缓存数据缓存至所述第一缓存资源池的已用缓存区,覆盖与所述待缓存数据相匹配的历史数据,同时刷新缓存数据时间戳。结合本申请实施,在本申请实施例的第三种可实施方式中,写入单元,用于如果所述待缓存数据的数据块大于第二阈值,将所述待缓存数据写入NAND-flash存储介质。结合本申请实施,在本申请实施例的第四种可实施方式中,所述装置还包括:第五判断单元,用于判断所述第二缓存资源池内是否写满一个闪存页;第二下刷单元,用于如果所述第二缓存资源池内写满一个闪存页,将所述第二缓存资源池内的数据下刷至NAND-flash存储介质。由以上技术方案可知,本申请实施例提供的一种固态硬盘数据缓存方法及装置,通过将固态硬盘缓存资源划分为第一缓存资源池和第二缓存资源池,其中,第一缓存资源池压和第二缓存资源池的配额大于第二缓存资源池,在缓存数据时,检测待缓存数据的数据块大小,将数据块小于或等于第一阈值的常用特征数据缓存至第一缓存资源池,将数据块大于第一阈值的非常用特征数据缓存至第二缓存资源池,本方法可将有限的缓存资源尽量分给常用特征数据,从而提升常用特征数据的缓存使用率,减少常用特征数据的下刷率,提升其缓存命中率,从而达到提升固态硬盘性能的目的。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请提供的一种固态硬盘数据缓存方法的示意图。图2为本申请提供的一种固态硬盘数据缓存方法第一实施例的流程图。图3为本申请提供的一种固态硬盘数据缓存方法第二实施例的流程图。图4为本申请提供的一种固态硬盘数据缓存方法第三实施例的流程图。图5为本申请提供的一种固态硬盘数据缓存方法第四实施例的流程图。图6为本申本文档来自技高网...
固态硬盘数据缓存方法及装置

【技术保护点】
一种固态硬盘数据缓存方法,其特征在于,包括如下步骤:检测待缓存数据的数据块大小;判断所述数据块大小是否小于或等于第一阈值;如果所述数据块小于或等于第一阈值,查询第一缓存资源池;判断所述第一缓存资源池的已用缓存区中是否存在与所述待缓存数据相匹配的历史数据;如果所述第一缓存资源池内不存在与所述待缓存数据相匹配的历史数据,对所述待缓存数据标记时间戳;将所述待缓存数据缓存至所述第一缓存资源池的空闲缓存区;如果所述待缓存数据的数据块大于第一阈值,判断所述待缓存数据的数据块大小是否小于或者等于第二阈值;如果所述待缓存数据的数据块小于或者等于第二阈值,将所述待缓存数据缓存至第二缓存资源池,所述第二缓存资源池的空间配额小于所述第一缓存资源池的空间配额。

【技术特征摘要】
1.一种固态硬盘数据缓存方法,其特征在于,包括如下步骤:检测待缓存数据的数据块大小;判断所述数据块大小是否小于或等于第一阈值;如果所述数据块小于或等于第一阈值,查询第一缓存资源池;判断所述第一缓存资源池的已用缓存区中是否存在与所述待缓存数据相匹配的历史数据;如果所述第一缓存资源池内不存在与所述待缓存数据相匹配的历史数据,对所述待缓存数据标记时间戳;将所述待缓存数据缓存至所述第一缓存资源池的空闲缓存区;如果所述待缓存数据的数据块大于第一阈值,判断所述待缓存数据的数据块大小是否小于或者等于第二阈值;如果所述待缓存数据的数据块小于或者等于第二阈值,将所述待缓存数据缓存至第二缓存资源池,所述第二缓存资源池的空间配额小于所述第一缓存资源池的空间配额。2.如权利要求1所述的方法,其特征在于,将所述待缓存数据缓存至所述第一缓存资源池的空闲缓存区之后,包括:判断所述空闲缓存区的缓存资源是否小于预设资源阈值;如果所述空闲缓存区的缓存资源小于预设资源阈值,将所述第一缓存资源池的已用缓存区中时间戳最远的数据下刷至NAND-flash存储介质。3.如权利要求1所述的方法,其特征在于,判断所述第一缓存资源池的已用缓存区中是否存在与所述待缓存数据相匹配的历史数据之后,包括:如果所述第一缓存资源池的已用缓存区中存在与所述待缓存数据相匹配的历史数据,将所述待缓存数据缓存至所述第一缓存资源池的已用缓存区,覆盖与所述待缓存数据相匹配的历史数据,同时刷新缓存数据时间戳。4.如权利要求1所述的方法,其特征在于,如果所述待缓存数据的数据块大于第一阈值,判断所述待缓存数据的数据块大小是否小于或者等于第二阈值之后,包括:如果所述待缓存数据的数据块大于第二阈值,将所述待缓存数据写入NAND-flash存储介质。5.如权利要求1所述的方法,其特征在于,如果所述待缓存数据的数据块小于或者等于第二阈值,将所述待缓存数据缓存至第二缓存资源池,所述第二缓存资源池的空间配额小于所述第一缓存资源池的空间配额之后,包括:判断所述第二缓存资源池内是否写满一个闪存页;如果所述第二缓存资源池内写满一个闪存页,...

【专利技术属性】
技术研发人员:杨万云姜黎彭鹏
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

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

1