[发明专利]一种外存储器的直接内存储器访问方法和装置有效
| 申请号: | 202010819404.9 | 申请日: | 2020-08-14 |
| 公开(公告)号: | CN111966608B | 公开(公告)日: | 2023-06-06 |
| 发明(设计)人: | 赵帅 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F12/0868 | 分类号: | G06F12/0868;G06F12/0871;G06F12/0873;G06F13/28 |
| 代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛;宋薇薇 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 外存 直接 内存储器 访问 方法 装置 | ||
1.一种外存储器的直接内存储器访问方法,其特征在于,包括执行以下步骤:
在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成所述输入缓冲区和所述输出缓冲区的物理地址;
响应于感知到外存储器尝试写入数据,而由相应进程基于所述物理地址将所述数据写入所述输入缓冲区,并执行内存屏障指令以将所述数据从所述输入缓冲区更新到内存储器;
响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将所述数据从所述输出缓冲区移除;
在执行失效缓存指令将所述数据从所述输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的所述数据;
在获取更新过的所述数据后,还由进程基于所述物理地址从所述输出缓冲区获取所述数据。
2.根据权利要求1所述的方法,其特征在于,所述输入缓冲区和所述输出缓冲区各自具有连续的所述物理地址,并且所述输入缓冲区和所述输出缓冲区的大小和起始地址均以与直接内存储器访问相适应的方式基于缓存线而对齐。
3.根据权利要求1所述的方法,其特征在于,由相应进程基于所述物理地址将所述数据写入所述输入缓冲区包括:使用文件内存映射方法将所述物理地址映射到所述进程的地址空间以建立链接,并基于所述链接将所述数据写入所述输入缓冲区。
4.根据权利要求3所述的方法,其特征在于,所述输入缓冲区和所述输出缓冲区以不经过缓存的方式映射到所述进程的地址空间。
5.根据权利要求3所述的方法,其特征在于,将所述物理地址映射到所述进程的地址空间包括:分别将所述输入缓冲区的每个页的起始物理地址和结束物理地址映射到所述进程的地址空间。
6. 一种外存储器的直接内存储器访问装置,其特征在于,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,所述程序代码在被运行时依次执行以下步骤:
在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成所述输入缓冲区和所述输出缓冲区的物理地址;
响应于感知到外存储器尝试写入数据,而由相应进程基于所述物理地址将所述数据写入所述输入缓冲区,并执行内存屏障指令以将所述数据从所述输入缓冲区更新到内存储器;
响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将所述数据从所述输出缓冲区移除;
在执行失效缓存指令将所述数据从所述输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的所述数据;
在获取更新过的所述数据后,还由进程基于所述物理地址从所述输出缓冲区获取所述数据。
7.根据权利要求6所述的装置,其特征在于,由相应进程基于所述物理地址将所述数据写入所述输入缓冲区包括:使用文件内存映射方法将所述物理地址映射到所述进程的地址空间以建立链接,并基于所述链接将所述数据写入所述输入缓冲区;所述输入缓冲区和所述输出缓冲区以不经过缓存的方式映射到所述进程的地址空间;
将所述物理地址映射到所述进程的地址空间包括:分别将所述输入缓冲区的每个页的起始物理地址和结束物理地址映射到所述进程的地址空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010819404.9/1.html,转载请声明来源钻瓜专利网。





