一种直接存储访问方法、装置及相关设备制造方法及图纸

技术编号:27470469 阅读:13 留言:0更新日期:2021-03-02 17:35
本申请实施例提供一种直接存储访问方法、装置及相关设备,其中方法包括:获取配置请求信息,所述配置请求信息至少包括:加密虚拟机请求用于DMA的第一加密内存页面对应的第一HPA;基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项,所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识,以使内存控制器在所述加密虚拟机基于所述第一HPA发起DMA时,所述内存控制器基于所述目标DMA表项,调用与所述虚拟机标识绑定的密钥,对所述第一加密内存页面中的数据进行加解密。本申请实施例可使得加密虚拟机与DMA设备能够进行直接数据传输,提升DMA效率。提升DMA效率。提升DMA效率。

【技术实现步骤摘要】
一种直接存储访问方法、装置及相关设备


[0001]本申请实施例涉及虚拟机
,具体涉及一种直接存储访问方法、装置及相关设备。

技术介绍

[0002]通过虚拟化技术(Virtualization),主机可虚拟化出多台虚拟机(Virtual Machine,VM),从而高效利用主机的硬件资源;虚拟化出的虚拟机可在物理内存中分配虚拟机内存空间,每台虚拟机的虚拟机内存空间主要用于任务消耗及支持虚拟化。
[0003]为保护虚拟机内存空间中的虚拟机数据,可进一步利用安全虚拟化技术对部分或所有虚拟机的虚拟机内存空间进行加密,其中,被加密的虚拟机内存空间可称为加密内存空间,相应的虚拟机可称为加密虚拟机;虚拟机本身具有完整的计算机系统,同样需要与外部设备(如硬盘,网卡,鼠标,键盘等)进行交互,而在安全虚拟化技术下,当加密虚拟机连接外部的DMA(Direct Memory Access,直接存储访问)设备时,由于加密虚拟机的加密内存空间中的数据处于加密状态,这导致加密虚拟机与DMA设备无法利用加密的数据进行直接数据传输,因此如何提供改进方案,以使得加密虚拟机与DMA设备能够进行直接数据传输,成为了本领域技术人员亟需解决的技术问题。

技术实现思路

[0004]有鉴于此,本申请实施例提供一种直接存储访问方法、装置及相关设备,以使得加密虚拟机与DMA设备能够进行直接数据传输。
[0005]为实现上述目的,本申请实施例提供如下技术方案:
[0006]一种直接存储访问方法,应用于安全处理器,所述方法包括
[0007]获取配置请求信息,所述配置请求信息至少包括:加密虚拟机请求用于DMA的第一加密内存页面对应的第一HPA;
[0008]基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项,所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识,以使内存控制器在所述加密虚拟机基于所述第一HPA发起DMA时,所述内存控制器基于所述目标DMA表项,调用与所述虚拟机标识绑定的密钥,对所述第一加密内存页面中的数据进行加解密。
[0009]本申请实施例还提供一种直接存储访问方法,应用内存控制器,所述方法包括:
[0010]获取DMA的地址信息,所述地址信息至少包括用于DMA的内存页面对应的HPA;
[0011]在DMA表中查找是否存在与所述HPA对应的目标DMA表项;
[0012]若DMA表中存在与所述HPA对应的目标DMA表项,基于所述目标DMA表项中记录的加密虚拟机的虚拟机标识,调用与所述虚拟机标识相绑定的所述加密虚拟机的密钥,对所述HPA对应的内存页面中的数据进行加解密。
[0013]本申请实施例还提供一种直接存储访问装置,应用于安全处理器,所述直接存储
访问装置包括:
[0014]配置请求信息获取模块,用于获取配置请求信息,所述配置请求信息至少包括:加密虚拟机请求用于DMA的第一加密内存页面对应的第一HPA;
[0015]配置模块,用于基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项,所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识,以使内存控制器在所述加密虚拟机基于所述第一HPA发起DMA时,所述内存控制器基于所述目标DMA表项,调用与所述虚拟机标识绑定的密钥,对所述第一加密内存页面中的数据进行加解密。
[0016]本申请实施例还提供一种直接存储访问装置,应用于内存控制器,所述直接存储访问装置包括:
[0017]地址信息获取模块,用于获取DMA的地址信息,所述地址信息至少包括用于DMA的内存页面对应的HPA;
[0018]查找模块,用于在DMA表中查找是否存在与所述HPA对应的目标DMA表项;
[0019]第一加解密模块,用于若DMA表中存在与所述HPA对应的目标DMA表项,基于所述目标DMA表项中记录的加密虚拟机的虚拟机标识,调用与所述虚拟机标识相绑定的所述加密虚拟机的密钥,对所述HPA对应的内存页面中的数据进行加解密。
[0020]本申请实施例还提供一种安全处理器,所述安全处理器被配置为执行如上述所述的直接存储访问方法。
[0021]本申请实施例还提供一种内存控制器,所述内存控制器被配置为执行如上述所述的直接存储访问方法。
[0022]本申请实施例还提供一种电子设备,包括如上述所述的安全处理器,以及如上述所述的内存控制器。
[0023]本申请实施例提供的直接存储访问方法中,安全处理器可获取配置请求信息,所述配置请求信息至少包括加密虚拟机请求用于DMA的第一加密内存页面对应的第一HPA;从而安全处理器可基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项,实现在目标DMA表项中至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识。基于安全处理器配置的目标DMA表项,内存控制器可在加密虚拟机基于第一HPA发起DMA时,基于所述目标DMA表项,调用与所述虚拟机标识绑定的密钥,对第一加密内存页面中的数据进行加解密,实现加密虚拟机与DMA设备能够基于第一加密内存页面进行直接数据传输,避免了加密虚拟机需要先将第一加密内存页面中的数据解密后存储到普通内存空间的过程,提升了DMA效率。
附图说明
[0024]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0025]图1为基于虚拟化技术的云服务架构图;
[0026]图2为云服务场景的虚拟化技术架构图;
[0027]图3为安全虚拟化技术的系统架构示意图;
[0028]图4为目前DMA的示例图;
[0029]图5为本申请实施例提供的虚拟化技术架构示意图;
[0030]图6为本申请实施例提供的直接存储访问方法的流程图;
[0031]图7为本申请实施例提供的直接存储访问方法的另一流程图;
[0032]图8为DMA表的示例图;
[0033]图9为DMA表的另一示例图;
[0034]图10为本申请实施例提供的配置目标DMA表项的方法流程图;
[0035]图11为CPU架构中的UMC分布示例图;
[0036]图12为本申请实施例提供的直接存储访问方法的再一流程图;
[0037]图13为本申请实施例提供的直接存储访问方法的又一流程图;
[0038]图14为本申请实施例提供的DMA的地址信息的示例图;
[0039]图15为本申请实施例提供的直接存储访问方法的又另一流程图;
[0040]图16为本申请实施例提供的直接存储访问装置的框图;
[0041]图17为本申请实施例提供的直接存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种直接存储访问方法,其特征在于,应用于安全处理器,所述方法包括:获取配置请求信息,所述配置请求信息至少包括:加密虚拟机请求用于直接存储访问DMA的第一加密内存页面对应的第一主机物理地址HPA;基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项,所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识,以使内存控制器在所述加密虚拟机基于所述第一HPA发起DMA时,所述内存控制器基于所述目标DMA表项,调用与所述虚拟机标识绑定的密钥,对所述第一加密内存页面中的数据进行加解密。2.根据权利要求1所述的直接存储访问方法,其特征在于,所述配置请求信息还包括:第二加密内存页面对应的第二HPA,其中,所述第二加密内存页面写入有所述加密虚拟机计算的所述第一加密内存页面中的数据的第一摘要值;在基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项之前,所述方法还包括:基于所述第二HPA从第二加密内存页面获取第一摘要值,并基于所述第一HPA计算第一加密内存页面中的数据的第二摘要值;基于所述第一摘要值和第二摘要值,校验第一加密内存页面是否完整,若是,进入所述基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项的步骤。3.根据权利要求2所述的直接存储访问方法,其特征在于,还包括:若校验第一加密内存页面不完整,通知加密虚拟机执行异常退出处理。4.根据权利要求1所述的直接存储访问方法,其特征在于,所述基于所述配置请求信息,在内存控制器的DMA表中配置与所述第一HPA对应的目标DMA表项,所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识包括:基于所述配置请求信息中的第一HPA确定目标表项索引;根据所述目标表项索引在DMA表中确定目标DMA表项,在所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识。5.根据权利要求4所述的直接存储访问方法,其特征在于,所述基于所述配置请求信息中的第一HPA确定目标表项索引包括:选取所述第一HPA中设定比特位的数值作为目标表项索引。6.根据权利要求4所述的直接存储访问方法,其特征在于,所述根据所述目标表项索引在DMA表中确定目标DMA表项,在所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识包括:基于所述目标表项索引,查找DMA表中与所述目标表项索引对应的第一个DMA表项;判断所述第一个DMA表项是否空闲,若是,将所述第一个DMA表项作为所述目标DMA表项,在所述第一个DMA表项中至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识,并设置所述第一个DMA表项已被使用,且设置所述第一个DMA表项未链接有下一个DMA表项。7.根据权利要求6所述的直接存储访问方法,其特征在于,所述根据所述目标表项索引在DMA表中确定目标DMA表项,在所述目标DMA表项至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识还包括:
若所述第一个DMA表项不空闲,基于所述第一个DMA表项中的链接索引,从具有所述目标表项索引的多个DMA表项中,查找最后一个DMA表项,其中,具有相同表项索引的多个DMA表项使用链接索引依序链接;从空闲链表中确定一个空闲DMA表项作为目标DMA表项,在所述目标DMA表项中至少记录所述第一HPA以及所述加密虚拟机的虚拟机标识,其中,空闲链表记录有空闲的DMA表项;将所述最后一个DMA表项的链接索引设置为所述目标DMA表项的链接索引,并使所述最后一个DMA表项指向所述目标DMA表项,且设置所述目标DMA表项已被使用并且未链接有下一个DMA表项。8.根据权利要求7所述的直接存储访问方法,其特征在于,一个DMA表项还记录有效位以及链接索引;其中,有效位的数值为第一值表示DMA表项不空闲,有效位的数值为第二值表示DMA表项空闲;链接索引用于指向具有相同表项索引的下一个DMA表项,且在链接索引为第二值时表示DMA表项未链接有下一个DMA表项。9.根据权利要求1-8任一项所述的直接存储访问方法,其特征在于,所述配置请求信息还包括:第一加密内存页面的页面大小。10.根据权利要求1所述的直接存储访问方法,其特征在于,还包括:在DMA结束时,获取目标DMA表项的释放请求,所述释放请求中至少包括所述第一HPA;在内存控制器中的DMA表中,释放与所述第一HPA对应的目标DMA表项。11.根据权利要求10所述的直接存储访问方法,其特征在于,所述在内存控制器中的DMA表中,释放与所述第一HPA对应的目标DMA表项包...

【专利技术属性】
技术研发人员:姜新应志伟
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1