一种实现内存访问的方法、装置和系统制造方法及图纸

技术编号:14048302 阅读:62 留言:0更新日期:2016-11-23 23:57
本发明专利技术公开了一种实现内存访问的方法、装置及系统,所述方法包括:计算机的操作系统通过调用UEFI BIOS的接口向所述UEFI BIOS发送包括访问地址和访问长度的内存访问请求,所述UEFI BIOS根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于内存池中为所述计算机分配的内存空间,通过系统总线向内存管理设备发送所述内存访问请求以请求访问起始位置的物理地址为所述访问地址、长度为所述访问长度的内存空间。根据本发明专利技术实施例,计算机可以使用计算机外部的内存池中的内存空间,从而解决了现有技术存在的内存空间不足的问题。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种实现内存访问的方法、装置及系统。
技术介绍
数据中心(Data Center)是数据计算、存储的中心。进入云数据中心时代后,通过引用虚拟化技术,将数据中心的计算机、存储设备集中管理,形成统一的共享资源池,提高资源利用率,并有效地降低硬件的成本以及后续的运营费用。然而,在现有技术中,各计算机的处理器和该计算机的内存之间通过双列直插式存储模块(Dual-Inline-Memory-Modules,DIMM)总线直接连接,处理器直接通过该DIMM总线访问本计算机上的内存。由于DIMM总线布线要求限制了处理器和内存的距离,因此各计算机只能访问本计算机上的内存,而计算机内部所能提供的内存槽数量受限,因此在实际应用中往往存在内存空间不足的问题。
技术实现思路
本专利技术实施例提供一种实现内存访问的方法、装置和系统,用于解决现有技术中存在的内存空间不足的问题。第一方面,提供了一种实现内存访问的方法,所述方法应用于包括计算机、内存管理设备和内存池的系统,其中,所述计算机通过系统总线与所述
内存管理设备相连,所述内存管理设备与所述内存池相连,所述内存池包括多个存储器;所述方法包括:所述计算机的操作系统通过调用所述计算机的统一可扩展固件接口基本输入输出系统UEFI BIOS的接口向所述UEFI BIOS发送内存访问请求,所述内存访问请求包括访问地址和访问长度;所述UEFI BIOS根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于所述内存池中为所述计算机分配的内存空间,通过所述系统总线向所述内存管理设备发送所述内存访问请求以请求访问起始位置的物理地址为所述访问地址、长度为所述访问长度的内存空间。在第一方面的第一种可能的实现方式中,所述根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于所述内存池中为所述计算机分配的内存空间,具体包括:根据物理地址空间表确定所述访问地址在所述内存池中为所述计算机分配的内存空间的物理地址范围,所述物理地址空间表包括所述内存池中为所述计算机分配的内存空间的物理地址范围。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:所述UEFI BIOS在所述计算机启动时确定需要所述内存管理设备为所述计算机分配的内存空间的长度,并向所述内存管理设备发送包括所述长度的内存分配请求,以请求所述内存管理设备在所述内
存池中为所述计算机分配所述长度的内存空间。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定需要所述内存管理设备为所述计算机分配的内存空间的长度具体包括:检查所述第一计算机中的本地内存的长度,将预设的所述第一计算机需要使用的总内存空间的长度与所述本地内存的长度的差值确定为需要所述内存管理设备为所述第一计算机分配的内存空间的长度。第二方面,提供了一种实现内存访问的方法,所述方法由内存管理装置执行;所述方法包括:接收与所述内存管理装置相连的第一计算机发送的内存访问请求,所述内存访问请求用于请求访问待访问内存空间,包括访问地址和访问长度,所述访问地址为所述内存访问请求所请求访问的待访问内存空间的起始位置的物理地址,所述访问长度为所述待访问内存空间的长度;确定内存池中的已分配给所述第一计算机的内存空间的地址信息,所述内存池包括多个存储器,根据所述内存空间的地址信息和所述访问地址确定所述起始位置在所述内存池中的地址,并根据所述起始位置在所述内存池中的地址和所述访问长度访问所述待访问内存空间。在第二方面的第一种可能的实现方式中,所述确定所述内存池中的已分配给所述第一计算机的内存空间之前还包括:在所述内存池中为所述第一计算机分配所述内存空间,所述内存空间包括至少一个连续的子内存空间,记录用于标识所述第一计算机的计算机标识和所述内存空间的地址信息,所述内存空间的地址信息包括各子内存空间的起始位置的物理地址和该起始位置在所述内存池中的地址的映射关系;所述确定所述内存池中的已分配给所述第一计算机的内存空间的地址信息,根据所述内存空间的地址信息和所述访问地址确定所述起始位置在所述内存池中的地址,具体包括:根据所述第一计算机的标识确定记录的分配给所述第一计算机的内存空间的地址信息,根据所述访问地址、以及记录的各子内存空间的起始位置的物理地址和该起始位置在所述内存池中的地址的的映射关系,确定所述待访问内存空间的起始位置在所述内存池中的地址。结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述在所述内存池中为所述第一计算机分配所述内存空间之后还包括:在接收到所述第一计算机发送的内存释放请求时释放为所述第一计算机分配的内存空间,并将释放的所述内存空间标为空闲状态;在接收到与所述内存管理装置相连的第二计算机发送的内存分配请求时,从所述内存池中标为空闲状态的内存空间中为所述第二计算机分配内存
空间。结合第二方面或第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述内存管理装置部署在实现内存访问的系统的内存管理设备中,所述系统还包括所述第一计算机和所述内存池,其中,所述第一计算机通过所述系统总线与所述内存管理设备相连,所述内存管理设备与所述内存池相连。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述内存管理设备包括内存交换机和内存控制设备,所述内存交换机与所述内存控制设备相连,所述内存控制设备和所述内存池相连;所述内存管理装置部署在所述内存交换机中;其中,所述访问单元具体用于通过所述内存控制设备访问所述待访问内存空间;或者,所述内存管理装置部署在所述内存控制设备中;其中,所述接收第一计算机发送的内存访问请求具体为,所述内存控制设备通过所述内存交换机接收所述第一计算机发送的所述内存访问请求,所述内存访问请求包括所述内存交换机添加的所述第一计算机的计算机标识;所述确定内存池中的已分配给所述第一计算机的内存空间具体为,所述内存控制设备根据所述计算机标识确定分配给所述第一计算机的内存空间。第三方面,提供了一种实现内存访问的方法,其特征在于,所述方法应
用于包括计算机、内存交换机、内存控制设备和内存池的系统,其中,所述计算机通过系统总线与所述内存交换机相连,所述内存交换机与所述内存控制设备相连,所述内存控制设备与内存池相连,所述内存池包括多个存储器;所述方法包括:所述内存交换机接收所述计算机发送的内存访问请求,所述内存访问请求用于请求访问待访问内存空间,包括访问地址和访问长度,所述访问地址为所述内存访问请求所请求访问的待访问内存空间的起始位置的物理地址,所述访问长度为所述待访问内存空间的长度;所述内存交换机根据与所述计算机所连接的端口确定发送所述内存访问请求的计算机为所述计算机,将用于标识所述计算机的计算机标识添加到所述内存访问请求中,并将携带所述计算机标识的内存访问请求发送给所述内存控制设备,以使得所述内存控制设备根据所述计算机标识确定分配给所述计算机的内存空间,并访问所述内存空间中的所述待访问内存空间。在第三方面的第一种可能的实现方式中,所述系统包括至少两个内存控制设备,各内存控制设备分别和一个所述内存池相连;所述内存交换机向所本文档来自技高网
...
一种实现内存访问的方法、装置和系统

【技术保护点】
一种实现内存访问的方法,其特征在于,所述方法应用于包括计算机、内存管理设备和内存池的系统,其中,所述计算机通过系统总线与所述内存管理设备相连,所述内存管理设备与所述内存池相连,所述内存池包括多个存储器;所述方法包括:所述计算机的操作系统通过调用所述计算机的统一可扩展固件接口基本输入输出系统UEFI BIOS的接口向所述UEFI BIOS发送内存访问请求,所述内存访问请求包括访问地址和访问长度;所述UEFI BIOS根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于所述内存池中为所述计算机分配的内存空间,通过所述系统总线向所述内存管理设备发送所述内存访问请求以请求访问起始位置的物理地址为所述访问地址、长度为所述访问长度的内存空间。

【技术特征摘要】
1.一种实现内存访问的方法,其特征在于,所述方法应用于包括计算机、内存管理设备和内存池的系统,其中,所述计算机通过系统总线与所述内存管理设备相连,所述内存管理设备与所述内存池相连,所述内存池包括多个存储器;所述方法包括:所述计算机的操作系统通过调用所述计算机的统一可扩展固件接口基本输入输出系统UEFI BIOS的接口向所述UEFI BIOS发送内存访问请求,所述内存访问请求包括访问地址和访问长度;所述UEFI BIOS根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于所述内存池中为所述计算机分配的内存空间,通过所述系统总线向所述内存管理设备发送所述内存访问请求以请求访问起始位置的物理地址为所述访问地址、长度为所述访问长度的内存空间。2.如权利要求1所述的方法,其特征在于,所述根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于所述内存池中为所述计算机分配的内存空间,具体包括:根据物理地址空间表确定所述访问地址在所述内存池中为所述计算机分配的内存空间的物理地址范围,所述物理地址空间表包括所述内存池中为所述计算机分配的内存空间的物理地址范围。3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:所述UEFI BIOS在所述计算机启动时确定需要所述内存管理设备为所述计算机分配
\t的内存空间的长度,并向所述内存管理设备发送包括所述长度的内存分配请求,以请求所述内存管理设备在所述内存池中为所述计算机分配所述长度的内存空间。4.如权利要求3所述的方法,其特征在于,所述确定需要所述内存管理设备为所述计算机分配的内存空间的长度具体包括:检查所述第一计算机中的本地内存的长度,将预设的所述第一计算机需要使用的总内存空间的长度与所述本地内存的长度的差值确定为需要所述内存管理设备为所述第一计算机分配的内存空间的长度。5.一种实现内存访问的方法,其特征在于,所述方法由内存管理装置执行;所述方法包括:接收与所述内存管理装置相连的第一计算机发送的内存访问请求,所述内存访问请求用于请求访问待访问内存空间,包括访问地址和访问长度,所述访问地址为所述内存访问请求所请求访问的待访问内存空间的起始位置的物理地址,所述访问长度为所述待访问内存空间的长度;确定内存池中的已分配给所述第一计算机的内存空间的地址信息,所述内存池包括多个存储器,根据所述内存空间的地址信息和所述访问地址确定所述起始位置在所述内存池中的地址,并根据所述起始位置在所述内存池中
\t的地址和所述访问长度访问所述待访问内存空间。6.如权利要求5所述的方法,其特征在于,所述确定所述内存池中的已分配给所述第一计算机的内存空间之前还包括:在所述内存池中为所述第一计算机分配所述内存空间,所述内存空间包括至少一个连续的子内存空间,记录用于标识所述第一计算机的计算机标识和所述内存空间的地址信息,所述内存空间的地址信息包括各子内存空间的起始位置的物理地址和该起始位置在所述内存池中的地址的映射关系;所述确定所述内存池中的已分配给所述第一计算机的内存空间的地址信息,根据所述内存空间的地址信息和所述访问地址确定所述起始位置在所述内存池中的地址,具体包括:根据所述第一计算机的标识确定记录的分配给所述第一计算机的内存空间的地址信息,根据所述访问地址、以及记录的各子内存空间的起始位置的物理地址和该起始位置在所述内存池中的地址的的映射关系,确定所述待访问内存空间的起始位置在所述内存池中的地址。7.如权利要求5或6所述的方法,其特征在于,所述在所述内存池中为所述第一计算机分配所述内存空间之后还包括:在接收到所述第一计算机发送的内存释放请求时释放为所述第一计算机分配的内存空间,并将释放的所述内存空间标为空闲状态;在接收到与所述内存管理装置相连的第二计算机发送的内存分配请求时,从所述内存池中标为空闲状态的内存空间中为所述第二计算机分配内存空间。8.如权利要求5-7任一所述的方法,其特征在于,所述内存管理装置部署在实现内存访问的系统的内存管理设备中,所述系统还包括所述第一计算机和所述内存池,其中,所述第一计算机通过所述系统总线与所述内存管理设备相连,所述内存管理设备与所述内存池相连。9.如权利要求8所述的方法,其特征在于,所述内存管理设备包括内存交换机和内存控制设备,所述内存交换机与所述内存控制设备相连,所述内存控制设备和所述内存池相连;所述内存管理装置部署在所述内存交换机中;其中,所述访问单元具体用于通过所述内存控制设备访问所述待访问内存空间;或者,所述内存管理装置部署在所述内存控制设备中;其中,所述接收第一计算机发送的内存访问请求具体为,所述内存控制设备通过所述内存交换机接收所述第一计算机发送的所述内存访问请求,所述内存访问请求包括所述内存交换机添加的所述第一计算机的计算机标识;所述确定内存池中的已分配给所述第一计算机的内存空间具体为,所述内存控制设备根据所述计算机标识确定分配给所述第一计算机的内存空间。10.一种实现内存访问的方法,其特征在于,所述方法应用于包括计算机、内存交换机、内存控制设备和内存池的系统,其中,所述计算机通过系统总线与所述内存交换机相连,所述内存交换机与所述内存控制设备相连,所述内存控制设备与内存池相连,所述内存池包括多个存储器;所述方法包括:所述内存交换机接收所述计算机发送的内存访问请求,所述内存访问请求用于请求访问待访问内存空间,包括访问地址和访问长度,所述访问地址为所述内存访问请求所请求访问的待访问内存空间的起始位置的物理地址,所述访问长度为所述待访问内存空间的长度;所述内存交换机根据与所述计算机所连接的端口确定发送所述内存访问请求的计算机为所述计算机,将用于标识所述计算机的计算机标识添加到所述内存访问请求中,并将携带所述计算机标识的内存访问请求发送给所述内存控制设备,以使得所述内存控制设备根据所述计算机标识确定分配给所述计算机的内存空间,并访问所述内存空间中的所述待访问内存空间。11.如权利要求10所述的方法,其特征在于,所述系统包括至少两个内存控制设备,各内存控制设备分别和一个所述内存池相连;所述内存交换机向所述内存控制设备发送携带所述计算机标识的内存访
\t问请求之前还包括:所述内存交换机在接收到所述计算机发送的内存分配请求时,选择所述至少两个内存控制设备中的第一内存控制设备为所述计算机分配所述内存空间,并记录所述计算机的计算机标识和所述第一内存控制设备的装置标识的对应关系;所述内存交换机根据所述对应关系确定需要将所述内存访问请求发送给所述第一内存控制设备。12.一种计算机,其特征在于,所述计算机通过系统总线与内存管理设备相连,所述内存管理设备与内存池相连,所述内存池包括多个存储器;所述计算机包括操作系统模块和BIOS模块,所述操作系统模块用于实现所述计算机的操作系统的功能,所述BIOS模块用于实现所述计算机的UEFI BIOS的功能;所述操作系统模块,用于通过调用所述BIOS模块的接口向所述BIOS模块发送内存访问请求,所述内存访问请求包括访问地址和访问长度;所述BIOS模块,用于根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于所述内存池中为所述计算机分配的内存空间,通过所述系统总线向所述内存管理设备发送所述内存访问请求以请求访问起始位置的物
\t理地址为所述访问地址、长度为所述访问长度的内存空间。13.如权利要求12所述的计算机,其特征在于,所述BIOS模块用于根据所述访问地址确定所述内存访问请求所请求访问的内存空间属于所述内存池中为所述计算机分配的内存空间具体包括:所述BIOS模块用于根据物理地址空间表确定所述访问地址在所述内存池中为所述计算机分配的内存空间的物理地址范围,所述物理地址空间表包括所述内存池中为所述计算机分配的内存空间的物理地址范围。14.如权利要求12或13所述的计算机,其特征在于,所述BIOS模块,还用于在所述计算机启动时确定需要所述内存管理设备为所述计算机分配的内存空间的长度,向所述内存管理设备发送包括所述长度的内存分配请求,以请求所述内存管理设备在所述内存池中为所述计算机分配所述长度的内存空间。15.如权利要求14所述的计算机,其特征在于,所述BIOS模块用于确定需要所述内存管理设备为所述计算机分配的内存空间的长度具体包括:所述BIOS模块,用于检查所述计算机中的本地内存的长度,将预设的所述第一计算机需要使用的总内存空间的长度与所述本地内存的长度的差值确...

【专利技术属性】
技术研发人员:范多亮王浩郭凯沈利刘和洋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1