[发明专利]基于AXI总线的数据一致性保护方法及其系统有效
| 申请号: | 201110448868.4 | 申请日: | 2011-12-28 |
| 公开(公告)号: | CN103186492A | 公开(公告)日: | 2013-07-03 |
| 发明(设计)人: | 宋捷 | 申请(专利权)人: | 联芯科技有限公司 |
| 主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F12/02 |
| 代理公司: | 上海晨皓知识产权代理事务所(普通合伙) 31260 | 代理人: | 卢刚 |
| 地址: | 201206 上*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 axi 总线 数据一致性 保护 方法 及其 系统 | ||
技术领域
本发明涉及系统中的数据保护,特别涉及基于AXI总线系统中的数据一致性保护技术。
背景技术
DMA(Direct Memory Access,直接内存存取)是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依赖于处理器的大量中断负载。也就是说,DMA控制器的写操作将直接更新主存储器中的数据,而不会更新系统中处理器内的缓存(Cache)中相应的内容,如果该数据已经更新在缓存中,则缓存中的数据将会比主存储器中对应的数据“旧”,即将造成数据不一致。
为避免这种数据不一致的问题,目前采用软件方法规避。举个最常见的例子,在基于AXI(Advanced eXtensible Interface,加强的扩展接口)总线的系统中,主存储器中A地址数据搬移至地址B,软件规避步骤如下(如图1所示):
(1)把缓存中地址A的数据更新到主存储器的A地址中;
(2)把缓存中地址B的数据更新到主存储器的B地址中,然后无效掉(Invalid)缓存地址B;
(3)启动DMA把地址A中数据搬移到地址B;
(4)处理器(如ARM处理器)获取地址B数据时重新从主存储器中载入。
然而,本发明的发明人发现,目前的软件规避方法在特定条件下仍然仍旧存在缓存和主存储器中的数据可能不一致的隐患。
具体地说,处理器从操作系统中申请的地址B并不一定总是与该处理器的Cache Line(刷新单位)对齐,如ARM9/ARM11的Cache Line是32B,而ARM从操作系统中申请的地址B并不一定总是32B对齐(因动态地址分配),如图2所示。虽然软件流程能保证在DMA搬移过程中不访问搬移地址B,但可能会访问包含B的32B不对齐多出来的头和尾。例如:DMA控制器在搬移了D0’、D1’数据后,处理器访问Star(不对齐多出来的头),将直接把Da~star共32B数据载入Cache,DMA在搬移中将把Da~D2更新为Da’~D2’,此时将造成Cache和主存储器数据不一致,因此可能会导致系统异常。
在DMA搬移频繁的系统中,随时可能发生上述缓存和主存储器数据不一致的问题,以致于发生系统异常。而且,传统方法中由软件保证在搬移过程中不能访问DMA搬移地址空间,但在实际运行中难以保证是否存在DMA搬移过程中访问了DMA搬移地址空间这样的异常操作,而一旦发生错误很难定位。
发明内容
本发明的目的在于提供一种基于AXI总线的数据一致性保护方法及其系统,使得在基于AXI总线的系统中,能有效防止处理器缓存中的数据与主存储器中对应的数据不一致的问题发生,从而增强了数据安全性。
为解决上述技术问题,本发明的实施方式提供了一种基于AXI总线的数据一致性保护方法,包含以下步骤:
在直接内存存取DMA控制器对主存储器中的数据进行更新的过程中,屏蔽处理器对更新数据所在的目标地址空间进行的写操作;
在所述DMA控制器完成所述更新后,将所述处理器的缓存中的数据刷新到所述主存储器,在将所述缓存中的数据刷新到所述主存储器的过程中,继续屏蔽所述处理器对所述目标地址空间的写操作;
将所述缓存中的数据设置为无效;
在所述缓存中的数据被设置为无效后,结束所述处理器对所述目标地址空间的写操作的屏蔽。
本发明的实施方式还提供了一种基于AXI总线的系统,包含:
DMA控制器,用于对主存储器中的数据进行更新;
处理器,用于对所述主存储器中的地址进行读写操作,并在所述DMA控制器完成所述更新后,将所述处理器的缓存中的数据刷新到所述主存储器,并在所述处理器将缓存中的数据刷新到所述主存储器后,将所述缓存中的数据设置为无效;
数据保护模块,用于在使能状态下屏蔽处理器对目标地址空间进行的写操作,其中,在所述DMA控制器对主存储器中的数据进行更新的过程中和所述缓存中的数据刷新到所述主存储器的过程中,所述数据保护模块处于所述使能状态,在所述处理器将所述缓存中的数据设置为无效后,所述数据保护模块处于去使能状态;所述目标地址空间为所述DMA控制器进行所述更新的更新数据所在的地址空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联芯科技有限公司,未经联芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110448868.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文档格式转换的方法及装置
- 下一篇:一种验证软件升级准确性的方法和装置





