CN112241308A - 一种虚拟机标识处理方法、装置及相关设备 - Google Patents

一种虚拟机标识处理方法、装置及相关设备 Download PDF

Info

Publication number
CN112241308A
CN112241308A CN202011129797.7A CN202011129797A CN112241308A CN 112241308 A CN112241308 A CN 112241308A CN 202011129797 A CN202011129797 A CN 202011129797A CN 112241308 A CN112241308 A CN 112241308A
Authority
CN
China
Prior art keywords
virtual machine
identifier
die
current
machine identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011129797.7A
Other languages
English (en)
Other versions
CN112241308B (zh
Inventor
方保顺
冯浩
应志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011129797.7A priority Critical patent/CN112241308B/zh
Publication of CN112241308A publication Critical patent/CN112241308A/zh
Application granted granted Critical
Publication of CN112241308B publication Critical patent/CN112241308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请实施例提供一种虚拟机标识处理方法、装置及相关设备,其中方法基于多Die CPU,各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机,该方法包括:在启动虚拟机时,确定当前Die对应的当前Die标识;根据当前Die标识,确定虚拟机标识的当前取值范围,不同Die的Die标识对应的虚拟机标识的取值范围不同;在当前取值范围内,确定空闲的虚拟机标识作为分配给虚拟机的目标虚拟机标识,目标虚拟机标识包括当前Die标识以及当前Die虚拟机标识;去除目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,在物理地址中保存当前Die虚拟机标识。本申请实施例可在启动虚拟机时,减少分配的虚拟机标识保存时占用的物理地址位数,节约存储资源开销。

Description

一种虚拟机标识处理方法、装置及相关设备
技术领域
本申请实施例涉及虚拟机技术领域,具体涉及一种虚拟机标识处理方法、装置及相关设备。
背景技术
通过虚拟化技术(Virtualization),物理主机可虚拟化出多台虚拟机(VirtualMachine,VM),从而最大化利用物理主机的硬件资源;虚拟化出的虚拟机可在物理内存中分配虚拟机内存空间,每台虚拟机的虚拟机内存空间主要用于任务消耗及支持虚拟化。
在启动虚拟化出的虚拟机时,虚拟机可被分配作为身份信息的虚拟机标识,不同的虚拟机拥有不同的虚拟机标识,以区分虚拟化出的不同虚拟机。虚拟机的虚拟机标识可被写入物理地址中,如果虚拟机标识占用较多位数的物理地址,无疑将带来较大的存储资源开销;因此如何改进虚拟机标识处理方案,以在启动虚拟机时,减少分配的虚拟机标识保存时占用的物理地址位数,成为了本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本申请实施例提供一种虚拟机标识处理方法、装置及相关设备,以在启动虚拟机时,减少分配的虚拟机标识保存时占用的物理地址位数,达到节约存储资源开销的目的。
为实现上述目的,本申请实施例提供如下技术方案:
一种虚拟机标识处理方法,所述方法基于多Die CPU,其中,各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;所述方法应用于虚拟机管理器,所述方法包括:
在启动虚拟机时,确定当前Die对应的当前Die标识;
根据所述当前Die标识,确定虚拟机标识的当前取值范围,不同Die的Die标识对应的虚拟机标识的取值范围不同;
在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识;
去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,在物理地址中保存所述当前Die虚拟机标识。
本申请实施例还提供一种虚拟机标识处理方法,所述方法应用于安全处理器,所述方法基于上述虚拟机管理器执行的虚拟机标识处理方法,所述方法包括:
在虚拟机管理器激活当前Die上的虚拟机后,获取所述虚拟机管理器传输的虚拟机激活通知;
生成所述虚拟机的密钥,将所述密钥写入当前Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器,其中,当前Die虚拟机标识为所述虚拟机的目标虚拟机标识中,去除当前Die的当前Die标识后剩余的信息。
本申请实施例还提供一种虚拟机标识处理装置,所述装置基于多Die CPU,其中,各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;所述装置应用于虚拟机管理器,所述装置包括:
当前Die标识确定模块,用于在启动虚拟机时,确定当前Die对应的当前Die标识;
当前取值范围确定模块,用于根据所述当前Die标识,确定虚拟机标识的当前取值范围,不同Die的Die标识对应的虚拟机标识的取值范围不同;
目标虚拟机标识确定模块,用于在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识;
标识去除及保存模块,用于去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,在物理地址中保存所述当前Die虚拟机标识。
本申请实施例还提供一种虚拟机标识处理装置,所述装置应用于安全处理器,所述装置包括:
激活通知获取模块,用于在虚拟机管理器激活当前Die上的虚拟机后,获取所述虚拟机管理器传输的虚拟机激活通知;
密钥生成及保存模块,用于生成所述虚拟机的密钥,将所述密钥写入当前Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器,其中,当前Die虚拟机标识为所述虚拟机的目标虚拟机标识中,去除当前Die的当前Die标识后剩余的信息。
本申请实施例还提供一种虚拟机管理器,所述虚拟机管理器被配置为执行如上述虚拟机管理器执行的虚拟机标识处理方法。
本申请实施例还提供一种安全处理器,所述安全处理器被配置为执行如上述安全处理器执行的虚拟机标识处理方法。
本申请实施例还提供一种芯片,所述芯片包括多Die CPU及安全处理器,多DieCPU中的各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;其中,所述虚拟机管理器如上述所述的虚拟机管理器,所述安全处理器如上述所述的安全处理器。
本申请实施例还提供一种电子设备,包括如上述所述的芯片。
在多Die CPU的虚拟化架构下,本申请实施例提供的虚拟机标识处理方法可在启动虚拟机时,为虚拟机分配虚拟机标识。具体的,在启动虚拟机时,可以确定当前Die对应的当前Die标识,根据所述当前Die标识,确定虚拟机标识的当前取值范围,其中,不同Die的Die标识对应的虚拟机标识的取值范围不同;从而,在所述当前取值范围内,确定空闲的虚拟机标识作为分配给虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识;由于在多Die CPU的虚拟化架构下,各个Die上均有各自运行的虚拟机管理器和虚拟机,因此本申请实施例可去除所述目标虚拟机标识中的所述当前Die标识,得到当前Die虚拟机标识,从而在物理地址中保存所述当前Die虚拟机标识,即可实现视为保存了目标虚拟机标识。
可以看出,由于所述当前Die虚拟机标识仅是为所述虚拟机分配的目标虚拟机标识中的部分信息,因此保存所述当前Die虚拟机标识,可以减少虚拟机标识在保存时占用的物理地址位数,从而达到节约TLB、cache的存储资源开销的目的。本申请实施例提供的虚拟机标识处理方法可以在启动虚拟机时,按Die划分虚拟机的虚拟机标识,减少虚拟机标识保存时占用的物理地址位数,从而达到节约TLB、cache的存储资源开销的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为传统虚拟化技术的系统架构示意图;
图2为安全虚拟化技术的系统架构示意图;
图3为安全虚拟化技术的微架构示意图;
图4为CPU逐级通过TLB、cache和物理内存读取数据的示意图;
图5为9位ASID对应的SOC物理地址的格式示例图;
图6为本申请实施例提供的虚拟化架构示例图;
图7为本申请实施例提供的ASID的组成示例图;
图8为本申请实施例提供的虚拟机标识处理方法的流程图;
图9为本申请实施例提供的确定当前取值范围的示例图;
图10为本申请实施例提供的bitmap标记ASID使用状态的示例图;
图11为本申请实施例提供的虚拟机标识与密钥的绑定关系示例图;
图12为本申请实施例提供的虚拟机标识处理方法的另一流程图;
图13为本申请实施例提供的虚拟机标识处理方法的再一流程图;
图14为本申请实施例提供的虚拟机标识处理方法的又一流程图;
图15为本申请实施例提供的虚拟机标识处理方法的另又一流程图;
图16为本申请实施例提供的虚拟机标识处理装置的框图;
图17为本申请实施例提供的虚拟机标识处理装置的另一框图;
图18为本申请实施例提供的虚拟机标识处理装置的再一框图;
图19为本申请实施例提供的虚拟机标识处理装置的又一框图;
图20为本申请实施例提供的虚拟机标识处理装置的又另一框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请实施例的实施背景,下面先对传统虚拟化技术演进至安全虚拟化技术的过程进行说明,本申请实施例提供的虚拟机标识处理方案可以在传统虚拟化技术的背景下实施,也可以是在安全虚拟化技术的背景下实施。
图1示出了传统虚拟化技术的系统架构示意图,如图1所示,传统虚拟化技术的系统架构可以包括:CPU(Central Processing Unit,中央处理器)10,内存控制器20,物理内存30;
其中,CPU10可通过软件形式配置虚拟机管理器110,并通过虚拟化技术虚拟化出多台虚拟机111,该多台虚拟机可由虚拟机管理器(Hypervisor)110进行内存管理,如由虚拟机管理器管理虚拟机在物理内存30中的虚拟机内存空间;
内存控制器20是控制物理内存30,并且使物理内存30与CPU10之间交换数据的硬件;物理内存30的部分或全部空间可作为为虚拟机分配的虚拟机内存空间;在典型的计算机系统中,内存控制器20负责处理内存访问请求,如内存控制器20可检测缓存是否记录内存访问请求对应的地址,若是,则从缓存读取该地址相应的数据,否则,遍历内存的页表查找该地址并读取该地址相应的数据。
图1所示的系统架构基于传统虚拟化技术实现,传统虚拟化技术并不对虚拟机内存空间进行安全保护,这导致虚拟机内存空间中的虚拟机数据的安全性存在威胁,因此为提升虚拟机数据的安全性,区别于传统虚拟化技术的安全虚拟化技术应运而生;
安全虚拟化技术是可对虚拟机内存空间进行安全保护的虚拟化技术,通过安全虚拟化技术可对部分或所有虚拟机内存空间进行加密,而且不同虚拟机的虚拟机内存空间通过不同的密钥进行加密,即使虚拟机管理器也无法访问密钥,从而防止物理主机、虚拟机管理器对虚拟机内存空间中的虚拟机数据的访问和篡改,提升了虚拟机数据的安全性;
作为一种示例说明,图2示出了安全虚拟化技术的系统架构示意图,结合图1和图2所示,图2所示系统架构相比于图1所示系统架构还可以包括:安全处理器40,安全处理器40是安全虚拟化技术专门设置的负责虚拟机数据安全的处理器;
如图2所示,虚拟机管理器10可配置与安全处理器40相通信的API接口,实现虚拟机管理器与安全处理器的数据交互;同时,内存控制器20可配置加解密引擎21,加解密引擎21可存储对虚拟机内存空间进行加解密的密钥,并且不同虚拟机的虚拟机内存空间使用不同的密钥进行加解密;具体的,在安全虚拟化技术中,虚拟机的虚拟机标识与密钥相绑定,并通过安全处理器40为虚拟机分配密钥,从而在虚拟机启动后的运行过程中,安全处理器40可通过加解密引擎21使用与虚拟机标识绑定的密钥,对虚拟机的虚拟机内存空间进行加解密,以实现虚拟机与物理主机、以及不同虚拟机之间的数据安全隔离;
在更进一步的说明中,图3示出了安全虚拟化技术的微架构示意图,如图3所示,SOC(System On Chip,片上系统)内部设置有CPU10,安全处理器40,和内存控制器20;SOC外部设置物理内存30(例如动态随机存取存储器DRAM等);并且,安全处理器40与CPU10通过API接口交互,安全处理器40与内存控制器(memory controller)20通过总线交互,并运行program(程式),为不同的虚拟机分配不同的VEK(Virtualization Encrypted Key,虚拟机加密密钥),且使得虚拟机的VEK与虚拟机的虚拟机标识相绑定;由于虚拟机的虚拟机内存空间使用密钥进行加解密,因此SOC外部的数据为加密后的密文,SOC内部为明文;
需要说明的是,图3所示系统架构是以CPU、内存控制器、安全处理器集成在SOC上进行说明,显然,SOC仅是计算机体系结构的一种可选形式,安全虚拟化技术也可支持其他形式的计算机体系结构,例如,安全虚拟化技术也可支持处理器和南桥相耦合的计算机体系结构、分设南桥和北桥的计算机体系结构等,此时,CPU、内存控制器、内存、和安全处理器可相应部署,此处不再展开说明。
无论是上文描述的传统虚拟化还是安全虚拟化,均需要在启动虚拟机时,为虚拟机分配虚拟机标识,并将虚拟机标识写入物理地址中;例如以ASID(Address Space ID,地址空间ID)作为虚拟机标识,在启动虚拟机时,需要为虚拟机分配ASID(不同的虚拟机拥有不同的ASID),并将ASID写入物理地址中;
而在计算机体系结构中,CPU一般通过逐级的访问TLB(TranslationLookasideBuffer,地址变换高速缓存),cache(高速缓冲存储器)和物理内存来实现读取数据,结合图4所示,TLB缓存虚拟地址和物理地址的映射关系,cache缓存物理地址和数据的映射关系,物理内存的物理地址中存储具体数据,CPU在读取数据时,先基于数据的虚拟地址访问TLB,如果在TLB中命中,则可确定出数据的虚拟地址对应的物理地址,再基于数据的物理地址访问cache,如果在cache中命中,则可读取cache中缓存的数据,如果在cache中未命中,则通过访问物理内存,读取物理内存的物理地址中存储的数据;
可以看出,TLB缓存了虚拟地址和物理地址的映射关系,cache缓存了物理地址和数据的映射关系,如果虚拟机标识保存时占用的物理地址位数较多,则TLB和cache均需要占用较多的存储空间来缓存虚拟机标识的物理地址,这造成TLB和cache较大的存储资源开销;示例的,图5示出了9位ASID对应的SOC物理地址的格式,在55bits总长度的物理地址中,ASID占用了9位bits的物理地址,因此TLB和cache均需要占用9bits来缓存ASID的物理地址,这使得TLB和cache的存储资源开销较大。
基于上述描述的虚拟机标识占用较多位数的物理地址的问题,本申请实施例提供改进的虚拟机标识处理方案,以在启动虚拟机时,减少分配的虚拟机标识保存时占用的物理地址位数,达到节约TLB、cache的存储资源开销的目的;本申请实施例提供的虚拟机启动方案可以适用于上文描述的传统虚拟化技术,也可以适用于上文描述的安全虚拟化技术。
本申请实施例提供的虚拟机标识处理方案可以在多Die CPU的基础上实现,Die(裸片)可以理解为是处理器在生产过程中,从晶圆上切割下来的小方块,在切割下来之前,每个Die都需要经过各种加工,将电路逻辑刻到Die上面,因此一个Die可以包含多个CPU内核;在多Die CPU的基础上,无论是传统虚拟化技术还是安全虚拟化技术,本申请实施例均可在每个Die上分别运行虚拟机管理器,由各Die上运行的虚拟机管理器,分别在各Die虚拟化出虚拟机;以CPU具有4个Die为例,图6示出了本申请实施例提供的虚拟化架构示例图,可进行参照,如图6所示:
CPU具有4个Die,分别为Die0,Die1,Die2和Die3;每个Die分别运行各自的虚拟机管理器,且各Die上运行的虚拟机管理器,分别在各Die上虚拟化出虚拟机;Die在进行数据读写时,基于Die上的TLB和cache,以及Die外的物理内存实现,其中,物理内存可由内存控制器控制;
需要说明的是,图6所示是以每个Die拥有独立的TLB和cache进行示例说明,即图6是以各Die之间不共享TLB和cache进行示例说明,当然,在其他可能的实现中,各Die之间也可共享TLB和cache。
上述多Die CPU的虚拟化架构可以在传统虚拟化技术的基础上实现,也可以是在安全虚拟化技术的基础上实现,对于传统虚拟化技术和安全虚拟化技术的具体细节此处不再展开,具体可参照上文相应部分的描述。
在多Die CPU的虚拟化架构下,各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;基于此,本申请实施例可在启动虚拟机时,按Die划分虚拟机的虚拟机标识,减少虚拟机标识保存时占用的物理地址位数,达到节约TLB、cache的存储资源开销的目的;需要说明的是,按Die划分虚拟机的虚拟机标识指的是:
虚拟机标识的组成形成与传统虚拟机标识不同,在本申请实施例中,虚拟机标识由两部分构成:虚拟机所在Die的Die标识以及Die虚拟机标识,其中,Die虚拟机标识可以是虚拟机标识中除去Die标识后剩余的信息;
具体的,结合图7所示,以ASID作为虚拟机标识,ASID可以包括两部分:DieID和DieASID;其中,DieID表示虚拟机所在Die的Die标识,DieASID表示Die虚拟机标识,即ASID除去DieID后剩余的信息为DieASID;需要说明的是,图7示例中,DieID位于ASID的高位bit仅是一种可选示例,本申请实施例也可设置DieID位于ASID的低位bit,本申请实施例并不限制DieID在ASID中的bit位置。
在上述按Die划分虚拟机标识的思想下,由于各个Die上均有各自运行的虚拟机管理器和虚拟机,因此在保存虚拟机标识时,可以去除虚拟机标识中的Die标识,从而仅在物理地址中保存Die虚拟机标识,即可视为保存了虚拟机标识;由于Die虚拟机标识仅是虚拟机标识中的部分信息,因此通过保存Die虚拟机标识,来视为保存虚拟机标识,可以减少虚拟机标识在保存时占用的物理地址位数,从而达到节约TLB、cache的存储资源开销的目的。
基于上述思路说明,在可选实现中,图8示出了本申请实施例提供的虚拟机标识处理方法的可选流程,可选的,该流程可由虚拟机管理器执行实现,如图8所示,该流程可以包括:
步骤S100、在启动虚拟机时,确定当前Die对应的当前Die标识。
可选的,本申请实施例可由用户操作来触发虚拟机管理器启动虚拟机,也可由系统自动触发虚拟机管理器启动虚拟机,无论以何种方式触发虚拟机管理器启动虚拟机,虚拟机管理器均可通过执行虚拟机启动流程,来实现虚拟机的启动;在虚拟机管理器启动虚拟机的过程中,可以基于本申请实施例提供的虚拟机标识处理方法,为虚拟机分配虚拟机标识,并减少虚拟机标识保存时所占用的物理地址位数。
在各Die分别运行虚拟机管理器的情况下,当前Die可以认为是当前启动虚拟机的虚拟机管理器所在的Die;可以理解的是,虚拟机管理器所在的当前Die,与虚拟机管理器启动的虚拟机所在的Die是相同的;
在多Die CPU中,不同的Die可使用不同的Die标识进行区分,Die标识例如Die ID,以4Die CPU为例,CPU的Die包含Die0至Die3,相应的,CPUDie的Die标识的取值范围可以是0至3,如以二进制或十六进制进行表达,则Die0的Die标识可以是00,Die1的Die标识可以是01,Die2的Die标识可以是02,Die3的Die标识可以是03;
在本申请实施例中,由于各Die运行各自的虚拟机管理器,并通过各Die运行的虚拟机管理器,在各Die虚拟化出各自的虚拟机,因此在按Die划分虚拟机标识的思想下,虚拟机管理器在启动虚拟机时,可获取当前Die的Die标识,以确定虚拟机管理器所在的当前Die,为便于说明,当前Die的Die标识可称为当前Die标识;示例的,如果启动虚拟机的虚拟机管理器位于Die0,则当前Die为Die0,虚拟机管理器可获取当前Die标识00。
可选的,在安全虚拟化技术下,虚拟机管理器可从安全处理器获取所述当前Die的当前Die标识。
步骤S110、根据所述当前Die标识,确定虚拟机标识的当前取值范围,不同Die的Die标识对应的虚拟机标识的取值范围不同。
在按Die划分虚拟机标识的思路下,不同Die的虚拟标识的取值范围不同,即不同Die虚拟化出的虚拟机具有不同取值范围的虚拟机标识;如Die0的虚拟机标识的取值范围,不同于Die1、Die2、Die3的虚拟机标识的取值范围。
在一种可选实现中,不同Die的虚拟机标识的取值范围,可以按照Die的序号依次相连续(如依次连续递增或者依次连续递减等),如Die0的虚拟机标识的取值范围,与Die1的虚拟机标识的取值范围相连续,Die1的虚拟机标识的取值范围,与Die2的虚拟机标识的取值范围相连续,以此类推;以ASID作为虚拟机标识,假设ASID的位数为9位,且CPU中包含4个Die,则9位的ASID可以由两部分组成:2位的DieID和7位的DieASID,其中,2位的DieID可以位于ASID中的高两位bit(相应的,7位的DieASID位于ASID中的低7位bit),当然,2位的DieID也可以位于ASID中的低两位bit(相应的,7位的DieASID位于ASID中的高7位bit),DieID在ASID中的bit位置本申请实施例并不限制;
假设DieID位于9位ASID中的高两位bit,则DieID的取值范围可以是0-3,而低7位的DieASID的取值范围可以是0-127;在更为具体的说明中,针对Die0,9位ASID中,DieID为00,相应的,9位ASID的取值范围为0-127;针对Die1,9位ASID中,DieID为01,9位ASID的取值范围为128-255,以此类推;可以看出,本申请实施例可以设置ASID在不同Die具有不同的取值范围,并且ASID的取值范围按照Die序号连续递增。
在可选实现中,本申请实施例可设定各Die的Die标识与虚拟机标识的取值范围的对应关系,从而在确定当前Die的当前Die标识后,可基于当前Die标识,确定出与当前Die标识对应的虚拟机标识的取值范围,为便于说明,当前Die标识对应的虚拟机标识的取值范围可以称为当前取值范围;
在一种示例中,结合图9所示,以4Die CPU为例,本申请实施例可设定Die0的Die标识00与虚拟机标识的取值范围1的对应关系,Die1的Die标识01与虚拟机标识的取值范围2的对应关系,以此类推,如果确定当前Die标识为00(即当前Die为Die00),则可从上述对应关系中,确定出当前Die标识00对应的虚拟机标识的取值范围1,从而虚拟机标识的取值范围1可视为是所确定的当前取值范围;在上述示例中,Die标识00对应的虚拟机标识的取值范围1,可与Die标识01对应的虚拟机标识的取值范围2相连续,Die标识01对应的虚拟机标识的取值范围2,可与Die标识02对应的虚拟机标识的取值范围3相连续,以此类推。
步骤S120、在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识。
本申请实施例在确定虚拟机标识的当前取值范围后,可在所述当前取值范围内,确定出未被使用的空闲的虚拟机标识,该虚拟机标识可作为分配给启动的虚拟机的虚拟机标识,为便于说明,本申请实施例可称该虚拟机标识为目标虚拟机标识。
在可选实现中,多Die CPU中的各个Die可以设置第一bitmap(位元映射),来标记相应取值范围内的虚拟机标识的使用状态,具体的,一个Die的第一bitmap可以使用bit,顺序标记相应取值范围内各虚拟机标识的使用状态,且第一位元映射中的一个bit标记一个虚拟机标识的使用状态;例如,如果一个Die在相应的虚拟机标识的取值范围内支持16个虚拟机标识,则该Die的第一bitmap可以具有16个bit,该第一bitmp的16个bit可以按照虚拟机标识的取值由小到大或者由大到小的顺序,标记该16个虚拟机标识的使用状态,即第一bitmp的1个bit对应标记1个虚拟机标识是否被使用,如果某一个虚拟机标识被使用,则第一bitmap中对应bit的数值标记为1,如果某一个虚拟机标识未被使用,则第一bitmap中对应bit的数值标记为0;
从而,本申请实施例在确定所述当前取值范围后,可根据当前Die的第一bitmap,在所述当前取值范围内,按序(如取值由小到大或者由大到小的顺序)寻找第一个空闲的虚拟机标识,将寻找到的第一个空闲的虚拟机标识作为分配给虚拟机的目标虚拟机标识;其中,当前Die的第一bitmap使用bit,顺序标记当前取值范围内各虚拟机标识的使用状态,该第一bitmap中的一个bit标记一个虚拟机标识的使用状态;
在更为具体的可选实现中,当前Die的第一bitmap可使用bit,具体按照虚拟机标识的取值由小到大的顺序,标记当前取值范围内各虚拟机标识的使用状态;从而,本申请实施例可在确定所述当前取值范围后,按照虚拟机标识的取值由小到大的顺序,依序确定当前Die的第一bitmap中bit的数值,将第一个确定的数值为0的bit相应的虚拟机标识,确定为寻找到的第一个空闲的虚拟机标识;其中,若第一bitmap的一个bit的数值为0,则该bit相应的虚拟机标识空闲,若第一bitmap的一个bit的数值为1,则该bit相应的虚拟机标识被使用。
进一步的,本申请实施例在为虚拟机分配目标虚拟机标识后,可更新当前Die的第一bitmap中,标记目标虚拟机标识的使用状态的bit,以使得目标虚拟机标识在所述第一位元映射中标记的使用状态调整为被使用;例如,本申请实施例可将当前Die的第一bitmap中标记目标虚拟机标识的使用状态的bit的数值,调整为1,以使得目标虚拟机标识的使用状态调整为被使用。
示例的,以ASID作为虚拟机标识,结合图10所示,假设当前取值范围内支持多个ASID,则当前Die的第一bitmap可以使用多个bit,按照取值从小到大的顺序,标记该多个ASID的使用状态;即按照取值从小到大的顺序,当前Die的第一bitmap中的第1个bit标记第1个ASID1的使用状态,第2个bit标记第2个ASID2的使用状态,以此类推;从而,本申请实施例可根据当前Die的第一bitmap的标记,在所述当前取值范围内,按照取值从小到的顺序,寻找第一个空闲的ASID;如图10所示,在第一bitmap的bit数值为0标记对应ASID未被使用,数值为1标记对应ASID被使用的情况下,所寻找到的第一个空闲的ASID为ASID3;进一步的,在将ASID3作为分配给虚拟机的目标虚拟机标识后,可更新第一bitmap中标记ASID3的使用状态的bit数值为1;通过第一bitmap标记ASID的使用状态,并由虚拟机管理器进行保存和管理,可以防止ASID被重复使用。
如上文所述,虚拟机标识可由两部分构成:虚拟机所在Die的Die标识以及Die虚拟机标识;因此,同理,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识,该当前Die虚拟机标识为目标虚拟机标识中去除所述当前Die标识后剩余的信息。
步骤S130、去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,在物理地址中保存所述当前Die虚拟机标识。
由于各个Die上均有各自运行的虚拟机管理器和虚拟机,因此在得到目标虚拟机标识后,本申请实施例可去除目标虚拟机标识中的当前Die标识,得到目标虚拟机标识中的当前Die虚拟机标识,从而在物理地址中保存当前Die虚拟机标识,即可视为对目标虚拟机标识实现了保存;在可选实现中,本申请实施例可在与虚拟机管理器的信息对应的物理地址中保存当前Die虚拟机标识。
可以看出,由于Die虚拟机标识仅是虚拟机标识中的部分信息,因此通过保存Die虚拟机标识,来视为保存虚拟机标识,可以减少虚拟机标识在保存时占用的物理地址位数,从而达到节约TLB、cache的存储资源开销的目的。
为便于更为形象的说明本申请实施例提供的虚拟机标识处理方法,在安全虚拟化技术背景下,以ASID为虚拟机标识,假设Die01的虚拟机管理器1需启动虚拟机1,则在启动虚拟机1的过程中,可使用如下示例方案为虚拟机1分配目标ASID:
虚拟机管理器1从安全处理器获取当前Die的当前Die标识01;
根据Die标识与ASID的取值范围的对应关系,确定当前Die标识01对应的ASID的当前取值范围;
根据Die01的第一bitmap中标记的当前取值范围内的ASID的使用状态,按照取值由小到大的顺序,在当前取值范围内寻找第一个未被使用的空闲的ASID,作为分配给虚拟机1的目标ASID;
去除目标ASID中的当前Die标识01,得到当前DieASID,在物理地址中保存当前DieASID,从而通过保存位数较少的当前DieASID,即可视为对目标ASID进行了保存,可减少ASID保存时占用的物理地址位数,达到节约存储资源的目的。
在多Die CPU的虚拟化架构下,本申请实施例提供的虚拟机标识处理方法可在启动虚拟机时,为虚拟机分配虚拟机标识。具体的,在启动虚拟机时,可以确定当前Die对应的当前Die标识,根据所述当前Die标识,确定虚拟机标识的当前取值范围,其中,不同Die的Die标识对应的虚拟机标识的取值范围不同;从而,在所述当前取值范围内,确定空闲的虚拟机标识作为分配给虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识;由于在多Die CPU的虚拟化架构下,各个Die上均有各自运行的虚拟机管理器和虚拟机,因此本申请实施例可去除所述目标虚拟机标识中的所述当前Die标识,得到当前Die虚拟机标识,从而在物理地址中保存所述当前Die虚拟机标识,即可实现视为保存了目标虚拟机标识。
可以看出,由于所述当前Die虚拟机标识仅是为所述虚拟机分配的目标虚拟机标识中的部分信息,因此保存所述当前Die虚拟机标识,可以减少虚拟机标识在保存时占用的物理地址位数,从而达到节约TLB、cache的存储资源开销的目的。本申请实施例提供的虚拟机标识处理方法可以在启动虚拟机时,按Die划分虚拟机的虚拟机标识,减少虚拟机标识保存时占用的物理地址位数,从而达到节约TLB、cache的存储资源开销的目的。
在一种示例中,以4Die的服务器芯片为例,每个Die支持128个ASID,且每个ASID消耗7bits作为DieASID进行保存,就可以实现传统技术中对于512个虚拟机的支持,可以实现每个ASID在保存时节省两个bits的存储资源开销。
需要进一步说明的是,在安全虚拟化技术下,在为虚拟机分配虚拟机标识后,安全处理器需为虚拟机分配与虚拟机标识相绑定的密钥,从而在虚拟机运行过程中,可在虚拟机内存空间使用密钥进行加解密,以实现数据的安全隔离;在此基础上,虚拟机标识与密钥是相互绑定的关系,图11示出了虚拟机标识与密钥的绑定关系可进行参照,如图11所示,ASID为虚拟机的虚拟机标识,不同的虚拟机拥有不同的ASID,安全处理器可分配与虚拟机的ASID相绑定的密钥,如图11中虚拟机1的ASID1与密钥1相绑定,虚拟机2的ASID2与密钥2相绑定,以此类推;从而在虚拟机运行过程中,安全处理器以虚拟机的ASID作为密钥的索引,利用ASID调取相绑定的密钥,通过加解密引擎对虚拟机的虚拟机内存空间进行加解密,例如,在虚拟机1的运行过程中,安全处理器可利用虚拟机1的ASID1,调取相绑定的密钥1,利用密钥1对虚拟机1的虚拟机内存空间进行加解密;图11示例是以3台虚拟机进行示例说明,在实际情况下,虚拟机的数量并不限于3台;
基于上述说明,在虚拟机启动过程中,本申请实施例还可由安全处理器实现为虚拟机分配与虚拟机标识相绑定的密钥,并进行密钥保存;在可选实现中,图12示出了本申请实施例提供的虚拟机标识处理方法的另一可选流程,该流程可由虚拟机管理器和安全处理器执行实现,如图12所示,该流程可以包括:
步骤S200、虚拟机管理器激活虚拟机并通知安全处理器。
基于图7所示流程,虚拟机管理器在为虚拟机分配目标虚拟机标识,并将目标虚拟标识中的当前Die虚拟机标识保存到物理地址中后,虚拟机管理器可激活当前Die上的虚拟机,并通知安全处理器已激活虚拟机,从而安全处理器可获取虚拟机管理器传输的虚拟机激活通知。
步骤S210、安全处理器生成所述虚拟机的密钥,将所述密钥写入当前Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器。
UMC(Unified Memory Controler,统一内存控制器)寄存器为内存控制器中记录信息的寄存器,在本申请实施例中,各个Die可以分别在内存控制器中具有多个UMC寄存器,并且一个Die在内存控制器中的多个UMC寄存器可与该Die的Die虚拟机标识一一对应;从而,安全处理器在收到虚拟机已激活的通知后,可生成虚拟机的密钥,将该密钥写入到当前Die虚拟机标识对应的UMC寄存器,且该UMC寄存器为当前Die在内存控制器中的UMC寄存器,即安全处理器可将所述密钥写入当前Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器;可以理解的是,由于为虚拟机生成的密钥是写入到当前Die虚拟机标识对应的UMC寄存器,因此可以实现虚拟机的密钥与当前Die虚拟机标识的绑定。
在进一步的示例中,以4Die CPU为例,内存控制器中分别设置有Die0的多个UMC寄存器,Die1的多个UMC寄存器,Die2的多个UMC寄存器,Die3的多个UMC寄存器;假设当前Die为Die0,则Die0的虚拟机管理器在为Die0的虚拟机确定DieASID并激活虚拟机后,安全处理器可生成该虚拟机的密钥,并在Die0的多个UMC寄存器中确定该DieASID对应的UMC寄存器,从而将该密钥写入到该DieASID对应的UMC寄存器中。
在进一步的可选实现中,安全处理器可以设置第二bitmap,第二bitmap可以标记虚拟机标识在激活虚拟机的绑定状态,即虚拟机标识是否绑定到激活的虚拟机上;同理,第二bitmap可以使用bit,标记虚拟机标识在激活虚拟机的绑定状态,且第二bitmap中的一个bit标记一个虚拟机标识的绑定状态,从而,本申请实施例可更新第二bitmap中,标记目标虚拟机标识的绑定状态的bit,以使得目标虚拟机标识在第二bitmap中标记的绑定状态调整为已绑定;例如,虚拟机标识已绑定到激活虚拟机上,则安全处理器可刷新第二bitmap中虚拟机标识相应的bit的数值为1,否则,第二bitmap中虚拟机标识相应的bit的数值为0。
上文描述虚拟机标识处理方法涉及了虚拟机的启动过程,具体包含了虚拟机初始化过程和虚拟机激活过程,例如,虚拟机初始化过程涉及:为虚拟机分配目标虚拟机标识,并保存目标虚拟机标识中的当前Die虚拟机标识;虚拟机激活过程涉及:为虚拟机分配密钥,并将密钥写入当前Die虚拟机标识对应的UMC寄存器。可选的,在安全虚拟化技术下,以ASID作为虚拟机标识,图13示出了虚拟机标识处理方法的再一可选流程,该流程可以由虚拟机管理器和安全处理器执行实现,如图13所示,该流程可以包括:
步骤S300、在启动虚拟机时,虚拟机管理器向安全处理器请求当前Die对应的当前DieID。
虚拟机管理器在启动虚拟机时,可向安全处理器请求虚拟机管理器所在的当前Die对应的当前DieID。
步骤S310、安全处理器确定所述当前DieID,将所述当前DieID传输给虚拟机管理器。
基于步骤S300和步骤S310,虚拟机管理器可以在启动虚拟机时,获取当前Die对应的当前DieID。
步骤S320、虚拟机管理器根据所述当前DieID,确定在当前Die虚拟化的虚拟机的ASID的当前取值范围。
可选的,不同Die虚拟化的虚拟机的ASID的取值范围不同,例如在9位的ASID中,DieID可以位于高两位bit,从而针对Die0,Die0虚拟化的虚拟机的ASID的取值范围为0-127,针对Die1,Die1虚拟化的虚拟机的ASID的取值范围为128-255,以此类推;通过设定DieID与ASID的取值范围的对应关系,虚拟机管理器在获取当前DieID后,可根据当前DieID,确定当前DieID对应的ASID的取值范围(即当前取值范围)。
步骤S330、虚拟机管理器根据当前Die的第一bitmap,在所述当前取值范围内,按序寻找第一个空闲的ASID作为分配给虚拟机的目标ASID,更新第一bitmp中目标ASID的使用状态为被使用。
当前Die的第一bitmap可以标记所述当前取值范围内ASID的使用状态,从而基于当前Die的第一bitmap,虚拟机管理器可在当前取值范围内,按照取值由小到大或者由大到小的顺序,寻找第一bitmap标记的未被使用的空闲的ASID,将寻找到的第一个空闲的ASID作为分配给虚拟机的目标ASID。
步骤S340、虚拟机管理器去除目标ASID中的当前DieID,得到当前DieASID,在物理地址中保存当前DieASID。
在本申请实施例中,ASID由DieID和DieASID组成,在得到目标ASID后,目标ASID包括当前DieID和当前DieASID两部分,由于虚拟机管理器和所启动的虚拟机仅运行在当前Die,因此可将目标ASID中的当前DieID进行去除,从而仅保留目标ASID中的当前DieASID,并将当前DieASID保存到物理地址中,如在与虚拟机管理器的信息对应的物理地址中保存当前DieASID。
至此,虚拟机启动流程的初始化过程完成。
步骤S350、虚拟机管理器激活虚拟机,并通知安全处理器。
步骤S360、安全处理器生成虚拟机的密钥,将密钥写入到当前Die在内存控制器中的与当前DieASID对应的UMC寄存器;更新第二bitmap中标记的目标ASID的绑定状态为已绑定。
步骤S370、虚拟机管理器完成虚拟机启动,在虚拟机管理器的VMCB中保存所述当前DieASID。
步骤S350和步骤S370可以视为是虚拟机启动流程中的激活过程,虚拟机管理器可激活虚拟机并通知安全处理器,从而安全处理器可以使用当前DieASID,将虚拟机的密钥写入到当前DieASID对应的UMC寄存器中,且只写入到当前Die在内存控制器中的UMC寄存器中,并且由于目标ASID已基于当前DieASID实现与虚拟机的绑定,因此安全处理器可更新第二bitmap中标记的目标ASID的绑定状态;通过第二bitmap标记ASID的绑定状态,并由安全处理器进行保存和管理,可以防止已绑定激活虚拟机的ASID被重复绑定。
在完成虚拟机的启动后,虚拟机管理器可进一步在VMCB(VirtualMachineControl Block,虚拟机控制块)中保存当前DieASID,需要说明的是,VMCB为虚拟机管理器在物理内存中保存的用于描述虚拟机对应的虚拟处理器(VCPU)的状态的信息。
本申请实施例提供的虚拟机标识处理方法可以在启动虚拟机时,按Die划分虚拟机的虚拟机标识,减少虚拟机标识保存时占用的物理地址位数,从而达到节约TLB、cache的存储资源开销的目的。
在安全虚拟化技术下,虚拟机启动后的运行过程涉及使用虚拟机的密钥对虚拟机数据进行加解密,基于此,本申请实施例提供的虚拟机标识处理方法还可在虚拟机运行过程中,实现对虚拟机数据的加解密;可选的,图14示出了本申请实施例提供的虚拟机标识处理方法的又一可选流程,该流程可由安全处理器实现,如安全处理器通过控制内存控制器中的加解密引擎实现,如图14所示,该流程可以包括:
步骤S400、在虚拟机运行过程中,若操作虚拟机的虚拟机数据,从保存虚拟机的Die虚拟机标识的物理地址中,解析出Die虚拟机标识。
虚拟机运行过程中涉及操作虚拟机数据,例如在虚拟机内存空间写虚拟机数据和读虚拟机数据,本申请实施例在操作虚拟机数据时,需对虚拟机数据进行加解密,如在虚拟机内存空间读虚拟机数据时,本申请实施例需对虚拟机数据进行解密,在虚拟机内存空间写虚拟机数据时,本申请实施例需对虚拟机数据进行加密;上述对虚拟机数据进行加解密的过程涉及使用虚拟机的密钥。
由于物理地址中保存的是虚拟机的Die虚拟机标识,且在本申请实施例中,虚拟机的密钥是与虚拟机的Die虚拟机标识相绑定,并写入到Die虚拟机标识对应的UMC寄存器中,因此,本申请实施例在对某一虚拟机的虚拟机数据进行操作时,可从保存该虚拟机的Die虚拟机标识(如DieASID)的物理地址中,解析出该虚拟机的Die虚拟机标识。
步骤S410、从所述Die虚拟机标识对应的UMC寄存器中,读取所述虚拟机的密钥。
在解析出虚拟机的Die虚拟机标识后,本申请实施例可从Die虚拟机标识对应的UMC寄存器中,读取虚拟机的密钥。
步骤S420、根据读取的密钥,对虚拟机的虚拟机数据进行加解密。
基于读取的虚拟机的密钥,本申请实施例可对虚拟机的虚拟机数据进行加解密,例如,在写虚拟机的虚拟机数据时,使用所述密钥进行加密,在读虚拟机的虚拟机数据时,使用所述密钥进行解密。
本申请实施例提供的虚拟机标识处理方法,可在虚拟机运行过程中,基于虚拟机的Die虚拟机标识,读取对应UMC寄存器中保存的密钥,从而实现对虚拟机数据的加解密,可在安全虚拟化技术下,实现虚拟机数据的安全隔离。
在本申请实施例中,虚拟机运行在启动时所在的Die,不允许切换虚拟机对应的VCPU到其他Die上运行,如果需要将虚拟机切换到其他Die上运行,则需要基于虚拟机迁移流程进行虚拟机迁移,并在虚拟机迁移过程中,对虚拟机的虚拟机标识进行重新分配;基于前文描述的虚拟机标识的处理方案,在可选实现中,图15示出了本申请实施例提供的虚拟机标识处理方法的另又一可选流程,该流程可在虚拟机迁移过程中,实现对虚拟机标识的重新分配,该流程可由安全处理器执行实现,参照图15,该流程可以包括:
步骤S500、安全处理器获取位于第一Die的第一虚拟机的第一密钥,使用所述第一密钥对所述第一虚拟机的虚拟机数据进行解密。
本申请实施例可将虚拟机由第一Die迁移到第二Die,第一Die和第二Die可以是多Die CPU中任意两个不同的Die;为便于说明,第一Die上迁移前的虚拟机称为第一虚拟机,第一虚拟机的密钥称为第一密钥,第二Die上迁移后的虚拟机称为第二虚拟机,第二虚拟机的密钥称为第二密钥。
在将虚拟机由第一Die迁移到第二Die的过程中,本申请实施例可获取位于第一Die的第一虚拟机的第一密钥,使用该第一密钥对第一虚拟机的虚拟机数据进行解密。可选的,获取位于第一Die的第一虚拟机的第一密钥的过程例如:从物理地址中解析出第一虚拟机的DieASID,从第一Die在内存控制器的UMC寄存器中,确定与该DieASID对应的UMC寄存器,从中读取出第一密钥;更为具体的过程可以参照前文相应部分的描述,此处不再赘述。
步骤S510、安全处理器将解密后的虚拟机数据使用设定密钥进行加密,将加密后的虚拟机数据迁移到设定内存空间。
在对虚拟机数据进行解密后,可以将解密后的虚拟机数据使用多Die之间约定的设定密钥进行加密(如以TEK的密钥作为设定密钥),并将加密后的虚拟机数据迁移到设定内存空间,以便后续实现虚拟机数据由第一Die的第一虚拟机对应的虚拟机内存空间,迁移到第二Die的第二虚拟机对应的虚拟机内存空间。
步骤S520、在位于第二Die的第二虚拟机启动后,从第二虚拟机的当前Die虚拟机标识对应的UMC寄存器中,读取第二虚拟机的第二密钥。
可选的,位于第二Die的虚拟机管理器可在第二Die启动第二虚拟机,并为第二虚拟机分配目标虚拟机标识,所述目标虚拟机标识中的当前Die虚拟机标识保存在物理地址中,并且与所述当前Die虚拟机标识绑定的第二密钥,写入第二Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器;从而,安全处理器可在第二虚拟机启动后,从与当前Die虚拟机标识对应的UMC寄存器中,读取第二虚拟机的第二密钥。
需要说明的是,在虚拟机由第一Die迁移到第二Die的情况下,本申请实施例可在第二Die新启动第二虚拟机,并基于本申请实施例提供的虚拟机标识处理方法,为第二Die启动的第二虚拟机分配目标虚拟机标识,在第二Die作为迁移后的当前Die的情况下,该目标虚拟机标识包括了第二Die的当前Die标识和当前Die虚拟机标识;基于本申请实施例提供的虚拟机标识处理方法,可以理解的是,目标虚拟机标识中的当前Die虚拟机标识保存在物理地址中,并且在第二虚拟机激活时,安全处理器生成与所述当前Die虚拟机标识绑定的第二密钥,并将第二密钥写入到第二Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器
可选的,步骤S520,与步骤S500至步骤S510之间可以没有明显的先后顺序,例如,也可以先执行步骤S520,再执行步骤S500至步骤S510。
步骤S530、安全处理器将设定内存空间中的加密后虚拟机数据,使用设定密钥进行解密;将解密后的虚拟机数据,使用第二密钥进行加密。
在设定内存空间存储了使用设定密钥加密后的虚拟机数据的情况下,基于多Die之间约定的设定密钥,本申请实施例可使用设定密钥,对设定内存空间中加密后的虚拟机数据进行解密;并且使用第二虚拟机对应的第二密钥,对解密后的虚拟机数据进行重新加密,从而使得虚拟机数据能够使用第二虚拟机的第二密钥实现加密。
步骤S540、将使用第二密钥加密后的虚拟机数据,加载到在第二虚拟机对应的虚拟机内存空间。
在虚拟机数据使用第二密钥进行加密后,加密后的虚拟机数据可加载到第二虚拟机对应的虚拟机内存空间,从而实现虚拟机在Die间迁移时,虚拟机数据的迁移。
本申请实施例可实现虚拟机在Die间的迁移,并且在迁移虚拟机时,实现虚拟机标识的重新分配和保存,虚拟机的密钥的重新分配和保存,并且实现虚拟机数据在不同Die的虚拟机对应的虚拟机内存空间间的迁移。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
下面对本申请实施例提供的虚拟机标识处理装置进行介绍,下文描述的虚拟机标识处理装置,可以认为是虚拟机管理器为实现本申请实施例提供的虚拟机标识处理方法,所需设置的功能模块。下文描述的虚拟机标识处理装置的内容,可与上文描述的虚拟机标识处理方法的内容,相互对应参照。
在可选实现中,图16示出了本申请实施例提供的虚拟机标识处理装置的可选框图,该装置可基于多Die CPU,其中,各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;如图16所示,该装置可以包括:
当前Die标识确定模块100,用于在启动虚拟机时,确定当前Die对应的当前Die标识;
当前取值范围确定模块110,用于根据所述当前Die标识,确定虚拟机标识的当前取值范围,不同Die的Die标识对应的虚拟机标识的取值范围不同;
目标虚拟机标识确定模块120,用于在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识;
标识去除及保存模块130,用于去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,在物理地址中保存所述当前Die虚拟机标识。
可选的,目标虚拟机标识确定模块120,用于在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识,包括:
根据当前Die的第一位元映射,在所述当前取值范围内,按序寻找第一个空闲的虚拟机标识,将寻找到的第一个空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识;其中,所述第一位元映射使用bit,顺序标记当前取值范围内各虚拟机标识的使用状态,所述第一位元映射中的一个bit标记一个虚拟机标识的使用状态。
可选的,所述第一位元映射使用bit,具体按照虚拟机标识的取值由小到大的顺序,标记当前取值范围内各虚拟机标识的使用状态;相应的,目标虚拟机标识确定模块120,用于根据当前Die的第一位元映射,在所述当前取值范围内,按序寻找第一个空闲的虚拟机标识,包括:
按照虚拟机标识的取值由小到大的顺序,依序确定所述第一位元映射中bit的数值,将第一个确定的数值为0的bit相应的虚拟机标识,确定为寻找到的第一个空闲的虚拟机标识;其中,若所述第一位元映射的一个bit的数值为0,则该bit相应的虚拟机标识空闲,若所述第一位元映射的一个bit的数值为1,则该bit相应的虚拟机标识被使用。
可选的,图17示出了本申请实施例提供的虚拟机标识处理装置的另一可选框图,结合图16和图17所示,该装置还可以包括:
第一位元映射更新模块140,用于更新当前Die的第一位元映射中,标记目标虚拟机标识的使用状态的bit,以使得目标虚拟机标识在所述第一位元映射中标记的使用状态调整为被使用。
可选的,当前取值范围确定模块110,用于根据所述当前Die标识,确定虚拟机标识的当前取值范围,包括:
基于各Die的Die标识与虚拟机标识的取值范围的对应关系,确定与所述当前Die标识对应的虚拟机标识的当前取值范围。
可选的,不同Die的虚拟机标识的取值范围,按照Die的序号依次相连续。
可选的,所述当前Die标识位于所述目标虚拟机标识的高位bit,所述当前Die虚拟机标识位于所述目标虚拟机标识的低位bit;相应的,标识去除及保存模块130,用于去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,包括:
去除所述目标虚拟机标识中位于高位bit的当前Die标识,得到位于低位bit的当前Die虚拟机标识。
可选的,当前Die标识确定模块100,用于确定当前Die对应的当前Die标识,包括:
从安全处理器获取当前Die对应的当前Die标识。
本申请实施例还提供一种虚拟机管理器,该虚拟机管理器可通过装载上述虚拟机管理器角度描述的虚拟机标识处理装置,以实现本申请实施例提供的虚拟机管理器执行的虚拟机标识处理方法。本申请实施例提供的虚拟机管理器可被配置为,执行本申请实施例提供的虚拟机管理器角度的虚拟机标识处理方法。
下面从安全处理器的角度,对本申请实施例提供的虚拟机标识处理装置进行介绍,下文描述的虚拟机标识处理装置,可以认为是安全处理器为实现本申请实施例提供的虚拟机标识处理方法,所需设置的功能模块。下文描述的虚拟机标识处理装置的内容,可在前文描述的虚拟机管理器角度的虚拟机标识处理装置基础上实现,下文描述内容可与上文描述的虚拟机标识处理方法的内容,相互对应参照。
在可选实现中,图18示出了本申请实施例提供的虚拟机标识处理装置的再一可选框图,如图18所示,该装置可以包括:
激活通知获取模块200,用于在虚拟机管理器激活当前Die上的虚拟机后,获取所述虚拟机管理器传输的虚拟机激活通知;
密钥生成及写入模块210,用于生成所述虚拟机的密钥,将所述密钥写入当前Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器,其中,当前Die虚拟机标识为所述虚拟机的目标虚拟机标识中,去除当前Die的当前Die标识后剩余的信息。
可选的,图19示出了本申请实施例提供的虚拟机标识处理装置的又一可选框图,结合图18和图19所示,该装置还可以包括:
第二位元映射更新模块220,用于更新安全处理器的第二位元映射中,标记目标虚拟机标识的绑定状态的bit,以使得目标虚拟机标识在所述第二位元映射中标记的绑定状态调整为已绑定,其中,所述第二位元映射使用bit,标记虚拟机标识在激活的虚拟机的绑定状态,所述第二位元映射中的一个bit标记一个虚拟机标识的绑定状态。
可选的,图20示出了本申请实施例提供的虚拟机标识处理装置的又另一可选框图,结合图18和图20所示,该装置还可以包括:加解密处理模块230和虚拟机迁移模块240;
加解密处理模块230,用于在虚拟机运行过程中,若操作虚拟机的虚拟机数据,从保存虚拟机的Die虚拟机标识的物理地址中,解析出Die虚拟机标识;从所述Die虚拟机标识对应的UMC寄存器中,读取虚拟机的密钥;根据读取的密钥,对虚拟机的虚拟机数据进行加解密;
虚拟机迁移模块240,用于获取位于第一Die的第一虚拟机的第一密钥,使用所述第一密钥对所述第一虚拟机的虚拟机数据进行解密;将解密后的虚拟机数据使用设定密钥进行加密,将加密后的虚拟机数据迁移到设定内存空间;在位于第二Die的第二虚拟机启动后,从第二虚拟机的当前Die虚拟机标识对应的UMC寄存器中,读取第二虚拟机的第二密钥,其中,虚拟机管理器在为位于第二Die的第二虚拟机分配目标虚拟机标识后,所述目标虚拟机标识中的当前Die虚拟机标识保存在物理地址中,并且与所述当前Die虚拟机标识绑定的第二密钥,写入第二Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器;将设定内存空间中的加密后虚拟机数据,使用设定密钥进行解密,将解密后的虚拟机数据,使用第二密钥进行加密;将使用第二密钥加密后的虚拟机数据,加载到在所述第二虚拟机对应的虚拟机内存空间。
可选的,加解密处理模块230和虚拟机迁移模块240也可择一使用。
本申请实施例还提供一种安全处理器,该安全处理器可通过装载上述安全处理器角度描述的虚拟机标识处理装置,以实现本申请实施例提供的安全处理器执行的虚拟机标识处理方法。本申请实施例提供的安全处理器可被配置为,执行本申请实施例提供的安全处理器角度的虚拟机标识处理方法。
本申请实施例还提供一种芯片,该芯片可以包括多Die CPU及安全处理器,多DieCPU中的各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;其中,Die上运行的虚拟机管理器可以如上述所述的虚拟机管理器,芯片中包含的安全处理器可以如所述的安全处理器。
本申请实施例还提供一种电子设备,该电子设备可以包括上述所述的芯片。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

Claims (20)

1.一种虚拟机标识处理方法,其特征在于,所述方法基于多Die CPU,其中,各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;所述方法应用于虚拟机管理器,所述方法包括:
在启动虚拟机时,确定当前Die对应的当前Die标识;
根据所述当前Die标识,确定虚拟机标识的当前取值范围,不同Die的Die标识对应的虚拟机标识的取值范围不同;
在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识;
去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,在物理地址中保存所述当前Die虚拟机标识。
2.根据权利要求1所述的虚拟机标识处理方法,其特征在于,所述在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识包括:
根据当前Die的第一位元映射,在所述当前取值范围内,按序寻找第一个空闲的虚拟机标识,将寻找到的第一个空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识;其中,所述第一位元映射使用bit,顺序标记当前取值范围内各虚拟机标识的使用状态,所述第一位元映射中的一个bit标记一个虚拟机标识的使用状态。
3.根据权利要求2所述的虚拟机标识处理方法,其特征在于,所述第一位元映射使用bit,具体按照虚拟机标识的取值由小到大的顺序,标记当前取值范围内各虚拟机标识的使用状态;
所述根据当前Die的第一位元映射,在所述当前取值范围内,按序寻找第一个空闲的虚拟机标识包括:
按照虚拟机标识的取值由小到大的顺序,依序确定所述第一位元映射中bit的数值,将第一个确定的数值为0的bit相应的虚拟机标识,确定为寻找到的第一个空闲的虚拟机标识;其中,若所述第一位元映射的一个bit的数值为0,则该bit相应的虚拟机标识空闲,若所述第一位元映射的一个bit的数值为1,则该bit相应的虚拟机标识被使用。
4.根据权利要求2或3所述的虚拟机标识处理方法,其特征在于,还包括:
更新当前Die的第一位元映射中,标记目标虚拟机标识的使用状态的bit,以使得目标虚拟机标识在所述第一位元映射中标记的使用状态调整为被使用。
5.根据权利要求1所述的虚拟机标识处理方法,其特征在于,所述根据所述当前Die标识,确定虚拟机标识的当前取值范围包括:
基于各Die的Die标识与虚拟机标识的取值范围的对应关系,确定与所述当前Die标识对应的虚拟机标识的当前取值范围。
6.根据权利要求5所述的虚拟机标识处理方法,其特征在于,不同Die的虚拟机标识的取值范围,按照Die的序号依次相连续。
7.根据权利要求1所述的虚拟机标识处理方法,其特征在于,所述当前Die标识位于所述目标虚拟机标识的高位bit,所述当前Die虚拟机标识位于所述目标虚拟机标识的低位bit;所述去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识包括:
去除所述目标虚拟机标识中位于高位bit的当前Die标识,得到位于低位bit的当前Die虚拟机标识。
8.根据权利要求1所述的虚拟机标识处理方法,其特征在于,所述确定当前Die对应的当前Die标识包括:
从安全处理器获取当前Die对应的当前Die标识。
9.一种虚拟机标识处理方法,其特征在于,所述方法应用于安全处理器,所述方法基于权利要求1-8任一项所述的虚拟机标识处理方法,所述方法包括:
在虚拟机管理器激活当前Die上的虚拟机后,获取所述虚拟机管理器传输的虚拟机激活通知;
生成所述虚拟机的密钥,将所述密钥写入当前Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器,其中,当前Die虚拟机标识为所述虚拟机的目标虚拟机标识中,去除当前Die的当前Die标识后剩余的信息。
10.根据权利要求9所述的虚拟机标识处理方法,其特征在于,还包括:
更新安全处理器的第二位元映射中,标记目标虚拟机标识的绑定状态的bit,以使得目标虚拟机标识在所述第二位元映射中标记的绑定状态调整为已绑定,其中,所述第二位元映射使用bit,标记虚拟机标识在激活的虚拟机的绑定状态,所述第二位元映射中的一个bit标记一个虚拟机标识的绑定状态。
11.根据权利要求9所述的虚拟机标识处理方法,其特征在于,还包括:
在虚拟机运行过程中,若操作虚拟机的虚拟机数据,从保存虚拟机的Die虚拟机标识的物理地址中,解析出Die虚拟机标识;
从所述Die虚拟机标识对应的UMC寄存器中,读取虚拟机的密钥;
根据读取的密钥,对虚拟机的虚拟机数据进行加解密。
12.根据权利要求9所述的虚拟机标识处理方法,其特征在于,还包括:
获取位于第一Die的第一虚拟机的第一密钥,使用所述第一密钥对所述第一虚拟机的虚拟机数据进行解密;
将解密后的虚拟机数据使用设定密钥进行加密,将加密后的虚拟机数据迁移到设定内存空间;
在位于第二Die的第二虚拟机启动后,从第二虚拟机的当前Die虚拟机标识对应的UMC寄存器中,读取第二虚拟机的第二密钥;其中,虚拟机管理器在为位于第二Die的第二虚拟机分配目标虚拟机标识后,所述目标虚拟机标识中的当前Die虚拟机标识保存在物理地址中,并且与所述当前Die虚拟机标识绑定的第二密钥,写入第二Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器;
将设定内存空间中的加密后虚拟机数据,使用设定密钥进行解密,将解密后的虚拟机数据,使用第二密钥进行加密;
将使用第二密钥加密后的虚拟机数据,加载到所述第二虚拟机对应的虚拟机内存空间。
13.一种虚拟机标识处理装置,其特征在于,所述装置基于多Die CPU,其中,各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;所述装置应用于虚拟机管理器,所述装置包括:
当前Die标识确定模块,用于在启动虚拟机时,确定当前Die对应的当前Die标识;
当前取值范围确定模块,用于根据所述当前Die标识,确定虚拟机标识的当前取值范围,不同Die的Die标识对应的虚拟机标识的取值范围不同;
目标虚拟机标识确定模块,用于在所述当前取值范围内,确定空闲的虚拟机标识作为分配给所述虚拟机的目标虚拟机标识,所述目标虚拟机标识包括所述当前Die标识以及当前Die虚拟机标识;
标识去除及保存模块,用于去除所述目标虚拟机标识中的当前Die标识,得到当前Die虚拟机标识,在物理地址中保存所述当前Die虚拟机标识。
14.一种虚拟机标识处理装置,其特征在于,所述装置应用于安全处理器,所述装置包括:
激活通知获取模块,用于在虚拟机管理器激活当前Die上的虚拟机后,获取所述虚拟机管理器传输的虚拟机激活通知;
密钥生成及保存模块,用于生成所述虚拟机的密钥,将所述密钥写入当前Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器,其中,当前Die虚拟机标识为所述虚拟机的目标虚拟机标识中,去除当前Die的当前Die标识后剩余的信息。
15.根据权利要求14所述的虚拟机标识处理装置,其特征在于,还包括:
加解密处理模块,用于在虚拟机运行过程中,若操作虚拟机的虚拟机数据,从保存虚拟机的Die虚拟机标识的物理地址中,解析出Die虚拟机标识;从所述Die虚拟机标识对应的UMC寄存器中,读取虚拟机的密钥;根据读取的密钥,对虚拟机的虚拟机数据进行加解密。
16.根据权利要求14所述的虚拟机标识处理装置,其特征在于,还包括:
虚拟机迁移模块,用于获取位于第一Die的第一虚拟机的第一密钥,使用所述第一密钥对所述第一虚拟机的虚拟机数据进行解密;将解密后的虚拟机数据使用设定密钥进行加密,将加密后的虚拟机数据迁移到设定内存空间;在位于第二Die的第二虚拟机启动后,从第二虚拟机的当前Die虚拟机标识对应的UMC寄存器中,读取第二虚拟机的第二密钥,其中,虚拟机管理器在为位于第二Die的第二虚拟机分配目标虚拟机标识后,所述目标虚拟机标识中的当前Die虚拟机标识保存在物理地址中,并且与所述当前Die虚拟机标识绑定的第二密钥,写入第二Die在内存控制器中的与当前Die虚拟机标识对应的UMC寄存器;将设定内存空间中的加密后虚拟机数据,使用设定密钥进行解密,将解密后的虚拟机数据,使用第二密钥进行加密;将使用第二密钥加密后的虚拟机数据,加载到在所述第二虚拟机对应的虚拟机内存空间。
17.一种虚拟机管理器,其特征在于,所述虚拟机管理器被配置为执行如权利要求1-8任一项所述的虚拟机标识处理方法。
18.一种安全处理器,其特征在于,所述安全处理器被配置为执行如权利要求9-12任一项所述的虚拟机标识处理方法。
19.一种芯片,其特征在于,所述芯片包括多Die CPU及安全处理器,多Die CPU中的各Die分别运行虚拟机管理器,以在各Die分别虚拟化出虚拟机;其中,所述虚拟机管理器如权利要求17所述的虚拟机管理器,所述安全处理器如权利要求18所述的安全处理器。
20.一种电子设备,其特征在于,包括如权利要求19所述的芯片。
CN202011129797.7A 2020-10-21 2020-10-21 一种虚拟机标识处理方法、装置及相关设备 Active CN112241308B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011129797.7A CN112241308B (zh) 2020-10-21 2020-10-21 一种虚拟机标识处理方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011129797.7A CN112241308B (zh) 2020-10-21 2020-10-21 一种虚拟机标识处理方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN112241308A true CN112241308A (zh) 2021-01-19
CN112241308B CN112241308B (zh) 2022-07-29

Family

ID=74169444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011129797.7A Active CN112241308B (zh) 2020-10-21 2020-10-21 一种虚拟机标识处理方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN112241308B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778679A (zh) * 2021-09-06 2021-12-10 北京字节跳动网络技术有限公司 资源调度方法、资源调度装置、电子设备和可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402399A (zh) * 2010-08-17 2012-04-04 微软公司 带有非对称存储器的系统中的虚拟机存储器管理
US20170155620A1 (en) * 2015-11-29 2017-06-01 Red Hat Israel, Ltd. Mac address allocation for virtual machines
CN109725847A (zh) * 2017-10-30 2019-05-07 东芝存储器株式会社 存储器系统及控制方法
CN110597451A (zh) * 2018-06-12 2019-12-20 华为技术有限公司 一种虚拟化缓存的实现方法及物理机
CN111488294A (zh) * 2016-02-24 2020-08-04 三星电子株式会社 大容量存储器装置、包括其的系统以及访问其的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402399A (zh) * 2010-08-17 2012-04-04 微软公司 带有非对称存储器的系统中的虚拟机存储器管理
US20170155620A1 (en) * 2015-11-29 2017-06-01 Red Hat Israel, Ltd. Mac address allocation for virtual machines
CN111488294A (zh) * 2016-02-24 2020-08-04 三星电子株式会社 大容量存储器装置、包括其的系统以及访问其的方法
CN109725847A (zh) * 2017-10-30 2019-05-07 东芝存储器株式会社 存储器系统及控制方法
CN110597451A (zh) * 2018-06-12 2019-12-20 华为技术有限公司 一种虚拟化缓存的实现方法及物理机

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778679A (zh) * 2021-09-06 2021-12-10 北京字节跳动网络技术有限公司 资源调度方法、资源调度装置、电子设备和可读存储介质
CN113778679B (zh) * 2021-09-06 2023-03-10 抖音视界有限公司 资源调度方法、资源调度装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
CN112241308B (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN109901911B (zh) 一种信息设置方法、控制方法、装置及相关设备
EP3602376B1 (en) Monitoring of memory page transitions between a hypervisor and a virtual machine
JP5581403B2 (ja) メモリのセキュア領域および非セキュア領域へのセキュアモードページテーブルデータの格納
WO2018041075A1 (zh) 一种应用于计算机的资源访问方法和计算机
US20210216453A1 (en) Systems and methods for input/output computing resource control
US10938559B2 (en) Security key identifier remapping
CN111090869B (zh) 一种数据加密方法、处理器及计算机设备
KR101323858B1 (ko) 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
CN109739613B (zh) 嵌套页表的维护方法、访问控制方法及相关装置
TW201812588A (zh) 分配連續物理記憶體空間到裝置的方法及系統
US11734430B2 (en) Configuration of a memory controller for copy-on-write with a resource controller
CN111949372B (zh) 一种虚拟机迁移方法、通用处理器及电子设备
CN111967065B (zh) 一种数据保护方法、处理器及电子设备
US7797508B2 (en) Fair memory resource control for mapped memory
US8751724B2 (en) Dynamic memory reconfiguration to delay performance overhead
CN112241308B (zh) 一种虚拟机标识处理方法、装置及相关设备
US7389398B2 (en) Methods and apparatus for data transfer between partitions in a computer system
CN115640099A (zh) 虚拟机控制块的安全保护方法、装置及相关器件
CN116126463A (zh) 内存访问方法、配置方法、计算机系统及相关器件
CN112256394B (zh) 一种进程安全方法、装置、cpu、芯片及计算机设备
US20220318040A1 (en) System and method for providing page migration
CN116126455A (zh) 一种虚拟机的数据处理方法、计算设备及存储介质
JP4354583B2 (ja) アクセス方法及びアクセス処理プログラムを記録した記録媒体
CN112052069B (zh) 一种写、读虚拟机标识的方法、装置及相关设备
CN108932205B (zh) 一种防御RowHammer攻击的方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant