一种内存管理方法、内存装置、计算机设备和存储介质制造方法及图纸

技术编号:39242758 阅读:11 留言:0更新日期:2023-10-30 11:55
本发明专利技术提供一种内存管理方法、内存装置、计算机设备和存储介质,所述方法包括:根据每个物理页的内存存储属性,将所述第一物理内存组件和所述第二物理内存组件中的所有物理页分成虚拟的全局内存池和存内计算内存池;所述内存控制器根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,并将所述目标物理页对应的目标存储地址发送到对应处理器;本发明专利技术同时满足了传统物理存储和存内计算的需求,降低了处理器和内存之间的数据传输瓶颈,提高了处理器的计算能力,避免了程序无需PIM参与或从PIM加速中收益较低的情况下资源被闲置浪费的情况。被闲置浪费的情况。被闲置浪费的情况。

【技术实现步骤摘要】
一种内存管理方法、内存装置、计算机设备和存储介质


[0001]本专利技术涉及内存管理
,具体涉及一种内存管理方法、内存装置、计算机设备和存储介质。

技术介绍

[0002]在传统计算机体系架构(冯诺依曼架构)中,处理器需要从内存中读取数据,进行计算后再将结果存回内存,这样的过程存在频繁的内存读写,会造成较大的延迟和能耗,使处理器在等待内存读取和写入数据的时间比数据计算的时长要长得多,从而使处理器与内存之间存在数据传输瓶颈。一方面,随着大数据、物联网等应用的普及和数据规模的不断增大,处理器和内存之间的数据传输瓶颈导致处理器的数据计算效率低下;另一方面,随着深度学习的发展,深度神经网络模型的参数量飞速增长,对处理器的计算能力和功耗开销的要求也越来越高;因此,现有技术中的内存管理方法使处理器和内存之间存在的数据传输瓶颈,不能满足数据计算需求。

技术实现思路

[0003]针对相关技术中所存在的不足,本专利技术提供的一种内存管理方法、内存装置、计算机设备和存储介质,其解决现有技术中的内存管理方法使处理器和内存之间存在的数据传输瓶颈。
[0004]第一方面,本专利技术提供一种内存管理方法,应用于支持存内计算的内存装置,所述内存装置包括与至少一个处理器相连的内存控制器、多个支持内存读写操作的第一物理内存组件,以及多个支持内存读写操作和存内计算的第二物理内存组件,每个物理内存组件包括若干个存储数据的物理页,所述方法包括:根据每个物理页的内存存储属性,将所述第一物理内存组件和所述第二物理内存组件中的所有物理页分成虚拟的全局内存池和存内计算内存池;所述内存控制器根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,并将所述目标物理页对应的目标存储地址发送到对应处理器。
[0005]可选地,所述内存控制器根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,包括:当所述物理内存分配请求中的操作类型为读写操作型时,所述内存控制器从全局内存池中获取所述目标物理页,且将所述目标物理页的状态属性设置为普通占用;当所述物理内存分配请求中的操作类型为存内计算型时,所述内存控制器从存内计算内存池中获取所述目标物理页,且将所述目标物理页的状态属性设置为存内占用。
[0006]可选地,当所述物理内存分配请求中的操作类型为读写操作型时,且从全局内存池中未获取到可用的物理页时,所述方法还包括:所述内存控制器从所述存内计算内存池中获取所述目标物理页,且将所述目标物理页的状态属性设置为普通占用。
[0007]可选地,当所述物理内存分配请求中的操作类型为存内计算型时,且从存内计算
内存池中未获取到可用的物理页时,所述方法还包括:根据所述目标物理页的状态属性判断所述存内计算内存池中是否存在被读写操作型数据占用;当所述存内计算内存池中存在被读写操作型数据占用的第一物理页时,从所述全局内存池中获取第二物理页;将所述第一物理页中存储的数据迁移到所述第二物理页中,将所述第一物理页作为所述目标物理页。
[0008]可选地,所述内存控制器从所述全局内存池或所述存内计算内存池中获取目标物理页,包括:建立与所述全局内存池和存内计算内存池相匹配的虚拟内存链表,所述虚拟内存链表包括物理页号、存储地址、内存存储属性和状态属性;根据所述物理内存分配请求中的存储容量需求,计算出物理页的当前分配量;根据所述物理内存分配请求中的操作类型,判断在所述虚拟内存链表中是否存在与所述当前分配量相匹配且存储地址连续的至少两个空闲物理页;若在所述虚拟内存链表中存在所述至少两个空闲物理页时,将所述至少两个空闲物理页作为所述目标物理页。
[0009]可选地,若在所述虚拟内存链表中不存在所述至少两个空闲物理页时,所述方法还包括:对所述全局内存池或存内计算内存池中的物理页进行内存回收或内存紧缩后,再判断在所述虚拟内存链表中是否存在与所述当前分配量相匹配且存储地址连续的至少两个空闲物理页。
[0010]可选地,对所述全局内存池中的物理页进行内存紧缩,包括:对所述全局内存池的起始位置开始遍历已占用物理页,建立已分配页面链表,同时从所述全局内存池的尾部位置开始遍历空闲物理页,建立空闲页面链表;当两个遍历算法的遍历节点相同时,将已分配页面链表中记录的物理页的存储数据迁移到所述空闲页面链表中记录的物理页中
[0011]第二方面,本专利技术提供一种内存装置,所述内存装置包括:与至少一个处理器相连的内存控制器、多个支持内存读写操作的第一物理内存组件,以及多个支持内存读写操作和存内计算的第二物理内存组件,每个物理内存组件包括若干个存储数据的物理页;所述内存控制器用于根据每个物理页的内存存储属性,将所述第一物理内存组件和所述第二物理内存组件中的所有物理页分成虚拟的全局内存池和存内计算内存池;所述内存控制器还用于根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,并将所述目标物理页对应的目标存储地址发送到对应处理器。
[0012]第三方面,本专利技术提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:根据每个物理页的内存存储属性,将所述第一物理内存组件和所述第二物理内存组件中的所有物理页分成虚拟的全局内存池和存内计算内存池;所述内存控制器根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,并将所述目标物理页对应的目标存储地址发送到对应处理器。
[0013]第四方面,本专利技术提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:根据每个物理页的内存存储属性,将所述第一物理内存组件和所述第二物理内存组件中的所有物理页分成虚拟的全局内存池和存内计算内存池;所述内存控制器根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,并将所述目标物理页对应的目标存储地址
发送到对应处理器。
[0014]相比于相关技术,本专利技术具有如下有益效果:
[0015]本专利技术通过内存控制器对支持存内计算技术的物理内存和传统物理内存进行虚拟内存池的分类管理,根据接收到的物理内存分配请求中的操作类型从相对应的内存池中快速查找空闲的物理页,使处理器对找到到的空闲物理页进行读写操作或存内计算;因此,本专利技术同时满足了传统物理存储和存内计算的需求,降低了处理器和内存之间的数据传输瓶颈,提高了处理器的计算能力;进一步地,本专利技术中将支持存内计算技术的物理内存作为传统物理内存的补充,也就是当传统物理存储空间不够时支持存内计算技术的物理内存可以进行普通的读写存储,提高了计算机系统整体内存资源的利用率,避免了程序无需PIM参与或从PIM加速中收益较低的情况下资源被闲置浪费的情况。
附图说明
[0016]图1所示为本实施例提供的一种内存管理方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存管理方法,其特征在于,应用于支持存内计算的内存装置,所述内存装置包括与至少一个处理器相连的内存控制器、多个支持内存读写操作的第一物理内存组件,以及多个支持内存读写操作和存内计算的第二物理内存组件,每个物理内存组件包括若干个存储数据的物理页,所述方法包括:根据每个物理页的内存存储属性,将所述第一物理内存组件和所述第二物理内存组件中的所有物理页分成虚拟的全局内存池和存内计算内存池;所述内存控制器根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,并将所述目标物理页对应的目标存储地址发送到对应处理器。2.如权利要求1所述的内存管理方法,其特征在于,所述内存控制器根据所述至少一个处理器发送的物理内存分配请求,从所述全局内存池或/和所述存内计算内存池中获取目标物理页,包括:当所述物理内存分配请求中的操作类型为读写操作型时,所述内存控制器从全局内存池中获取所述目标物理页,且将所述目标物理页的状态属性设置为普通占用;当所述物理内存分配请求中的操作类型为存内计算型时,所述内存控制器从存内计算内存池中获取所述目标物理页,且将所述目标物理页的状态属性设置为存内占用。3.如权利要求2所述的拟内存管理方法,其特征在于,当所述物理内存分配请求中的操作类型为读写操作型时,且从全局内存池中未获取到可用的物理页时,所述方法还包括:所述内存控制器从所述存内计算内存池中获取所述目标物理页,且将所述目标物理页的状态属性设置为普通占用。4.如权利要求2所述的内存管理方法,其特征在于,当所述物理内存分配请求中的操作类型为存内计算型时,且从存内计算内存池中未获取到可用的物理页时,所述方法还包括:根据所述目标物理页的状态属性判断所述存内计算内存池中是否存在被读写操作型数据占用;当所述存内计算内存池中存在被读写操作型数据占用的第一物理页时,从所述全局内存池中获取第二物理页;将所述第一物理页中存储的数据迁移到所述第二物理页中,将所述第一物理页作为所述目标物理页。5.如权利要求1所述的内存管理方法,其特征在于,所述内存控制器从所述全局内存池或所述存内计算内存池中获取目标物理页,包括:建立与所述全局内存池和存内计算内存...

【专利技术属性】
技术研发人员:曹二帅张莉丽
申请(专利权)人:重庆位图信息技术有限公司
类型:发明
国别省市:

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

1