本发明专利技术提供了一种数据缓存方法及装置,应用于控制器中,所述控制器和存储设1备连接,控制器包括一级缓存,所述存储设备包括二级缓与存储器,所述二级缓存用于中继所述一级缓存与所述存储器之间交互的数据,方法包括:查询二级缓存的命中率,如果低于扩容阈值,从所述存储器中获取存储空间给所述二级缓存使用。本发明专利技术可以提高二级缓存的命中率。
【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本专利技术提供了一种数据缓存方法及装置,应用于控制器中,所述控制器和存储设1备连接,控制器包括一级缓存,所述存储设备包括二级缓与存储器,所述二级缓存用于中继所述一级缓存与所述存储器之间交互的数据,方法包括:查询二级缓存的命中率,如果低于扩容阈值,从所述存储器中获取存储空间给所述二级缓存使用。本专利技术可以提高二级缓存的命中率。【专利说明】一种数据缓存方法、装置及系统
本专利技术涉及IT领域,特别涉及一种存储技术。
技术介绍
在存储领域中,磁盘等存储介质虽然可以提供大量的存储空间,但数据的读/写(Input/Output, I/O)的速度往往不高。为了提高数据的读/写速度,会使用缓存(Cache)来暂存数据。主机读数据时,数据先从磁盘读取到控制器的缓存中,再发给主机;主机往磁盘写数据时,先把数据发送给缓存,再从缓存把数据写入主机中。控制器中,常见的作为缓存的存储介质例如同步动态随机存储设备(SynchixmousDynamic Random Access Memory, SDRAM),往往成本较高,因此厂商为存储系统提供的SDRAM存储空间有限。为了节约成本,部分厂商使用了多级缓存技术,把原来的SDRAM作为一级缓存,在SDRAM之外增加相对廉价的闪存(Flash Memory)介质例如固态硬盘(Solidstate disk, SSD)作为第二级的缓存,称为 SSD Cache (SSD 缓存)。SSD Cache 位于 SDRAM和磁盘之间,当SDRAM的空间不够用时,把SDRAM中的数据转发到SSD Cache中,然后由SSDCache把数据写入磁盘。然而,由于SSD的成本仍然比磁盘等介质更高,因此二级缓存的空间仍然是有限的。当短时间内出现有大量的数据读/写操作时,SSD的存储空间无法满足需求,造成SSD和SDRAM之间会出现数据阻塞。以至于对部分读/写请求所对应的数据而言,存储系统不得不绕过SSD Cache,直接在SDRAM和磁盘之间进行传递。这种绕开二级缓存SSD的做法也称为SSD没有命中,由于磁盘的读/写速度比SDRAM、SSD都低,SSD命中率越低,对存储系统整体效率的影响越明显。如何提高二级缓存的命中率,是需要解决的问题。
技术实现思路
本专利技术提供一种数据缓存技术,可以提高二级缓存的命中率。第一方面,本专利技术提供一种数据缓存方法,应用于控制器中,所述控制器和存储设备连接,控制器包括一级缓存,所述存储设备包括二级缓与存储器,所述二级缓存用于存储一级缓存发往存储器的数据,所述方法包括:查询所述二级缓存对读请求的命中率;判断命中率是否低于扩容阈值,如果低于所述扩容阈值,从所述存储器中获取存储空间给所述二级缓存使用,其中,从所述存储器中获取的存储空间是新增存储空间;使用所述二级缓存中新增存储空间,缓存所述一级缓发送的存储数据。第二方面,本专利技术提供一种数据缓存装置,用于对存储设备的存储空间进行管理,存储设备包括二级缓存与存储器,该装置包括:命中率查询模块,用于查询二级缓存对读请求的命中率,所述二级缓存用于缓存一级缓存发送的数据;扩容模块,用于判断命中率是否低于扩容阈值,如果低于所述扩容阈值,从所述存储器中获取存储空间给所述二级缓存使用,其中,从所述存储器中获取的存储空间是新增存储空间;缓存模块,用于使用所述新增存储空间,缓存所述一级缓存发往所述存储器发送的存储数据。本专利技术用存储器的存储空间对二级缓存扩容,提高了二级缓存的命中率。【专利附图】【附图说明】为了更清楚地说明本专利技术实施例技术方案,下面将对实施例所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本专利技术的一些实施例,还可以根据这些附图获得其他的附图。图1是本专利技术实施例结构图;图2是本专利技术一种数据缓存方法的实施例流程图;图3是本专利技术一种数据缓存装置实施例的结构图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术存储系统由控制器和存储设备组成。存储设备提供存储空间,控制器对存储设备提供管理,并对主机提供读/写访问,对主机而言,存储设备可以是不可见的。存储设备和控制器在物理上可以是分开的两个设备;也可以集成在一个设备内,二者集成在一个设备时可以称为存储服务器。控制器包括处理器和缓存,本专利技术实施例中把控制器中的缓存称为一级缓存。存储设备由缓存和多个存储器组成,本专利技术实施例把存储设备提供的缓存称为二级缓存。控制器发往存储设备的数据,先存入一级缓存,存入一级缓存以后。一级缓存中的数据可以根据数据的冷热程度,周期性的把相对冷的数据转移到二级缓存。二级缓存中的数据,周期性的把相对冷的数据转移到存储器中。把上一级存储器件中相对较冷的数据转移到下一级存储器件的过程,也称为淘汰。此外,控制器可以在数据写入一级缓存后,发送写入完成的响应消息给主机,告诉主机已经完成写入操作;也可以在数据写入存储器后,发送写入完成的响应消息给主机,告诉主机已经完成写入操作。一级缓存和二级缓存可以是同一种存储介质,也可以不同。当采用不同介质时,一级缓存读/写速度可以比二级缓存更快,成本也更高,例如一级缓存是SDRAM,而二级缓存31是SSD。一级缓存和二级缓存使用的存储介质本身,可以是易失性存储RAM (RandomAccess Memory),也可以是非易失性存储。但是对控制器而言,把他们作为易失性存储使用,一级缓存和二级缓存中的存储的数据都可以通过老化算法进行淘汰,例如使用冷热数据的识别方法进行淘汰,以提高它们的利用率。本专利技术实施例中,一级缓存可以再次细分为多个不同的小级别,可以每个级别采用不同的存储介质,小级别存储介质之间串联,并通过淘汰算法进行数据传递。由于缓存的读写速度总体比存储器更高。因此在接收到主机的读数据时,控制器优先从一级缓存、一级缓存中获取读请求数据,如果没有找到,再到存储器中获取读请求数据。在某一个介质中找到读请求数据称为命中,在一定数量的读请求中,某个介质被命中的比例,称为这个介质的命中率,命中率用于记录从二级缓存中读取待数据时,成功读取的数量或者比例。具体而言,如果一级缓存被命中,也就是说一级缓存中存在读请求数据,则一级缓存把读请求数据发送给主机;如果二级缓存被命中,则读请求数据从二级缓存发给一级缓存,然后从一级缓存发送给主机;如果存储器被命中,则,则读请求数据从存储器发给一级缓存,然后从一级缓存发送给主机。出于成本的考虑,二级缓存SSD的存储空间是有限的,当短期有大量读请求时,往往会导致二级缓存命中率降低。虽然可以通过增加二级缓存的总容量来部分的解决这个问题,然而这种提高总容量后,会引起二级缓存的总利用率降低,这与降低二级缓存的成本这一目标是背道而驰的。此外,存储设备在出厂时其内部已经安装二级缓存、存储器等各个部件,用户想要增加额外的缓存,可能存储设备内部已经没有足够的空间安装。即使有空间,这个安装额外缓存的过程也比较复杂,普通用户难以实施。本专利技术实施例中,符号“/”是“或”的意思。本专利技术实施例可以临时增加二级缓存的存储空间,满足突发性需求,而且实施方便,对成本文档来自技高网...
【技术保护点】
一种数据缓存方法,应用于控制器中,所述控制器和存储设备连接,其特征在于,控制器包括一级缓存,所述存储设备包括二级缓与存储器,所述二级缓存用于存储一级缓存发往存储器的数据,所述方法包括:查询所述二级缓存对读请求的命中率;判断命中率是否低于扩容阈值,如果低于所述扩容阈值,从所述存储器中获取存储空间给所述二级缓存使用,其中,从所述存储器中获取的存储空间是新增存储空间;使用所述二级缓存中新增存储空间,缓存所述一级缓发送的存储数据。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:林宇,王宇,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。