[发明专利]一种缓存数据的方法及存储设备有效
申请号: | 201410258859.2 | 申请日: | 2014-06-11 |
公开(公告)号: | CN104035888B | 公开(公告)日: | 2017-08-04 |
发明(设计)人: | 兰可嘉;程永波;贺成洪 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/0831 | 分类号: | G06F12/0831 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据 方法 存储 设备 | ||
技术领域
本发明实施例涉及电子技术领域,尤其涉及一种缓存数据的方法及存储设备。
背景技术
在多处理器系统中,每个处理器都有一或两级缓存,同一个数据的多个副本可能同时存于不同的缓存中。若处理器自由地修改它们的本地副本,则会导致对于同一数据不同的处理器在不同的缓存中观察到的结果不一致。另外IO(Input Output,输入输出)对主存的修改也可能引起不一致性问题。为了解决缓存一致性问题,引入了MESI(Modified、Exclusive、Shared、Invalid,修改、排除、共享、废弃)协议。
MESI协议中缓存的每行数据有四种状态:
M(modified)修改态:此行已被修改(不同于主存)并在这个缓存中可用;
E(exclusive)专有态:此行与主存相同,但不同于其他缓存;
S(shared)共享态:此行与主存相同,并可能出现在其他的缓存中;
I(invalid)无效态:此行不含有效数据。
在一致性系统中主要包含了源代理CA和目标代理HA两种代理,CA代理了缓存和IO,往HA发起请求处理响应,每一条缓存行都有一个Home,当没有缓存拥有该缓存行时,该缓存行的数据都在HA管理的存储器中。Home监听模式下HA上管理了缓存行对应的目录,所有CA发起的请求都发往HA,HA根据目录对其他CA进行监听并响应请求者CA。CA和HA都是管理缓存一致性的模块,可以用软件或硬件实现。
CA发起的请求类型包括:
READE:请求E态数据;
READS:请求共享态数据;
WBI:CA往HA发起的回写请求,回写后CA处于I态。
HA发起的监听类型包括:
SNPE:侦听CA,被侦听后CA处于I态;
SNPS:侦听CA,被侦听后CA处于I或S态。
CA侦听响应类型包括:
RSPI:CA返回侦听响应给HA,CA被侦听后处于I态;
RSPS:CA返回侦听响应给HA,CA被侦听后处于S态;
RSPIWB:CA返回带数据回写的侦听响应,CA被侦听后处于I态。
HA返回给请求者CA的请求响应类型包括:
DATAE:HA给请求者CA返回E态数据响应;
DATAS:HA给请求者CA返回S态数据响应。
下面举一个实际的例子说明缓存一致性冲突的产生过程,请参阅图11,当CA0与CA1向HA发起了对同一数据的独占请求时,HA先处理CA0的请求,向CA1发送侦听请求SNPE,待CA1返回响应帧RSPI后,HA向CA0返回的E态数据DATAE,然后处理CA1的请求,向CA0发送侦听请求SNPE,若返回的E态数据DATAE传输有时延,侦听请求SNPE在E态数据DATAE之前到达了CA0(此时CA0中的数据为无效态),则在CA0给HA返回响应帧RSPI之后,HA也向CA1发送E态数据DATAE,此时E态数据同时存在于两个CA中,CA0和CA1都认为在系统中只有自己独占了数据,所以可以对获取的数据进行修改(E→M),这样就会导致两个CA中保存的数据不一致,产生冲突。
为解决冲突,目前通常采用如下两种方法进行处理:
第一种:请参阅图12,CA0与CA1向HA发起了对同一数据的独占请求时,HA先处理CA0的请求,向CA1发送侦听请求SNPE,待CA1返回响应帧RSPI后,HA向CA0返回的E态数据DATAE,然后再处理CA1的请求,向CA0发送侦听请求SNPE,CA0接收到侦听请求SNPE后,将自身接收到的数据无效掉,然后向HA返回响应帧RSPI,HA接收到响应帧RSPI后向CA1返回E态数据DATAE。在整个处理的过程中,HA必须保证CA0先接收到E态数据DATAE,后接收到侦听请求SNPE,最终整个系统中只有CA1中保存的数据处于独占态。
第二种:请参阅图13,同样CA0与CA1向HA发起了对同一数据的独占请求,HA先处理CA0的请求,向CA0返回E态数据DATAE,然后需要等到接收到CA0发送的确认帧ACK之后,HA才开始处理CA1的请求,同样,CA1接收到HA返回的E态数据DATAE之后,也需要向HA返回确认帧ACK。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410258859.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置