[发明专利]具有保护模式以防止I/O装置进行存储器访问的输入/输出存储器管理单元有效
申请号: | 201280046643.9 | 申请日: | 2012-09-24 |
公开(公告)号: | CN103842976A | 公开(公告)日: | 2014-06-04 |
发明(设计)人: | 安德鲁·G·凯格尔;罗纳德·佩雷斯;黄伟 | 申请(专利权)人: | 超威半导体公司 |
主分类号: | G06F12/10 | 分类号: | G06F12/10;G06F12/14;G06F21/57 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 李献忠 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 保护 模式 防止 装置 进行 存储器 访问 输入 输出 管理 单元 | ||
发明背景
安全性是许多计算机系统设计中的重要考虑因素。例如,希望在台式计算机上访问电子文件的用户可能希望确保打开文件不会允许一些恶意行为者读取和/或改变文件内容。然而,如果计算环境含有恶意软件,如病毒、间谍软件或甚至错误,那么文件内容则可能会被泄露和/或改变。
为了防御恶意行为者,用户可能希望确保计算环境仅含有已知的可信软件。例如,打开台式计算机上文件的用户可能希望确保计算环境仅执行已知的可信代码,且不存在可能泄露和/或改变文件内容的恶意软件。在另一实例中,投票机的用户可能希望确保机器仅执行可信投票机软件,且软件未被破坏以改变用户的投票或允许未经授权的一方查看投票。
一些系统为确保仅加载可信软件的可信初始化程序提供了硬件支持。例如,中央处理单元(CPU)的指令集可包括安全内核初始化指令,如SKINIT,其可用于实施可信引导。为了实施可信引导,安全内核初始化指令可保护存储器的一小部分并随后将可信软件加载至该受保护的部分中。可信软件,这里被称为可信引导(TBOOT)顺序,可随后设置软件架构以通过安全的方式加载额外的可信软件。例如,SKINIT指令为安全内核初始化指令,其通过禁止中断、禁止从外围装置对受保护的存储器区域进行直接存储器访问(DMA)并禁止除执行SKINIT指令的磁芯以外的所有磁芯而保护存储器的64K区域。一旦保护了64K区域,SKINIT则可将TBOOT顺序加载至受保护的区域。在一些情况下,SKINIT指令可命令系统组件(例如,可信处理模块)存储TBOOT顺序的校验和,其稍后可被用于验证是否安全地加载了TBOOT顺序,而非改变或以其它方式修改TBOOT顺序。
发明概要
一种存储器管理单元被配置成从多个输入/输出(I/O)装置接收对存储器访问的请求。存储器管理单元实施保护模式,其中该单元通过将存储器访问请求(从I/O装置)映射至同一组存储器地址转换数据而防止多个I/O装置进行存储器访问。当存储器管理单元不处于保护模式中时,该单元将存储器访问请求从多个I/O装置映射至不同的各个组的存储器地址转换数据。因此,存储器管理单元可使用比通常所需的更少的地址转换表保护存储器免于被I/O装置访问。在各种实施方案中,存储器地址转换数据可被存储在使用一个或多个存储器地址转换表的存储器中或一个或多个硬件寄存器中。
在一些实施方案中,软件可使用存储器管理单元实施可信初始化程序。安全初始化程序可包括执行安全内核初始化指令以保护系统存储器的一部分免于被多个I/O装置直接存储器访问。然后,程序可在存储器的受保护的部分中创建一组一个或多个地址转换表,其中转换表防止存储器访问。接着,软件可配置存储器管理单元以在保护模式中执行,从而使存储器管理单元通过将存储器访问请求从I/O装置映射至防止存储器访问的该组的一个或多个存储器地址转换表而防止I/O装置进行存储器访问。当不在保护模式中执行时,存储器管理单元被配置成将I/O请求从多个I/O装置映射至不同的各个组的一个或多个存储器地址转换表。
附图简述
图1为示出根据一些实施方案的包括被配置成执行存储器访问参数注入的输入/输出存储器管理单元(IOMMU)的计算机系统的高级视图的框图。
图2为如本文所述的被配置成实施IOMMU提供的存储器保护的系统的框图。
图3为示出根据一些实施方案的操作被配置成实施保护模式的IOMMU的方法的流程图。
图4为示出根据一些实施方案的如本文所述的用于开始使用能够实施保护模式的IOMMU的可信引导程序的方法的流程图。
图5为示出根据一些实施方案的如本文所述的被配置成进行存储器访问参数注入的计算机系统的框图。
具体实施方式
本说明书包括对“一个实施方案”或“实施方案”的提及。短语“在一个实施方案中”或“在实施方案中”的出现并不一定是指相同的实施方案。可通过任何符合本公开的合适方式结合特定特征、结构或特征。
术语。以下段落提供了用于在本公开(包括所附权利要求)中所发现术语的定义和/或上下文:
“包括”。该术语是开放式的。如在所附权利要求中所使用的,该术语并不排除额外的结构或步骤。考虑一个权利要求,其叙述:“一种设备,其包括一个或多个处理器单元……”,这样的权利要求并不排除该设备包括额外组件(例如,网络接口单元、图形电路等)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司,未经超威半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280046643.9/2.html,转载请声明来源钻瓜专利网。