[发明专利]内存访问与分配方法、存储控制器及系统在审
| 申请号: | 201810542504.4 | 申请日: | 2018-05-30 |
| 公开(公告)号: | CN110554911A | 公开(公告)日: | 2019-12-10 |
| 发明(设计)人: | 曹政;高山渊;刘兴奎 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/1045 |
| 代理公司: | 11610 北京太合九思知识产权代理有限公司 | 代理人: | 刘戈 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用户态 存储控制器 内存访问 虚拟内存空间 进程 内存访问指令 权限 非法访问 检查功能 进程执行 内存保护 请求访问 权限检查 预先存储 协议栈 申请 内存 崩溃 分配 访问 | ||
本申请实施例提供一种内存访问与分配方法、存储控制器及系统。在本申请实施例中,在存储控制器中增加内存访问权限的检查功能。这样,存储控制器基于用户态进程执行过程中产生的内存访问指令中的键值,与预先存储的虚拟内存空间与键值之间的对应关系,对用户态进程进行权限检查,当用户态进程具有内存访问权限时对请求访问的虚拟内存空间进行访问,实现了用户态协议栈下的内存保护,解决了一个进程非法访问其它进程使用的内存而导致其它进程异常或崩溃的问题。
技术领域
本申请涉及内存管理技术领域,尤其涉及一种内存访问与分配方法、存储控制器及系统。
背景技术
在计算机操作系统的内存管理技术中,最初所有的内存访问都要经过操作系统,操作系统会针对所有访问进行权限检查,这对操作系统的开销较大。随着高速存储设备的出现,催生了存储性能开发工具包(Storage Performance Development Kit,SPDK)等用户态协议栈的出现。
在用户态协议栈中,管理进程事先向操作系统申请一大块内存形成内存池,该过程由操作系统做权限检查;之后的进程可以直接从内存池里分配内存,且不需要经过操作系统的权限检查;之后,进程就可以通过存储控制器,例如NVMe对分配到的内存进行读写操作。这种内存管理机制可以降低操作系统的开销,因此逐渐成为一种趋势。
上述内存管理机制在正常操作流程中不会出现问题,但是一旦出现进程崩溃、代码错误或者恶意代码,就会导致严重的隔离性问题,也就是一个进程非法访问其它进程所使用的内存而导致其它进程异常或崩溃。
发明内容
本申请的多个方面提供一种内存访问与分配方法、存储控制器及系统,用以解决用户态内存管理方案中存在的隔离性问题,提高内存访问的安全性。
本申请实施例提供一种内存分配方法,包括:
根据用户态进程申请虚拟内存空间的请求,为所述用户态进程注册目标虚拟内存空间,并分配与所述目标虚拟内存空间对应的目标键值;
保存所述目标虚拟内存空间与所述目标键值的对应关系以及所述目标虚拟内存空间到物理内存空间的虚实地址映射信息。
本申请实施例提供一种内存访问方法,包括:
在用户态进程执行过程中需要访问目标虚拟内存空间时,根据所述目标虚拟内存空间对应的目标键值生成内存访问指令;
将所述内存访问指令发送给存储控制器,以供所述存储控制器根据所述内存访问指令中的目标键值对所述目标虚拟内存空间进行访问控制。
本申请实施例还提供一种内存访问方法,包括:
接收在用户态进程执行过程中产生的内存访问指令,所述内存访问指令携带有请求访问的目标虚拟内存空间对应的目标键值;
根据所述目标键值和预先保存的虚拟内存空间与键值的对应关系,确定所述用户态进程具有所述目标虚拟内存空间的访问权限;
根据预先保存的虚拟内存空间到物理内存空间的虚实地址映射信息,对所述目标虚拟内存空间进行虚实地址转换,并根据转换得到的物理地址进行物理内存空间的访问操作。
本申请实施例还提供一种存储控制器,包括:内存管理模块和主机接口模块;其中,所述主机接口模块与所述内存管理模块连接;
所述主机接口模块,用于接收所述存储控制器所属主机中的处理器在执行用户态进程过程中提交的内存访问指令,并将所述内存访问指令提交给所述内存管理模块;所述内存访问指令携带有请求访问的目标虚拟内存空间对应的目标键值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810542504.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:优化分布式计算效能的方法和装置
- 下一篇:调度设备执行任务的方法和装置





