内存访问方法、内存访问系统、电子设备以及存储介质与流程

摘要: 本申请涉及内存访问领域,具体而言,涉及一种内存访问方法、内存访问系统、电子设备以及存储介质。背景技术:1、目前,快速计算链接(computeexpresslin...
内存访问方法、内存访问系统、电子设备以及存储介质与流程

本申请涉及内存访问领域,具体而言,涉及一种内存访问方法、内存访问系统、电子设备以及存储介质。

背景技术:

1、目前,快速计算链接(compute express link,简称为cxl)作为一种开放的互连标准。通过对设备内存和/或设备缓存的字节可寻址访问的支持。然而,即使通过协议进行内存访问相比传统总线(peripheral component interconnect express,简称为pcie)设备短得多,但是cxl端口和/或cxl交换机引入的额外延迟难以避免,导致cxl内存系统的访问时延(160-250ns)仍然显著高于本地双倍数据速率随机存取存储器(double data raterandom access memory,简称为ddr)内存系统的访问延迟。显著增长的延迟会严重影响到访存密集的应用程序(比如数据库,人工智能等),会对上层项目造成比较高的性能损失。延迟问题也成为了当前阻碍cxl内存大规模部署的主要障碍之一。

2、针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

1、本申请实施例提供了一种内存访问方法、内存访问系统、电子设备以及存储介质,以至少解决内存的访问延迟较高的技术问题。

2、根据本申请实施例的一个方面,提供了一种内存访问方法,包括:响应于接收到发送至多级缓存的内存访问请求,确定内存访问请求中的地址信息是否处于目标地址空间,其中,内存访问请求用于访问与处理器连接的连接远端内存系统,目标地址空间用于表征连接远端内存系统对应的地址空间;在地址信息处于目标地址空间的情况下,预测多级缓存中是否存在内存访问请求对应的目标数据;在预测得到多级缓存中不存在目标数据的情况下,通过快速通道从连接远端内存系统中读取目标数据,并存储至连接远端内存系统池,以使在内存访问请求经过多级缓存到达连接远端内存系统池的情况下,从连接远端内存系统池读取目标数据,并返回至处理器。

3、根据本申请实施例的一个方面,提供了一种内存访问系统,包括:过滤组件,用于响应于接收到内存访问请求,确定内存访问请求中的地址信息是否处于目标地址空间,其中,内存访问请求用于访问与处理器连接的连接远端内存系统,目标地址空间用于表征连接远端内存系统对应的地址空间;预取组件,用于在地址信息处于目标地址空间的情况下,确定多级缓存中是否存在内存访问请求对应的目标数据,在多级缓存中不存在目标数据的情况下,从连接远端内存系统中读取目标数据,并存储至多级缓存。

4、根据本申请实施例的一个方面,提供了一种电子设备,包括:存储器,存储有可执行程序;处理器,用于运行程序,其中,程序运行时执行上述实施例中任意一项的方法。

5、根据本申请实施例的另一方面,还提供了一种计算机终端,包括:存储器,存储有可执行程序;处理器,用于运行程序,其中,程序运行时执行本申请各个实施例中的方法。

6、根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的可执行程序,其中,在可执行程序运行时控制计算机可读存储介质所在设备执行本申请各个实施例中的方法。

7、根据本申请实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请各个实施例中的方法。

8、根据本申请实施例的另一方面,还提供了一种计算机程序产品,包括非易失性计算机可读存储介质,非易失性计算机可读存储介质存储计算机程序,计算机程序被处理器执行时实现本申请各个实施例中的方法。

9、根据本申请实施例的另一方面,还提供了一种计算机程序,计算机程序被处理器执行时实现本申请各个实施例中的方法。

10、在本申请实施例中,响应于接收到发送至多级缓存的内存访问请求,确定内存访问请求中的地址信息是否处于目标地址空间,其中,内存访问请求用于访问与处理器连接的连接远端内存系统,目标地址空间用于表征连接远端内存系统对应的地址空间;在地址信息处于目标地址空间的情况下,预测多级缓存中是否存在内存访问请求对应的目标数据;在预测得到多级缓存中不存在目标数据的情况下,通过快速通道从连接远端内存系统中读取目标数据,并存储至连接远端内存系统池,以使在内存访问请求经过多级缓存到达连接远端内存系统池的情况下,从连接远端内存系统池读取目标数据,并返回至处理器,实现了提高内存访问效率。容易注意到的是,当处理器接收到内存访问请求时,首先会检查该请求中的地址信息是否位于目标地址空间,即是否指向连接远端内存系统。如果地址信息确认属于连接远端内存系统的范围,处理器会进一步判断多级缓存中是否已存在请求的数据。在缓存中未能找到目标数据的情况下,处理器将直接从连接远端内存系统读取数据,并提前将该数据存储至预设的存储区域中。通过这种直接读取并提前存储的方式,后续针对相同数据的请求可以直接从存储区域中获取,无需再次访问连接远端内存系统,从而显著降低了访问延迟,提高了内存访问效率。通过有效管理和预取连接远端内存系统中的数据,确保了系统的高性能运行,进而解决了内存的访问延迟较高的技术问题。

11、容易注意到的是,上面的通用描述和后面的详细描述仅仅是为了对本申请进行举例和解释,并不构成对本申请的限定。

1.一种内存访问方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述确定多级缓存中是否存在所述内存访问请求对应的目标数据,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,在所述处理器包含多个处理器核心的情况下,所述确定多级缓存中是否存在所述内存访问请求对应的目标数据,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于所述地址信息,从多个预取单元中确定目标预取单元,包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述从所述连接远端内存系统中读取所述目标数据,包括:

8.根据权利要求1至6中任意一项所述的方法,其特征在于,所述内存访问请求由所述多级缓存中的二级缓存转发,所述内存访问请求是在所述多级缓存中的一级缓存中不存在所述目标数据的情况下,由所述一级缓存转发至所述二级缓存。

9.根据权利要求8所述的方法,其特征在于,所述内存访问请求是所述处理器生成的内存读请求,或由所述一级缓存将所述处理器生成的内存写请求进行转换所得到的内存读请求。

10.根据权利要求4至6中任意一项所述的方法,其特征在于,所述多个预取单元采用环形总线进行连接。

11.一种内存访问系统,其特征在于,包括:

12.根据权利要求11所述的系统,其特征在于,所述预取组件包括:

13.根据权利要求12所述的系统,其特征在于,所述预取单元包括:

14.根据权利要求12或13所述的系统,其特征在于,所述多个预取单元采用环形总线进行连接。

15.一种处理器,其特征在于,包括:

16.一种电子设备,其特征在于,包括:权利要求15所述的处理器。

17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的可执行程序,其中,在所述可执行程序运行时控制所述存储介质所在设备执行权利要求1至10中任意一项所述的方法。

18.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至10中任意一项所述的方法。