内存访问的页错误处理方法及装置与流程
- 国知局
- 2024-07-31 22:36:41
本技术涉及通信,尤其涉及一种内存访问的页错误处理方法及装置。
背景技术:
1、在分布式计算场景下,通常需要在不同的节点间进行大量数据的共享。目前,当不同节点间需要进行数据共享时,为了保证性能都是采用预留内存(pined memory)的方式,为不同的节点预分配内存以避免页错误(page fault)。但是,大量的内存被预留也就意味着大量内存被消耗,随着系统的增大,内存很有可能被耗尽。因此,如何处理内存访问的页错误是一个亟需解决的技术问题。
技术实现思路
1、本技术提供一种内存访问的页错误处理方法及装置,用于减小由于页错误导致的网络拥塞。
2、为达到上述目的,本技术采用如下技术方案:
3、第一方面,提供一种内存访问的页错误处理方法,该方法包括:第一节点接收来自第二节点的第一访问请求,第一访问请求用于访问该内存,第一访问请求包括第一虚拟地址;第一节点向第二节点发送第一响应,第一响应携带页错误信息,该页错误信息用于指示第一虚拟地址对应的页错误的错误类型。
4、上述技术方案中,第一节点可以接收来自第二节点的第一访问请求,并在第一访问请求包括的第一虚拟地址发生页错误时,向第二节点发送第一响应,第一响应携带页错误信息,该页错误信息用于指示第一虚拟地址对应的页错误的错误类型,从而第二节点可以根据该页错误的错误类型及时处理第一访问请求,或者处理与该错误类型相关的多个访问请求,从而减小第二节点等待缺页处理完成的时间,以及减小由于页错误导致的网络拥塞。
5、在第一方面的一种可能的实现方式中,该错误类型为以下类型中的至少一种:重试,丢弃,第一访问请求访问的流未使能,系统内存管理单元smmu未使能。上述可能的实现方式中,提供的几种错误类型,可以使得第二节点在接收到携带页错误信息的第一响应时,能够根据该页错误的错误类型有效、及时地处理与该错误类型相关的访问请求,从而减小页错误的处理延迟,以及减小该延迟带来的拥塞。
6、在第一方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该重试,该方法还包括:第一节点向第二节点发送重试提示,该重试提示用于指示以下信息中的至少一种:第一虚拟地址对应的第一页表已创建,第一虚拟地址对应的第一页表创建失败,该页错误触发的页表请求接口pri的写行为发生异常。上述可能的实现方式中,提供的几种重试提示指示的信息,可以使得第二节点在接收到重试提示时,能够根据重试提示有效、及时地处理与该重试提示指示的信息相关的访问请求,从而进一步减小页错误的处理延迟,提高处理效率。
7、在第一方面的一种可能的实现方式中,该重试提示用于指示第一虚拟地址对应的第一页表已创建,该方法还包括:第一节点接收第二节点基于该重试提示发送的第一访问请求;第一节点根据第一页表,确定第一虚拟地址对应的第一物理地址,并根据第一物理地址访问内存。上述可能的实现方式中,第一节点接收到第二节点基于该重试提示发送的第一访问请求,并根据第一页表确定第一虚拟地址对应的第一物理地址,以及根据第一物理地址访问内存,从而减小了第二节点的等待延迟,提高了处理效率。
8、在第一方面的一种可能的实现方式中,若第一虚拟地址发生页表查询异常,该页错误信息用于指示该页错误的错误类型为该丢弃。上述可能的实现方式,能够减小页错误的处理延迟,以及减小该延迟带来的拥塞。
9、在第一方面的一种可能的实现方式中,该页错误信息还用于指示该页错误对应的页表粒度。上述可能的实现方式,能够使得第二节点根据该页表粒度,对于第一访问请求对应同一页表的其它访问请求进行丢弃处理,从而避免了第一节点出现拥塞。
10、在第一方面的一种可能的实现方式中,第一响应还用于指示重新发送第一访问请求所需等待的时间,该所需等待的时间可以为上一次页错误处理完成的时间。上述可能的实现方式,可以提高该时间的准确性,从而在一定程度上能够减小页错误的处理延迟,以及减小该延迟带来的拥塞。
11、在第一方面的一种可能的实现方式中,第一节点向第二节点发送第一响应之前,该方法还包括:第一节点根据第一虚拟地址确定发生页错误。
12、第二方面,提供一种内存访问的页错误处理方法,该方法包括:第二节点向第一节点发送第一访问请求,第一访问请求用于访问该内存,第一访问请求包括第一虚拟地址;第二节点接收来自第一节点的第一响应,第一响应携带页错误信息,该页错误信息用于指示第一虚拟地址对应的页错误的错误类型。
13、上述技术方案中,第二节点可以向第一节点发送第一访问请求,第一访问请求包括第一虚拟地址,并接收来自第一节点的第一响应,第一响应携带页错误信息,该页错误信息用于指示第一虚拟地址对应的页错误的错误类型,这样第二节点可以根据该页错误的错误类型及时处理第一访问请求,或者处理与该错误类型相关的多个访问请求,从而减小页错误的处理延迟,以及减小该延迟带来的拥塞。
14、在第二方面的一种可能的实现方式中,该方法还包括:第二节点根据该页错误信息指示的页错误的错误类型,处理该错误类型对应的一个或者多个访问请求,该一个或者多个访问请求包括第一访问请求。上述可能的实现方式中,第二节点可以根据该页错误的错误类型及时处理第一访问请求,或者处理与该错误类型相关的多个访问请求,从而减小了页错误的处理延迟,以及减小该延迟带来的拥塞。
15、在第二方面的一种可能的实现方式中,该错误类型为以下类型中的至少一种:重试,丢弃,第一访问请求访问的流未使能,系统内存管理单元smmu未使能。上述可能的实现方式中,提供的几种错误类型,可以使得第二节点在接收到携带页错误信息的第一响应时,能够根据该页错误的错误类型有效、及时地处理与该错误类型相关的访问请求,从而减小页错误的处理延迟,以及减小该延迟带来的拥塞。
16、在第二方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该重试,该方法还包括:第二节点接收来自第一节点的重试提示,该重试提示用于指示以下信息中的至少一种:第一虚拟地址对应的第一页表已创建,第一虚拟地址对应的第一页表创建失败,该页错误触发的页表请求接口pri的写行为发生异常。
17、在第二方面的一种可能的实现方式中,该重试提示用于指示第一虚拟地址对应的第一页表已创建,该方法还包括:第二节点基于该重试提示,向第一节点发送第一访问请求;该重试提示用于指示第一虚拟地址对应的第一页表创建失败,或者用于指示页错误触发的pri的写行为发生异常,该方法还包括:第二节点基于该重试提示,丢弃或取消发送第一访问请求。上述可能的实现方式中,提供的几种重试提示指示的信息,可以使得第二节点在接收到重试提示时,能够根据重试提示有效、及时地处理与该重试提示指示的信息相关的访问请求,从而进一步减小页错误的处理延迟,提高处理效率。
18、在第二方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该丢弃,该方法还包括:第二节点根据该页错误信息,丢弃或取消发送第一访问请求。上述可能的实现方式,能够减小页错误的处理延迟,以及减小该延迟带来的拥塞。
19、在第二方面的一种可能的实现方式中,该页错误信息还用于指示该页错误对应的页表粒度,第一访问请求和至少一个第二访问请求对应该页表粒度的同一页表。可选的,该方法还包括:当该页错误信息用于指示该错误类型为该重试时,第二节点暂停该至少一个第二访问请求的发送;当该页错误信息用于指示该错误类型为丢弃时,第二节点丢弃或取消发送该至少一个第二访问请求。上述可能的实现方式,能够使得第二节点根据该页表粒度,对于第一访问请求对应同一页表的其它访问请求进行一定处理,从而避免了第一节点出现拥塞。
20、在第二方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为第一访问请求访问的流未使能,该方法还包括:第二节点丢弃或取消发送该流对应的多个访问请求,该多个访问请求包括第一访问请求。上述可能的实现方式,第二节点可以根据该页表粒度,对于第一访问请求对应同一页表的其它访问请求进行丢弃处理,从而避免了第一节点出现拥塞。
21、在第二方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该smmu未使能,该方法还包括:第二节点丢弃或取消发送该smmu对应的多个访问请求,该多个访问请求包括第一访问请求。上述可能的实现方式,第二节点丢弃该smmu对应的多个访问请求,从而可以避免了第一节点出现拥塞。
22、在第二方面的一种可能的实现方式中,第一响应还用于指示重新发送第一访问请求所需等待的时间,该所需等待的时间可以为上一次页错误处理完成的时间。上述可能的实现方式,可以提高该时间的准确性,从而在一定程度上能够减小页错误的处理延迟,以及减小该延迟带来的拥塞。
23、第三方面,提供一种内存访问的页错误处理装置,该装置包括:接收单元,用于接收来自第二节点的第一访问请求,第一访问请求用于访问该内存,第一访问请求包括第一虚拟地址;发送单元,用于向第二节点发送第一响应,第一响应携带页错误信息,该页错误信息用于指示第一虚拟地址对应的页错误的错误类型。
24、在第三方面的一种可能的实现方式中,该错误类型为以下类型中的至少一种:重试,丢弃,第一访问请求访问的流未使能,内存管理单元smmu未使能。
25、在第三方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该重试;该发送单元,还用于向第二节点发送重试提示,该重试提示用于指示以下信息中的至少一种:第一虚拟地址对应的第一页表已创建,第一虚拟地址对应的第一页表创建失败,该页错误触发的页表请求接口pri的写行为发生异常。
26、在第三方面的一种可能的实现方式中,该重试提示用于指示第一虚拟地址对应的第一页表已创建,该装置还包括处理单元;该接收单元,还用于接收第二节点基于该重试提示发送的第一访问请求;该处理单元,还用于根据第一页表,确定第一虚拟地址对应的第一物理地址,并根据第一物理地址访问内存。
27、在第三方面的一种可能的实现方式中,若第一虚拟地址发生页表查询异常,该页错误信息用于指示该页错误的错误类型为该丢弃。
28、在第三方面的一种可能的实现方式中,该页错误信息还用于指示该页错误对应的页表粒度。
29、在第三方面的一种可能的实现方式中,第一响应还用于指示重新发送第一访问请求所需等待的时间,该所需等待的时间可以为上一次页错误处理完成的时间。
30、在第三方面的一种可能的实现方式中,该装置还包括:处理单元,用于第一节点根据第一虚拟地址确定发生页错误。
31、第四方面,提供一种内存访问的页错误处理装置,该装置包括:发送单元,用于向第一节点发送第一访问请求,第一访问请求用于访问该内存,第一访问请求包括第一虚拟地址;接收单元,用于接收来自第一节点的第一响应,第一响应携带页错误信息,该页错误信息用于指示第一虚拟地址对应的页错误的错误类型。
32、在第四方面的一种可能的实现方式中,该装置还包括:处理单元,用于根据该页错误信息指示的页错误的错误类型,处理该错误类型对应的一个或者多个访问请求,该一个或者多个访问请求包括第一访问请求。
33、在第四方面的一种可能的实现方式中,该错误类型为以下类型中的至少一种:重试,丢弃,第一访问请求访问的流未使能,系统内存管理单元smmu未使能。
34、在第四方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该重试;该接收单元,还用于接收来自第一节点的重试提示,该重试提示用于指示以下信息中的至少一种:第一虚拟地址对应的第一页表已创建,第一虚拟地址对应的第一页表创建失败,该页错误触发的页表请求接口pri的写行为发生异常。
35、在第四方面的一种可能的实现方式中,若该重试提示用于指示第一虚拟地址对应的第一页表已创建,该发送单元还用于:基于该重试提示,向第一节点发送第一访问请求;若该重试提示用于指示第一虚拟地址对应的第一页表创建失败,或者用于指示页错误触发的pri的写行为发生异常,该装置还包括:处理单元,用于基于该重试提示,丢弃或取消发送第一访问请求。
36、在第四方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该丢弃,该装置还包括:处理单元,用于根据该页错误信息,丢弃或取消发送第一访问请求。
37、在第四方面的一种可能的实现方式中,该页错误信息还用于指示该页错误对应的页表粒度,第一访问请求和至少一个第二访问请求对应该页表粒度的同一页表。可选的,该装置还包括:处理单元,用于当该页错误信息用于指示该错误类型为该重试时,暂停该至少一个第二访问请求的发送;该处理单元,还用于当该页错误信息用于指示该错误类型为丢弃时,丢弃或取消发送该至少一个第二访问请求。
38、在第四方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为第一访问请求访问的流未使能,该装置还包括:处理单元,用于丢弃或取消发送该流对应的多个访问请求,该多个访问请求包括第一访问请求。
39、在第四方面的一种可能的实现方式中,该页错误信息用于指示该错误类型为该smmu未使能,该装置还包括:处理单元,用于丢弃或取消发送该smmu对应的多个访问请求,该多个访问请求包括第一访问请求。
40、在第四方面的一种可能的实现方式中,第一响应还用于指示重新发送第一访问请求所需等待的时间,该所需等待的时间可以为上一次页错误处理完成的时间。
41、第五方面,提供一种内存访问的页错误处理装置,该装置包括:处理器和存储器,该存储器中存储有指令,当该处理器运行该指令时,使得该装置执行第一方面或第一方面的任一种可能的实现方式所提供的方法。
42、第六方面,提供一种内存访问的页错误处理装置,该装置包括:处理器和存储器,该存储器中存储有指令,当该处理器运行该指令时,使得该装置执行第二方面或第二方面的任一种可能的实现方式所提供的方法。
43、第七方面,提供一种服务器,该服务器包括耦合的处理器、存储器和通信接口,该存储器中存储有指令,该处理器用于执行该存储器中的指令,并通过该通信接口通信,以使得该服务器执行第一方面或第一方面的任一种可能的实现方式所提供的方法。
44、第八方面,提供一种服务器,该服务器包括耦合的处理器、存储器和通信接口,该存储器中存储有指令,该处理器用于执行该存储器中的指令,并通过该通信接口通信,以使得该服务器执行第二方面或第二方面的任一种可能的实现方式所提供的方法。
45、在本技术的另一方面,提供一种通信网络,该通信网络包括第一节点和第二节点;第一节点包括上述第三方面、第三方面的任一种可能的实现方式、第五方面或者第七方面所提供的装置;第二节点包括上述第四方面、第四方面的任一种可能的实现方式、第六方面或者第八方面所提供的装置。
46、在本技术的另一方面,提供一种芯片,该芯片包括:处理器和接口电路;其中,该接口电路用于支持该处理器与片外存储器通信,该处理器用于执行第一方面、第一方面的任一种可能的实现方式、第二方面或第二方面的任一种可能的实现方式所提供的方法。
47、在本技术的另一方面,提供一种芯片系统,该芯片系统用于执行第一方面、第一方面的任一种可能的实现方式、第二方面或第二方面的任一种可能的实现方式所提供的方法。
48、在本技术的另一方面,提供一种车辆,该车辆可用于执行第一方面、第一方面的任一种可能的实现方式、第二方面或第二方面的任一种可能的实现方式所提供的方法。
49、在本技术的另一方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当该计算机程序或指令被运行时,实现第一方面或第一方面的任一种可能的实现方式所提供的方法。
50、在本技术的另一方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当该计算机程序或指令被运行时,实现第二方面或第二方面的任一种可能的实现方式所提供的方法。
51、在本技术的另一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式所提供的方法。
52、在本技术的另一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行如第二方面或第二方面的任一种可能的实现方式所提供的方法。
53、可以理解地,上述提供的任一种内存访问的页错误处理装置、服务器、通信网络、芯片、芯片系统、计算机可读存储介质和计算机程序产品,其所能达到的有益效果可对应参考上文所提供的内存访问的页错误处理方法中的有益效果。
本文地址:https://www.jishuxx.com/zhuanli/20240731/193839.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。