当前位置: 首页 > 专利查询>辉达公司专利>正文

使用物理地址访问权限表防止未经授权的存储器访问制造技术

技术编号:38590176 阅读:15 留言:0更新日期:2023-08-26 23:30
公开了使用物理地址访问权限表防止未经授权的存储器访问。主机可以使用地址转换将虚拟地址转换为端点的物理地址,然后端点可以提交对物理地址的存储器访问请求。主机可以响应于地址转换记录授予实体的对物理地址访问权限表(PAAPT)中的物理地址进行访问的权限。地址转换服务的安全性可以至少基于验证存储器访问请求是使用该PAAPT进行授权的而提高。例如,包括在请求中的实体标识符可用于定位对应的PAAPT,并且可以从该请求中提取物理地址并将其用于定位指示与该实体标识符相对应的实体是否具有访问该物理地址的权限的条目。在该实体具有权限的情况下,系统可以使用该物理地址执行存储器访问。否则,可以响应于该请求而提供错误或故障代码。提供错误或故障代码。提供错误或故障代码。

【技术实现步骤摘要】
使用物理地址访问权限表防止未经授权的存储器访问

技术介绍

[0001]PCI Express(PCIe)提供地址转换服务(ATS),其中主机可以使用转换代理将端点(例如,与根端口接口的设备)提供的虚拟地址转换为存储器(memory)中的物理地址。端点可以高速缓存来自转换代理的转换,随后使用从高速缓存的转换得到的物理地址来请求直接存储器访问(DMA)传输。因此,转换代理可能不需要为DMA传输执行转换,从而减少了存储器访问延时和执行地址转换的转换代理的负担。
[0002]然而,当请求DMA传输时,存在这样的情况,即请求中包括的物理地址不是端点(endpoint)被授权访问的物理地址。在各种情况下,诸如在端点对应于外部设备的情况下,可能无法信任端点不会尝试未经授权的访问,因此ATS经常被禁用。更复杂的是,主机可包括多个虚拟机(VM),其中端点是一个VM的受信执行环境(TEE)的一部分,而不是另一个VM的TEE的一部分。在这种情况下,主机应该能够保证端点无法访问其TEE中不包括该端点的VM的存储器,但这是不可能的。

技术实现思路

[0003]本公开的实施例涉及使用物理地址访问权限表来防止未经授权的存储器访问。公开了可以使用权限表来验证(verify)与对物理地址的存储器访问的请求相关联的实体是否被授权访问该物理地址的系统和方法。所公开的方法可用于增强存储器访问的安全性,例如在地址转换服务中。
[0004]与常规系统(例如如上所述的那些系统)相反,所公开的方法可以记录对应于一个或更多个实体和一个或更多个物理地址(PA)的权限。来自实体的对使用物理地址进行存储器访问的请求可以通过确定授予实体访问物理地址的权限中的一个或更多个来授权。
[0005]在至少一个实施例中,授予实体访问物理地址的权限可以响应于转换请求被记录在物理地址访问权限表中。例如,可以响应于转换请求,至少基于实体被授权接收(从逻辑地址转换的)物理地址而向该实体授予权限。响应于接收到与物理地址相关联的存储器访问请求,系统可以搜索授予与访问该物理地址的该请求相关联的实体和/或端点的权限。例如,包括在该请求中的实体标识符可用于定位对应的物理地址访问权限表,并且该物理地址可以从该请求中提取并用于定位指示该实体是否具有权限的条目。在该实体具有权限的情况下,系统可以使用物理地址执行存储器访问。否则,可以响应于该请求而提供错误或故障代码。
附图说明
[0006]下面参考附图详细描述了用于使用物理地址访问权限表来防止未经授权的存储器访问的本系统和方法,其中:
[0007]图1A是根据本公开的一些实施例的包括物理地址访问权限表的存储器访问系统的示例示意图;
[0008]图1B是根据本公开的一些实施例的事务映射表的示例示意图,其可以包括物理地
址访问权限表;
[0009]图2示出了根据本公开的一些实施例的使用图1A的存储器访问系统中的物理地址访问权限表来防止未经授权的转换访问的示例过程;
[0010]图3是根据本公开的一些实施例的示出了主机可以采用的用于基于对与物理地址相对应的权限的搜索来防止对物理地址的未经授权的访问的方法的流程图;
[0011]图4是根据本公开的一些实施例的示出了主机可以采用的用于基于识别授予实体访问物理地址的权限来防止对物理地址的未经授权的访问的方法的流程图;
[0012]图5是适合于用于实现本公开的一些实施例的示例计算设备的框图;和
[0013]图6是适合于用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
[0014]公开了与使用物理地址访问权限表来防止未经授权的存储器访问相关的系统和方法。该公开可以提供用于验证与对物理地址的存储器访问的请求相关联的实体是否被授权访问该物理地址的权限表。所公开的方法可用于增强存储器访问的安全性,例如在地址转换服务中。
[0015]在一个或更多个实施例中,系统可以记录对应于一个或更多个实体和一个或更多个物理地址(PA)的权限。来自实体的对使用物理地址进行存储器访问的请求可以通过确定授予实体访问该物理地址的权限中的一个或更多个来授权。
[0016]在至少一个实施例中,授予实体访问物理地址的权限可以响应于转换请求被记录在物理地址访问权限表中。例如,可以响应于转换请求,至少基于实体被授权接收(从虚拟地址或逻辑地址转换的)物理地址而向该实体授予权限。响应于接收到与物理地址相关联的存储器访问请求,系统可以搜索授予与访问该物理地址的该请求相关联的实体和/或端点的权限。例如,包括在该请求中的实体标识符或请求者标识符可用于定位对应的物理地址访问权限表,并且该物理地址可以从该请求中提取并用于定位指示该实体是否具有权限的条目。在该实体具有权限的情况下,系统可以使用该物理地址执行存储器访问。否则,可以响应于该请求而提供错误或故障代码。
[0017]作为示例而非限制,所公开的方法可以使用由PCI Express(PCIe)提供的地址转换服务(ATS)来实现,其中主机可以使用转换代理将由端点(例如,与根端口接口的设备)提供的虚拟地址转换为存储器中的物理地址。除了向端点提供指示物理地址的数据外,还可以在物理地址访问权限表(PAAPT)中记录授予端点和/或实体访问物理地址的权限。在至少一个实施例中,每个PAAPT可以对应于与实体相关联的相应实体标识符。此外,每个PAAPT可以存储在用于实体的映射表条目(例如,流表条目)中,其还可以包括用于执行地址转换的转换表。当端点提供对经转换的地址的存储器访问请求时,它可以在经转换地址字段中包括它接收的物理地址,以及在流标识符字段中包括实体标识符(诸如流标识符)。因此,该数据可用于定位PAAPT和验证端点是否被授权访问物理地址的权限。
[0018]在至少一个实施例中,主机可以包括多个虚拟机(VM),并且端点可以是一个VM的受信执行环境(TEE)的一部分,而不是另一个VM的TEE的一部分。使用所公开的方法,主机可以保证端点无法访问其TEE中不包括端点的VM的存储器。虽然权限被描述为对应于物理地址,但在至少一个实施例中,权限可以对应于经转换的地址,诸如中间虚拟地址。此外,虽然
权限被描述为与地址转换有关,但在至少一个实施例中,可以为物理地址提供权限而无需地址转换。作为示例而非限制,所公开的方法可以在各种ATS和/或计算快速链路(CXL)存储器系统中实现。
[0019]所公开的实施例可以包括在各种不同的系统中,诸如汽车系统(例如,用于自主或半自主机器的控制系统、用于自主或半自主机器的感知系统)、使用机器人实现的系统、空中系统、医疗系统、划船系统、智能区域监控系统、用于执行深度学习操作的系统、用于执行模拟操作的系统、使用边缘设备实现的系统、包括用于三维(3D)内容的协作创建平台的系统、包含一个或更多个虚拟机(VM)的系统、至少部分地在数据中心中实现的系统、至少部分地使用云计算资源实现的系统、和/或其他类型的系统。
[0020]参考图1A,图1A是根据本公开的一些实施例的包括物理地址访问权本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:在一个或更多个表的条目中记录授予一个或更多个实体访问一个或更多个物理地址的权限,所述条目与所述一个或更多个物理地址相对应;接收与对物理地址的存储器访问的请求相对应的数据;对一个或更多个表进行搜索以获取对应于所述物理地址的权限以及与对所述存储器访问的请求相关联的实体;以及至少基于对所述一个或更多个表的搜索的结果来提供对所述请求的响应。2.如权利要求1所述的方法,其中使用由一个或更多个物理地址索引的一个或更多个权限位将所述权限存储在所述一个或更多个表中。3.如权利要求1所述的方法,其中所述一个或更多个表中的至少一个被存储在事务映射表中,所述事务映射表用于从逻辑地址转换所述物理地址。4.如权利要求1所述的方法,其中记录所述权限中的至少一个权限是响应于将逻辑地址转换为所述物理地址的请求。5.如权利要求1所述的方法,其中对所述一个或更多个表进行搜索包括:使用从所述请求中提取的实体标识符从所述一个或更多个表中识别表;以及使用从所述请求中提取的所述物理地址识别授予所述实体访问所述物理地址的权限。6.如权利要求1所述的方法,其中多个所述一个或更多个条目中的每个条目对应于多个物理地址的权限位图,并且所述记录包括对存储器中的所述多个物理地址的所述权限位图进行压缩。7.如权利要求1所述的方法,其中所述记录、接收、搜索和提供由一个或更多个虚拟机的主机执行,并且所述物理地址被分配给所述一个或更多个虚拟机中的虚拟机。8.如权利要求1所述的方法,其中对所述存储器访问的请求包括直接存储器访问传输请求。9.如权利要求1所述的方法,其中所述实体对应于主机设备外部的硬件设备,所述主机设备管理所述一个或更多个物理地址。10.一种系统,包括:一个或更多个处理单元;和一个或更多个存储器单元,其存储指令,所述指令在由所述一个或更多个处理单元执行时,使得所述一个或更多个处理单元执行操作,所述操作包括:记录授予实体访问物理地址的权限;接收与对所述物理地址...

【专利技术属性】
技术研发人员:J
申请(专利权)人:辉达公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1