内存读写指令的执行方法及计算设备技术

技术编号:34988299 阅读:20 留言:0更新日期:2022-09-21 14:33
本申请提供了一种内存读写指令的执行方法及计算设备,属于计算机领域。本申请在虚拟地址对应的页表项中启用字段携带镜像指示信息,从而指明虚拟地址标识的内存空间已经启用了镜像保护。在收到内存读写指令时,如果发现内存读写指令携带的虚拟地址对应的页表项存在镜像指示信息,则主地址和备地址对应的两个内存空间均进行读写操作,从而支持了动态内存镜像功能,能够一定程度上解决现有内存镜像方案的局限性。案的局限性。案的局限性。

【技术实现步骤摘要】
内存读写指令的执行方法及计算设备


[0001]本申请涉及计算机领域,特别涉及一种内存读写指令的执行方法及计算设备。

技术介绍

[0002]内存镜像(memory mirror)是一种内存保护技术。已启用内存镜像的内存空间包括主内存空间和镜像内存空间。主内存空间用于供内存控制器读取数据,镜像内存空间用于保存主内存空间中数据的备份。当主内存空间故障时,计算机能够从镜像内存空间恢复数据,从而提升内存稳定性和可用性。
[0003]时下,管理员会预先设定启用内存镜像的内存空间、镜像内存空间的尺寸以及基于内存镜像保护的软件模块等参数。计算机启动后,会固定通过预先设定的内存空间实现内存镜像。
[0004]然而,上述方案中若预先设定的启用内存镜像的内存空间尺寸过小,容易导致对镜像内存的需求无法满足而导致内存溢出(out of memory,OOM),若预先设定的启用内存镜像的内存空间过大,会导致内存空间的浪费。由此可见,上述方案存在一定程度的局限性。

技术实现思路

[0005]本申请实施例提供了一种内存读写指令的执行方法及计算设备,有助于支持动态内存镜像的功能从而一定程度上解决现有内存镜像方案的局限性。所述技术方案如下。
[0006]第一方面,提供了一种内存读写指令的执行方法,所述方法包括:接收内存读写指令,所述内存读写指令携带目标内存空间的虚拟地址;响应于所述虚拟地址对应的页表项包括镜像指示信息,根据所述虚拟地址确定主地址和镜像地址,所述镜像指示信息用于标识所述目标内存空间已启用内存镜像,所述主地址为所述目标内存空间中主内存空间的物理地址,所述镜像地址为所述目标内存空间中镜像内存空间的物理地址;根据所述主地址和所述镜像地址,对所述主内存空间和所述镜像内存空间执行所述内存读写指令对应的操作。
[0007]上述方法在虚拟地址对应的页表项中启用字段携带镜像指示信息,从而指明虚拟地址标识的内存空间已经启用了镜像保护。在收到内存读写指令时,如果发现内存读写指令携带的虚拟地址对应的页表项存在镜像指示信息,则主地址和备地址对应的两个内存空间均进行读写操作,从而支持了动态内存镜像功能,能够一定程度上解决现有内存镜像方案的局限性。
[0008]可选地,所述镜像内存空间和所述主内存空间位于不同的通道。
[0009]通过这种方式,能够利用多个通道并行地对镜像内存空间和主内存空间,从而提升读写性能。
[0010]可选地,所述镜像内存空间与所述主内存空间相隔至少一个缓存行尺寸的距离。
[0011]通过这种方式,让地址计算的方式尽可能简便,降低实现复杂度。
[0012]可选地,所述主地址包括的偏移地址是根据缓存行尺寸以及所述虚拟地址包括的偏移地址确定的。
[0013]通过这种方式,根据内存读写指令携带的虚拟地址以及缓存行尺寸即可确定主地址,计算复杂度低。
[0014]可选地,所述根据所述主地址和所述镜像地址,对所述主内存空间和所述镜像内存空间执行所述内存读写指令对应的操作,包括:响应于所述主地址对应的ECC空间以及所述镜像地址对应的ECC空间均包括所述镜像指示信息,根据所述主地址和所述镜像地址,对所述主内存空间和所述镜像内存空间执行所述内存读写指令对应的操作。
[0015]通过这种方式,有助于避免非镜像内存空间被执行镜像读写操作,确保镜像保护的页只用于镜像读写操作。
[0016]可选地,所述接收内存读写指令之前,所述方法还包括:接收指定对象的内存分配请求;响应于所述指定对象的镜像标志置为设定值,为所述指定对象分配所述目标内存空间;其中,所述镜像标志在置为设定值时指示为指定对象分配包括主内存空间和镜像内存空间的内存空间。
[0017]通过上述方式,针对指定对象运行时实际请求分配的内存采用镜像保护,避免预设过大的镜像内存导致内存资源浪费,同时避免预设的镜像内存不足导致业务中断。
[0018]可选地,所述接收指定对象的内存分配请求之后,所述方法还包括:向所述虚拟地址对应的页表项、所述主地址对应的ECC空间以及所述镜像地址对应的ECC空间分别写入所述镜像指示信息。
[0019]通过上述方式,将指定对象对应的页表项以及ECC空间中设置镜像指示信息,便于计算机各硬件识别指定对象的内存受到镜像保护。
[0020]可选地,所述接收指定对象的内存分配请求之前,所述方法还包括:响应于内存镜像指令,将所述指定对象的镜像标志修改为所述设定值,所述内存镜像指令指示针对所述指定对象所需的内存空间启用内存镜像。
[0021]通过上述方式,便于通过编程接口触发指令来定义对哪个对象启用镜像保护,便于满足自定义需求,提高灵活性。
[0022]可选地,所述虚拟地址标识的每一个虚拟页对应于两个相邻的物理页。
[0023]可选地,所述方法还包括:响应于所述镜像内存空间发生故障,隔离所述镜像内存空间;为所述虚拟地址重新分配镜像内存空间,将所述主内存空间保存的数据写入至重新分配的镜像内存空间。
[0024]通过上述方式,从而降低内存故障对系统的影响,提高可靠性。
[0025]第二方面,提供了一种内存读写指令的执行装置,该装置具有实现上述第一方面或第一方面任一种可选方式的功能。该装置包括至少一个单元,至少一个单元用于实现上述第一方面或第一方面任一种可选方式所提供的方法。在一些实施例中,该装置中的单元通过软件实现,装置中的单元是程序模块。在另一些实施例中,该装置中的单元通过硬件或固件实现。第二方面提供的装置的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
[0026]第三方面,提供了一种计算设备,该计算设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述程序代码由所述处理器加载并执行以实现上述第一方面或
第一方面任一种可选方式所提供的方法。
[0027]第四方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。
[0028]第五方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并运行时,使得所述计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。
[0029]第六方面,提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。
[0030]第七方面,提供了一种计算设备,所述计算设备包括内存管理单元(memory management unit,MMU)、内存控制器(memory controller,MC)和内存;所述MMU,用于接收内存读写指令,所述内存读写指令携带目标内存空间的虚拟地址;所述MMU,还用于响应于所述虚拟地址对应的页表项包括镜像指示信息,根据所述虚拟地址确定主地址和镜像地址,所述镜本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存读写指令的执行方法,其特征在于,所述方法包括:接收内存读写指令,所述内存读写指令携带目标内存空间的虚拟地址;响应于所述虚拟地址对应的页表项包括镜像指示信息,根据所述虚拟地址确定主地址和镜像地址,所述镜像指示信息用于标识所述目标内存空间已启用内存镜像,所述主地址为所述目标内存空间中主内存空间的物理地址,所述镜像地址为所述目标内存空间中镜像内存空间的物理地址;根据所述主地址和所述镜像地址,对所述主内存空间和所述镜像内存空间执行所述内存读写指令对应的操作。2.根据权利要求1所述的方法,其特征在于,所述镜像内存空间和所述主内存空间位于不同的通道。3.根据权利要求1或2所述的方法,其特征在于,所述镜像内存空间与所述主内存空间相隔至少一个缓存行尺寸的距离。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述主地址包括的偏移地址是根据缓存行尺寸以及所述虚拟地址包括的偏移地址确定的。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述主地址和所述镜像地址,对所述主内存空间和所述镜像内存空间执行所述内存读写指令对应的操作,包括:响应于所述主地址对应的错误检查和纠正ECC空间以及所述镜像地址对应的ECC空间均包括所述镜像指示信息,根据所述主地址和所述镜像地址,对所述主内存空间和所述镜像内存空间执行所述内存读写指令对应的操作。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述接收内存读写指令之前,所述方法还包括:接收指定对象的内存分配请求;响应于所述指定对象的镜像标志置为设定值,为所述指定对象分配所述目标内存空间;其中,所述镜像标志在置为设定值时指示为指定对象分配包括主内存空间和镜像内存空间的内存空间。7.根据权利要求6所述的方法,其特征在于,所述接收指定对象的内存分配请求之后,所述方法还包括:向所述虚拟地址对应的页表项、所述主地址对应的ECC空间以及所述镜像地址对应的ECC空间分别写入所述镜像指示信息。8.根据权利要求6或7所述的方法,其特征在于,所述接收指定对象的内存分配请求之前,所述方法还包括:响应于内存镜像指令,将所述指定对象的镜像标志修改为所述设定值,所述内存镜像指令指示针对所述指定对象所需的内存空间启用内存镜像。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述虚拟地址标识的每一个虚拟页对应于两个相邻的物理页。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:响应于所述镜像内存空间发生故障,隔离所述镜像内存空间;
为所述虚拟地址重新分配镜像内存空间,将所述主内存空间保存的数据写入至重新分配的镜像内存空间。11.一种内存读写指令的执行装置,其特征在于,所述装置包括:接收单元,用于接收内存读写指令,所述内存读写指令携带目标内存空间的虚拟地址;确定单元,用于响应于所述虚拟地址对应的页表项包括镜像指示信息,根据所述虚拟地址确定主地址和镜像地址,所述镜像指示信息用于标识所述目标内存空间已启用内存镜像,所述主地址为所述目标内存空间中主内存空间的物理地址,所述镜像地址为所述目标内存空间中镜像内存空间的物理地址;读写单元,用于根据所述主地址和所述镜像地址,对所述主内存空...

【专利技术属性】
技术研发人员:吴平宇潘伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1