[发明专利]一种内存数据缓冲方法及装置有效

专利信息
申请号: 201210578615.3 申请日: 2012-12-27
公开(公告)号: CN103076992A 公开(公告)日: 2013-05-01
发明(设计)人: 徐建荣;姚策;陈昊 申请(专利权)人: 杭州华为数字技术有限公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 广州三环专利代理有限公司 44202 代理人: 郝传鑫;熊永强
地址: 310053 浙江省杭州*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 数据 缓冲 方法 装置
【说明书】:

技术领域

发明涉及计算机领域,尤其涉及一种内存数据缓冲方法及装置。

背景技术

现代的高级计算机系统都有多个CPU组成,为了提高CPU的访问数据的速率,降低访存延迟,都会在CPU上实现Cache功能,它的访问速度一般都比直接访问内存快一个数量级以上的。由于每个CPU都会实现一块Cache,因此同一地址的内存会被缓存到不同的CPU Cache上,如果某个CPU对该地址进行写操作,必须使其他CPU中的缓存失效,如果缓存中有脏数据必须回写到内存。为了完成上述功能,现代多处理器计算机在内存总线上实现了缓存一致性协议(Cache Coherence Protocol),比如Intel CPU平台上的QPI总线、AMT CPU平台上的HT总线都实现了缓存一致性协议。常见的典型缓存一致性协议包括Source Snoop和Home Snoop两种类型。为了实现缓存一致性协议,一般在CPU侧实现缓存代理(Cache Agent)功能,在内存侧实现内存代理(Home Agent)功能,两者配合实现缓存一致性协议。Cache Agent主要实现CPU Cache的管理,并且发起对内存的访问功能,并且响应其他请求的侦听请求。Home Agent主要实现多个CA对同一地址的串行化访问和对不同地址的并行化访问。

Home Snoop缓存一致性协议,所有的侦听请求都是由内存代理发送。为了减少侦听发送的数量,一般会在内存中存储一个目录,用于表示该地址内存在各个缓存代理中的状态。当内存代理接收一个缓存代理的请求时,就会从内存中读取该内存数据和对应的目录,如果内存目录表示没有缓存代理拥有该内存数据,内存代理直接把数据发送给请求者缓存代理;如果表示有一个或者多个缓存代理拥有该内存数据,内存会发送侦听到目录表示的缓存代理去,等待所有的侦听响应完毕后发送请求响应给请求者缓存代理。

在CPU中的缓存一般有4种状态,Modefied(脏),Exclusive(独占),Shared(共享),Invalid(无效)。为了满足缓存一致性协议,对于同一地址的M/E状态的缓存数据只能在一个缓存代理存在,这两个状态的数据CPU可以进行直接的读写操作;对于同一地址的S状态,可以处于多个CPU的缓存代理中,但是该数据只能被CPU进行读操作;对于无效状态,表示缓存代理中没有该地址的数据。区别于缓存代理中的缓存状态,在内存目录中记录的状态不会区分M/E,都把这两类状态统一为独占状态,有的设计甚至不会区分M/E/S三个状态,只记录是否在缓存代理中是否包含数据。

现有的Home Snoop协议,为了加速对内存目录的读取,会在内存代理处添加一块缓存(注意:此缓存不是CPU缓存代理的缓存),这样做的好处可以对经常访问的内存目录,快速读取,并且尽早发送侦听到缓存代理,降低侦听响应的延迟。但是,如果目录缓存命中,表示的缓存行的状态为无效状态时,虽然可以不发送侦听请求到其他缓存代理,但是还必须往内存进行数据读取,然后把数据发送给请求者缓存代理,这次内存的读取速度往往很慢,影响整个请求缓存的响应时间。

发明内容

本发明实施例所要解决的技术问题在于,提供一种内存数据缓冲方法装置。可解决现有技术中只对目录信息作优化,当目录缓存命中时,所表示的数据行为无效时,需要从内存中取数据,响应请求的响应时间。

为了解决上述技术问题,本发明第一方面提供了一种内存数据缓冲方法,包括:

在内存代理Home Agent的存储器中开辟至少包括目录缓存和数据缓存的组合缓存区,所述目录缓存中的缓存行和所述数据缓存中的缓存行一一对应;

接收缓存代理Cache Agent发出的操作地址,根据所述操作地址判断所述组合缓存区是否命中且有效,若为是,则直接对所述组合缓存区执行相应的操作。

在第一种可能的实现方式中,所述组合缓存区包括描述信息,所述描述信息包括:对比字段、目录状态信息、数据状态信息和有效标志位;

所述根据所述操作地址判断所述组合缓存区是否命中且有效包括:

根据所述操作地址查询所述组合缓存区中是否存在匹配的对比字段,若存在,则所述组合缓存区命中;和

根据所述组合缓存区中命中的缓存行的有效标志位判断所述命中的缓存行是否有效。

结合第一方面和第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述操作地址为读操作地址,所述直接对所述组合缓存区执行相应的操作包括:

直接向所述缓存代理返回所述命中的缓存行中的目录信息和数据信息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华为数字技术有限公司,未经杭州华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210578615.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top