数据缓存方法、缓存和计算机系统技术方案

技术编号:12399501 阅读:79 留言:0更新日期:2015-11-26 04:42
本发明专利技术实施例提供一种数据缓存方法、缓存和计算机系统。本发明专利技术实施例中,Cache在访问请求不命中需要确定待替换的Cache line时,不仅需要考虑Cache line的历史访问频率,还要考虑Cache line对应的内存类型,从而可以优先替换与DRAM内存类型对应的Cache line,减少Cache对存储于DRAM的数据的缓存量,从而使得Cache能够提高对存储于NVM中的数据的缓存量,使得针对存储于NVM中的数据的访问请求尽可能的在Cache中能够找到相应的数据,从而减少了从NVM中读取数据的情形,减少了从NVM中读取数据的延迟,有效的提高访问效率。

【技术实现步骤摘要】

本专利技术实施例涉及存储技术,尤其涉及一种数据缓存方法、缓存和计算机系统
技术介绍
目前越来越多的应用以数据为中心,例如互联网应用、大数据应用等。这些应用需 要强大的存储支持。 在现有技术中,通常采用的动态随机访问存储器(Dynamic Random-Access Memory,以下简称:DRAM)作为计算机系统。然而,受工艺的限制,DRAM的容量较小且能 耗较大,很难满足应用对大容量低能耗的要求。今年来,非易失性存储器(Non-Volatile Memory,以下简称:NVM)被广泛采用,其具有存储量大、能耗低的优势,采用NVM取代DRAM 作为计算机系统,能够满足应用对大容量低能耗的需求。但是与DRAM相比,NVM的读写延 迟较长。正是由于DRAM和NVM各有利弊,现有技术进一步采用DRAM和NVM组成的混合内 存,以期望为应用提供大容量、低能耗、高性能的内存。
技术实现思路
本专利技术实施例提供一种数据缓存方法、缓存和计算机系统。 第一方面,本专利技术实施例提供一种数据缓存方法,所述方法由缓存Cache执行,包 括: 接收CPU发送的数据访问请求,所述数据访问请求中包含访问地址; 根据所述访问地址判断待访问数据是否缓存在所述Cache中; 在确定所述待访问数据没有缓存在所述Cache中的情况下,根据所述Cache中的 缓存线Cache line的历史访问频率以及Cache line对应的内存的类型,判断所述Cache 中是否存在满足第一预设条件的Cache line,其中,所述满足第一预设条件的Cache line 包括历史访问频率低于预设频率且与动态随机访问存储器DRAM类型的内存对应的Cache line,所述内存包括DRAM类型的内存和非易失性存储器NVM类型的内存; 在确定所述Cache中存在满足第一预设条件的Cache line的情况下,在满足第一 预设条件的Cache line中选择待替换的第一 Cache line; 根据所述访问地址从所述内存中读取所述待访问数据; 采用第二Cache line替换所述第一 Cache line,所述第二Cache line包含所述 访问地址和所述待访问数据; 所述Cache向所述CPU发送所述待访问数据。 第二方面,本专利技术实施例提供一种缓存Cache,包括: 接收模块,用于接收CPU发送的数据访问请求,所述数据访问请求中包含访问地址; 命中确定模块,用于根据所述访问地址判断待访问数据是否缓存在所述Cache 中; 替换确定模块,用于在确定所述待访问数据没有缓存在所述Cache中的情况下, 根据所述Cache中的缓存线Cache line的历史访问频率以及Cache line对应的内存的类 型,判断所述Cache中是否存在满足第一预设条件的Cache line,其中,所述满足第一预设 条件的Cache line包括历史访问频率低于预设频率且与动态随机访问存储器DRAM类型的 内存对应的Cache line,所述内存包括DRAM类型的内存和非易失性存储器NVM类型的内 存;在确定所述Cache中存在满足第一预设条件的Cache line的情况下,在满足第一预设 条件的Cache line中选择待替换的第一 Cache line ; 读取模块,用于根据所述访问地址从所述内存中读取所述待访问数据; 替换模块,用于米用第二Cache line替换所述第一 Cache line,所述第二Cache line包含所述访问地址和所述待访问数据; 发送模块,用于向所述CPU发送所述待访问数据。 第三方面,本专利技术实施例提供一种计算机系统,包括:处理器、混合内存和如前述 第二方面所述的缓存Cache,所述混合内存包括DRAM和NVM,所述处理器、所述混合内存与 所述缓存Cache通过总线连接。 本专利技术实施例中,Cache在访问请求不命中需要确定待替换的Cache line时,不 仅需要考虑Cache line的历史访问频率,还要考虑Cache line对应的内存类型,从而可以 优先替换与DRAM内存类型对应的Cache line,减少Cache对存储于DRAM的数据的缓存量, 从而使得Cache能够提高对存储于NVM中的数据的缓存量,使得针对存储于NVM中的数据 的访问请求尽可能的在Cache中能够找到相应的数据,从而减少到NVM中读取数据的情形, 从而减少了从NVM中读取数据的延迟,有效的提1?访问效率。【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。 图1为本专利技术实施例提供的一种计算机系统的架构图; 图2为本专利技术实施例提供的一种数据缓存方法的流程图; 图3为本专利技术实施例提供的一种缓存的结构示意图。【具体实施方式】 为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例 中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。 图1为本专利技术实施例提供的一种计算机系统的架构图,如图1所示,该计算机系统 包括:处理器(Processor)Il和混合内存(Hybrid Memory) 12,其中,Processorll可以包括 CPU111、缓存(Cache) 112 以及存储控制器(Memory controller) 113,Hybrid Memoryl2可以包 括 DRAM121 和 NVM122,Processorll、Hybrid Memoryl2 以及缓存(Cache) 112 通过总线连接。 Hybrid Memoryl2 与 Memory controllerll3 之间可以通过内存总线(Memory Bus) 13 连接。 在进行数据访问时,CPU可以向Cache发出数据访问请求,该数据访问请求中包含 访问地址。Cache中缓存了 Hybrid Memory中的部分数据以提高响应速度。因此,Cache首 先根据访问地址确定CPU请求访问的数据是否缓存在Cache中,换一种表达方式,Cache首 先根据访问地址判断是否能够Cache中命中所述请求访问的数据。当Cache命中时,即在 确定所述待访问数据缓存在所述Cache中的情况下,Cache可以直接向CPU返回其请求访 问的数据,当Cache没有命中时,即在确定所述待访问数据没有缓存在所述Cache中的情况 下,该数据访问请求将会通过Memory controller发往Hybrid Memory,以从Hybrid Memory 中读取CPU请求访问的数据。 由于Cache的缓存空间一般较小,因此,Cache在数据访问过程中,需要根据访 问情况不断更新其缓存内容,以满足不断变化的访问需求。具体来说,当本次数据访问在 Cache中命中时,则不进行缓存线(Cache li本文档来自技高网...
数据缓存方法、缓存和计算机系统

【技术保护点】
一种数据缓存方法,所述方法由缓存Cache执行,其特征在于,包括:接收CPU发送的数据访问请求,所述数据访问请求中包含访问地址;根据所述访问地址判断待访问数据是否缓存在所述Cache中;在确定所述待访问数据没有缓存在所述Cache中的情况下,根据所述Cache中的缓存线Cache line的历史访问频率以及Cache line对应的内存的类型,判断所述Cache中是否存在满足第一预设条件的Cache line,其中,所述满足第一预设条件的Cache line包括历史访问频率低于预设频率且与动态随机访问存储器DRAM类型的内存对应的Cache line,所述内存包括DRAM类型的内存和非易失性存储器NVM类型的内存;在确定所述Cache中存在满足第一预设条件的Cache line的情况下,在满足第一预设条件的Cache line中选择待替换的第一Cache line;根据所述访问地址从所述内存中读取所述待访问数据;采用第二Cache line替换所述第一Cache line,所述第二Cache line包含所述访问地址和所述待访问数据;所述Cache向所述CPU发送所述待访问数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:魏巍张立新熊劲蒋德钧
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1