一种基于DRAM的存储缓存方法和智能终端技术

技术编号:17911867 阅读:32 留言:0更新日期:2018-05-10 17:57
本发明专利技术实施例提供一种基于DRAM的存储缓存方法,应用于智能终端,其特征在于,所述方法包括:捕获上层应用下发的IO;根据配置策略,判断所述IO是否为待缓存的IO类型;当所述IO的为预先指定的待缓存的IO类型时,根据IO的读写类型和预设的缓存策略在DRAM Disk对所述IO进行相应的缓存操作;其中所述DRAM Disk是通过预先预留的操作系统的一部分DRAM空间创建的块设备。

【技术实现步骤摘要】
一种基于DRAM的存储缓存方法和智能终端
本专利技术涉及存储领域,特别涉及一种基于DRAM的存储缓存方法和智能终端。
技术介绍
智能终端产品目前主要采用类似SSD(SolidStateDrives,固态硬盘)的eMMC作为存储介质,这种flash介质优点是相比传统的存储介质,拥有更好的随机读写性能,更低的功耗,更高的存储密度。不过flash类存储介质也有明显的缺点,比如随机小尺寸IO的性能还是远远低于大尺寸的顺序IO,存储介质的写次数有限制,写的次数直接影响到存储设备的寿命。现在业内为了均衡的写存储介质,一般采用的是追加写的方式,这种方式下容易使存储介质出现大量的空间碎片,而空间碎片较多的情况下会导致访问一个文件产生更多的IO,图1是存储空间碎片化前后的IO写和IO重写的性能测试数据,可以看到,碎片化后IO性能急剧的衰减,因为存储空间严重碎片化后,IO写会因为空间的碎片化,而拆封成多个IO,导致下发底层块设备的IO数量增加,每个IO的尺寸变小。而小尺寸的IO,在IO传输的完整路径上存在相比大尺寸IO有更多的非IO数据的额外开销(如IO命令的个数),而这些会导致IO性能发生急剧的衰减。
技术实现思路
本专利技术实施例提供一种基于DRAM的存储缓存方法和智能终端,提高IO性能。本专利技术一方面提供一种基于DRAM的存储缓存方法,应用于智能终端,所述方法包括:捕获上层应用下发的IO;根据配置策略,判断所述IO是否为待缓存的IO类型;当所述IO的为预先指定的待缓存的IO类型时,根据IO的读写类型和预设的缓存策略在DRAMDisk对所述IO进行相应的缓存操作;其中所述DRAMDisk是通过预先预留的操作系统的一部分DRAM空间创建的块设备。一种可能的实现方式中,所述根据配置策略,判断所述IO是否为预先指定的待缓存的IO类型,包括:判断所述IO的大小和预设阈值的大小关系;当所述IO的大小小于所述预设阈值时,判断所述IO为待缓存的IO类型。一种可能的实现方式中,所述根据配置策略,判断所述IO是否为预先指定的待缓存的IO类型,具体包括:判断所述IO的类型是否为用户预先指定的IO类型;当所述IO的类型为为用户预先指定的IO类型时,判断所述IO为待缓存的IO类型,其中用户预先指定的IO类型为热数据IO或者随机IO。一种可能的实现方式中,DRAMDisk是通过预先预留的DRAM创建的块设备,在一个实施例中通过底层firmware对该DRAM区域进行屏蔽,使OS对该DRAM不可见来避免该DRAM被操作系统分配给其他模块使用;在一个实施例中,也可以在底层firmware给OS上报系统全局内存信息时,将该DRAM区域设置为预留来避免分配给其他模块;一种可能的实现方式中,这段预留的DRAM可以是连续空间;在另一个实施例中,这段预留的DRAM也可以是不连续空间;一种可能的实现方式中,所述根据IO的读写类型和预设的缓存策略在DRAMDisk对所述IO进行相应的缓存操作,包括:判断所述IO的的读写类型;当所述IO为写IO时,所述写IO缓存在所述DRAMDisk中;当所述IO为读IO时,将所述读IO操作的数据读入所述DRAMDisk中进行缓存。一种可能的实现方式中,所述方法还包括:当DRAMDisk的空间不足时,根据预定的策略选择将脏数据刷写回底层设备。一种可能的实现方式中,所述方法还包括:当所述智能终端进行普通关机时,关机前将所述DRAMDisk中缓存的所有脏数据刷回底层设备,关闭缓存或者将缓存策略设置为WriteThough;一种可能的实现方式中,所述方法还包括:当所述智能终端进行强制关机或者重启,在强制关机或者重启的开始时,回刷脏数据,关闭缓存或者将缓存策略设置为WriteThough。另一方面本专利技术实施例提供一种装有DRAM的终端,所述终端包括:捕获模块,用于捕获上层应用下发的IO;判断模块,用于根据配置策略,判断所述捕获模块捕获的IO是否为待缓存的IO类型;缓存操作模块,当所述捕获模块捕获的IO的为待缓存的IO类型时,根据所述IO的读写类型和预设的缓存策略在DRAMDisk对所述IO进行相应的缓存操作;其中,所述DRAMDisk是通过预先预留的所述终端的操作系统的一部分DRAM空间创建的块设备。一种可能的实现方式中,判断模块包括:第一判断单元,用于判断所述捕获模块捕获的IO的大小和所述预设阈值的大小关系;确定单元,用于当所述第一判断单元判断出IO的大小小于所述预设阈值时,确定所述IO为待缓存的IO类型。一种可能的实现方式中,判断模块包括:第一判断单元,用于判断所述IO的类型是否为用户预先指定的IO类型;确定单元,用于当所述第一判断单元判断出IO的类型为为用户预先指定的IO类型时,判断所述IO为待缓存的IO类型,其中用户预先指定的IO类型为热数据IO或者随机IO。一种可能的实现方式,缓存操作模块包括:第二判断单元,用于当第一判断单元判断上述IO的大小小于预设阈值或者所述IO的类型为为用户预先指定的IO类型时时,判断上述IO的读写类型;缓存单元,用于在第二判断单元判断IO为写IO时,将上述写IO缓存到所述DRAMDisk中;或者用于在第二判断单元判断所述IO为读IO时,从终端的底层存储设备读取所述读IO所操作的数据,并缓存到所述DRAMDisk中。本专利技术实施例提供了一种基于DRAM动态随机访问存储器的存储缓存技术,基于现有的DRAM内存和块存储设备,提高了终端设备上小尺寸随机IO的性能,同时本专利技术实施例技术也能有效缓解因为大量随机IO和rewrite操作导致的存储空间碎片化的问题,而且本专利技术技术可以对IO进行区分缓存,到性能提升。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1:本专利技术实施例给出一种图1是存储空间碎片化前后的IO写和IO重写的性能测试数据图;图2:本专利技术实施例给出一种存储系统的基本技术框架意图;图3:本专利技术实施例给出一种基于DRAM的存储缓存方法的初始化场景示意图;图4:本专利技术实施例给出一种基于DRAM的存储缓存方法流程图;图5:本专利技术实施例给出一种基于DRAM的存储缓存方法的写IO流程图;图6:本专利技术实施例给出一种基于DRAM的存储缓存方法的写IO流程图;图7:本专利技术实施例给出一种基于DRAM的存储缓存方法的写IO流程图;图8:本专利技术实施例给出一种基于DRAM的存储缓存方法的读IO流程图;图9:本专利技术实施例给出一种基于DRAM的存储缓存方法的读写IO流程图;图10:本专利技术实施例给出一种应用场景的示意图;图11:本专利技术实施例给出一种应用场景的示意图;图12:本专利技术实施例提供一种装有DRAM的终端结构示意图;图13:本专利技术实施例给出一种本专利技术实施例提供一种装有DRAM的终端结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提本文档来自技高网...
一种基于DRAM的存储缓存方法和智能终端

【技术保护点】
一种基于DRAM的存储缓存方法,应用于智能终端,其特征在于,所述方法包括:捕获上层应用下发的IO;根据配置策略,判断所述IO是否为待缓存的IO类型;当所述IO的为预先指定的待缓存的IO类型时,根据IO的读写类型和预设的缓存策略在DRAM Disk对所述IO进行相应的缓存操作;其中所述DRAM Disk是通过预先预留的操作系统的一部分DRAM空间创建的块设备。

【技术特征摘要】
1.一种基于DRAM的存储缓存方法,应用于智能终端,其特征在于,所述方法包括:捕获上层应用下发的IO;根据配置策略,判断所述IO是否为待缓存的IO类型;当所述IO的为预先指定的待缓存的IO类型时,根据IO的读写类型和预设的缓存策略在DRAMDisk对所述IO进行相应的缓存操作;其中所述DRAMDisk是通过预先预留的操作系统的一部分DRAM空间创建的块设备。2.如权利要求1所述的缓存方法,其特征在于,所述根据配置策略,判断所述IO是否为预先指定的待缓存的IO类型,包括:判断所述IO的大小和预设阈值的大小关系;当所述IO的大小小于所述预设阈值时,判断所述IO为待缓存的IO类型。3.如权利要求1所述的缓存方法,其特征在于,所述根据配置策略,判断所述IO是否为预先指定的待缓存的IO类型,具体包括:判断所述IO的类型是否为用户预先指定的IO类型;当所述IO的类型为为用户预先指定的IO类型时,判断所述IO为待缓存的IO类型,其中用户预先指定的IO类型为热数据IO或者随机IO。4.如权利要求1-3任一项所述的缓存方法,其特征在于,所述根据IO的读写类型和预设的缓存策略在DRAMDisk对所述IO进行相应的缓存操作,包括:判断所述IO的的读写类型;当所述IO为写IO时,所述写IO缓存在所述DRAMDisk中;当所述IO为读IO时,将所述读IO操作的数据读入所述DRAMDisk中进行缓存。5.如如权利要求1-3任一项所述的缓存方法,其特征在于,所述方法还包括:当DRAMDisk的空间不足时,根据预定的策略选择将脏数据刷写回底层设备。6.如权利要求1-5任一项所述的缓存方法,其特征在于,所述方法还包括:当所述智能终端进行普通关机时,关机前将所述DRAMDisk中缓存的所有脏数据刷回底层设备,关闭缓存或者将缓存策略设置为WriteThough...

【专利技术属性】
技术研发人员:缪勰王一静
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1