一种处理请求的方法、装置及系统与流程

文档序号:33939066发布日期:2023-04-25 23:41阅读:20来源:国知局
一种处理请求的方法、装置及系统与流程

本技术涉及通信,尤其涉及访问远端设备的内存的方法、装置及系统。


背景技术:

1、随着技术的发展,分布式应用的使用越来越普遍。分布式应用是指一个应用程序分布在不同的物理节点上,物理节点通常是计算机。也就是说,在分布式应用执行一个任务或者业务时,需要在多个物理节点之间交互数据。在此过程中,数据通常存储于物理节点的存储器中,在需要被使用时,则被该物理节点的处理器加载到内存中。这样,远端内存访问,也就是某台计算机(本端设备)访问其他计算机(远端设备)的内存以操作其中的数据,就是十分基础的功能。其中,访问数据,从技术实质上就是访问与该数据相关的存储介质,至少包括读取数据和将数据写入这两个场景。

2、通常,本端设备的内存通过总线访问,而远端设备的内存则通过网络访问,二者的语义规则不同。具体来说,一个设备访问其他设备的内存需要使用网络通信技术,例如传输控制协议/网际协议(transmission control protocol/internet protocol,tcp/ip)或者远程直接内存访问(remote direct memory access,rdma)。这样访问远端设备的内存的时延较长。

3、为了降低由网络通信技术产生的时延,可以在访问远端设备的内存中也使用访问本端设备的内存所使用的语义,这需要借助片上总线(on-chip interconnect,oci)技术。这类技术的实质,是实现将远端设备的一段内存作为本端设备的内存管理和使用。因此,一个设备的一段内存一旦分配给某个设备,除了这个设备之外的其他设备就无法访问这段内存,即无法实现远端设备的内存的“共享”。这种方式的应用场景受到极大限制,无法满足复杂的访问内存的需求。

4、综上,现有的访问远端设备的内存的方法,数据传输无法兼顾多种性能(如时延和访问权限共享),因此传输性能较差。


技术实现思路

1、本技术实施例提供访问远端设备的内存的方法、装置及系统,能够兼顾数据传输的多种性能,如时延和访问权限共享,提升数据传输的效率。

2、为达到上述目的,本技术实施例采用如下技术方案:

3、第一方面,本技术实施例提供一种处理请求的方法,该方法由下文描述的第一节点执行,第一节点是发送请求的设备或发该设备中的组件(比如芯片),或者其他支持发送请求这个功能的组件。其中,第一节点基于第一虚拟地址得到对应的物理地址,该第一虚拟地址是第一请求中的虚拟地址,该第一请求用于请求读第二节点的数据,或者请求将数据写入该第二节点;该第一节点基于第一映射关系向该第二节点发送第二请求,该第一映射关系为该物理地址与总线地址之间的映射关系,该第二请求与该第一请求对应,该第二请求包括该总线地址,该总线地址指示该第二节点中的实例对应的虚拟地址。

4、在本技术中,总线这个词不仅用于同一设备或者同一节点内信号和数据的传输路径或数据链路,也能指示不同节点之间的信号和数据的传输路径或数据链路。可以认为,本技术中的总线可以覆盖现有技术中的总线和网络这两个词的功能,也就是本技术扩展了总线这个词的使用场景。这是为了能够将访问本端设备的数据所使用的指令(如读指令和写指令)扩展使用到访问远端设备的数据的场景,从而无需在请求格式和处理流程上区分本端设备和远端设备的数据访问,也就无需在访问远端设备时,通过远程的网络通信协议来封装请求和数据。为了与传统的总线区分,本技术中用于不同节点间通信的总线也称为高性能互联总线(high performance interconnect bus,hpib)。

5、因此,总线地址也是本技术提出的一个新概念,总线地址可以指示另一个节点(即远端设备,如第二节点)中的实例对应的虚拟地址,并携带在发送给其他节点的数据访问请求(如第二节点)中。一些场景下,每个总线地址都是全局唯一的,而全局可能是指整个网络,也可能是网络中划定的一个范围,例如网络中的一个域,或者一栋楼,一个工业园,一个城市等等。设定全局唯一的总线地址,可以在该“全局”内,无疑义地指示一个实例的虚拟地址,从而简化地址的转换和寻址,提高数据访问的效率。

6、应理解,上述过程可以访问第二节点的存储介质以读数据或者写数据,该存储介质是第二节点的实例可以使用的介质,例如内存、缓存以及其他的一些存储器件。

7、应理解,实例对应的虚拟地址,也简称实例的虚拟地址,就是该实例所在的操作系统给实例分配的虚拟地址空间中的虚拟地址。虚拟地址空间是一段虚拟地址,或者几段虚拟地址。通过这个虚拟地址,实例可以使用与该虚拟地址对应的物理地址,也简称实例的物理地址,也就是使用真实的硬件资源。上述方法中基于第一虚拟地址得到对应的物理地址的过程,就是第一节点中的一个实例做地址翻译的过程。

8、应理解,访问第二节点中的存储介质,就是读第二节点中的数据,或者将数据写入第二节点中。当然,也可能既读又写,即既请求读第二节点中的某个位置的数据,又请求写第二节点中的另一个位置的数据。具体实现可以是一条第二请求中既包括读指令又包括写指令。第二节点中的存储介质,例如可以是第二节点中的内存,或者第二节点中具有存储数据功能的其他设备。

9、应理解,在第一请求用于将数据写入第二节点的情况下,至少向第二节点发送的第二请求中应携带要被写入的数据,这个数据可以是第一节点的应用下发的,也可能是第一节点的操作系统从第一节点的存储介质中获取的。第二请求中的数据可以是来自第一请求,也可以是基于第一请求得到第二请求的过程中添加的。

10、综上,第一请求可以是由第一节点上运行的业务、应用或者使用第一节点的用户的操作触发的,其中携带有第一虚拟地址。第一节点基于第一虚拟地址对应的物理地址,以及第一映射关系,得到与第一请求对应的第二请求,由于总线地址对应第二节点中的实例,所以第一节点可以向第二节点发送该第二请求。也就是说,第二请求至少是将第一请求中的物理地址变更为对应的总线地址。总线地址指示的是第二节点中的实例对应的虚拟地址,而不是实例的物理地址。

11、应理解,一个节点的物理地址只能被一个节点管理或者访问。由于总线地址是虚拟地址,就可以被第一节点通过第一请求访问时,同样也可以由第二节点访问,或者被其他节点通过请求访问,也就是可以在数据访问中实现地址的共享,另一方面,使用总线地址,而无需使用网络访问的语义,相比于现有的网络通信技术,可以降低访问远端设备的数据的时延,提升访问速率,也就是说,兼顾了数据传输中时延和访问权限共享这两方面的性能。

12、一种实现方式下,该第一节点包括总线端设备,该第一节点中的总线端设备用于使用该第一映射关系与该第二节点通信。

13、通过总线端设备,第一节点可以接入在节点之间通信的总线访问其他节点的数据,这种总线本技术也称之为“高性能总线”,可以理解为节点之间通信所使用的物理线路。总线端设备用于使用该第一映射关系以及第一映射关系所在的第一映射表,但不编辑或者管理第一映射关系(表),也就是在使用过程中不改变第一映射关系(表)记载的信息。而总线端设备的驱动则管理第一映射关系表,具体可以是管理第一映射关系表中的表项,如初始化、赋值、修改、更新等。应理解,总线端设备的驱动是软件模块,安装在第一节点的操作系统中运行,以便第一节点的操作系统使用总线端设备。

14、相应的,该物理地址是该第一节点的总线端设备对应的物理地址空间中的地址。这意味着上述的物理地址所在的物理地址空间(物理地址空间就是一段物理地址)归属于第一节点的总线端设备,也就是被第一节点的总线端设备管理的,或者说,是第一节点的总线端设备有权使用的。现有技术中,实例的物理地址一般是节点中动态随机存储器(dynamic random access memory,dram)对应的物理地址空间,或者输入/输出(i/o)设备物理地址空间,由操作系统管理,这是因为实例由操作系统拉起,自然也是被分配操作系统可管理的物理地址。而本方法中则不同,实例的物理地址归属于总线端设备对应的物理地址空间。也就是说,第一请求中携带的虚拟地址要可以映射到总线端设备对应的物理地址空间,才能使用总线端设备处理和向其他节点发送。具体的,上述这些物理地址空间都可以是在操作系统安装前,由基本输入输出系统(bois)与上述这些设备协商,确定这些设备对应的物理地址空间,待操作系统运行后,由bois上报操作系统。

15、一种实现方式下,该总线地址包括该第二节点中的总线端设备的标识以及第二虚拟地址,该第二节点中的总线端设备用于该第二节点与该第一节点通信,该第二虚拟地址与该实例有关。第二虚拟地址与该实例的物理地址空间中的物理地址有映射关系,且一个总线地址应当能够唯一地映射到某个或某段物理地址,从而实现本技术描述的地址映射。本技术不限制第二虚拟地址的实现方式。一种实现方式下,第二虚拟地址就是这个实例的虚拟地址空间中的地址(这种方式下通常总线地址中还包括该实例的标识);另一种实现方式下,第二虚拟地址的赋值是自定义的,例如,每个第二虚拟地址都各不相同,且对应不同的物理地址。另外,第二虚拟地址是与该实例有关的,但需要总线地址的其他信息,例如该第二节点中的总线端设备的标识,与第二虚拟地址一起,才能指示第二节点中的实例对应的虚拟地址。

16、为便于管理,总线端设备的标识和自定义的多个第二虚拟地址均在某个域(全域或者一个或者多个局域组成的域)中唯一。例如,一栋大楼,一个小区,一个数据中心,或者一个城市都可以是一个域。

17、也就是说,要完成上述方法,第二节点也要包括总线端设备,上述处理数据的方法是通过节点中的总线端设备完成的。这样,就可以通过该总线地址,将请求发送给第二节点,而第二节点也可以基于总线地址执行该请求。另外,第一节点和第二节点中都可以包括多个总线端设备。

18、另一种实现方式下,该总线地址还包括该实例的标识。可见,可以通过一个虚拟地址直接指示一个实例的虚拟地址。例如,这个虚拟地址是第二节点中全局唯一的虚拟地址。也可以通过实例标识加虚拟地址的形式指示一个实例的虚拟地址,那么在第二节点中,不同的实例对应的虚拟地址的值可能相同。

19、一些实现方式下,该实例的标识还指示该实例对应的虚拟地址空间。也就是说,本技术不限制实例的标识的实现方式,只要能区分一个节点中的不同的实例就可以。由于节点中,通常不同实例对应的虚拟地址空间不同,因此也可以直接用实例对应的虚拟地址空间的名称或者值作为实例的标识。

20、一种实现方式中,该第一节点存储有第一映射表,该第一映射表用于指示包括该第一映射关系在内的多个映射关系,其中,该多个映射关系中的每个映射关系为物理地址与一个总线地址之间的映射。

21、本技术不限定第一映射表的实现形式,以及包括第一映射关系在内的多个映射关系在第一映射表中的承载方式。映射表可以是单表,或者多级表,例如多级链表。这样第一映射关系可以记载在单表中的一行或一列,也可以记载在多级链表的一个表项,这一个表项可以是跨级的,物理地址和相应的总线地址可能在不同级。也就是说,同样不限定第一映射表中的一个表项的实现方式,一个表项用于表示物理地址和总线地址之间的一条映射关系。

22、第一映射表还可以是页表,由于页表是按照物理地址分段分层的,页表的内容记载对应的总线地址即可。这样,便于管理和使用。第一映射关系表可存储在第一节点的内存中,再将其中的一部分缓存在总线端设备中,类似于内存管理单元(memory managementunit,mmu)中的转译后备缓冲器(translation lookaside buffer,tlb),这样就可以减少总线端设备对内存的访问。

23、一种实现方式下,上述方法还包括:获取该第二节点中的地址空间,该地址空间指示至少一个总线地址;基于获取到的该第二节点中的地址空间,更新该第一映射表,以使得更新后的该第一映射表中,包括该地址空间指示的该至少一个总线地址对应的至少一个表项。可见,获取第二节点中的被分享的地址空间(分享是指供除第二节点之外的节点访问),并将被分享的地址空间维护在第一映射表中,可以保障第一节点能够通过第一映射表和总线地址访问第一节点的存储空间,且第一映射表的更新可以使第一节点同步第二节点提供的信息。

24、这里描述了更新第一映射表的方法,第一映射表是由该总线端设备的驱动更新的。应理解,只要第一映射表中的内容发生了增加和替换,都可以称为更新,例如在空的第一映射表中填入表项的内容,或者在现有的第一映射表(例如已包括若干个有内容的表项)中添加一个或多个新的表项,再或者,替换第一映射表中原本保存的一个或多个表项中的内容。

25、其中,被获取的第二节点中的地址空间就是第二节点中,其他节点可以访问的地址空间,可以是第二节点通知第一节点的,也可以是第一节点主动向第二节点或者向包括第一节点和第二节点的通信系统中的管理节点查询的。而获取的地址空间的表示形式,本技术不做限制。例如可以以两个地址(即起始地址和终止地址)表示,也可以以一个地址和一个地址偏移量表示。

26、相应的,第二方面,本技术实施例提供一种处理请求的方法,该方法由第二节点执行,第二节点是处理请求的设备,或该设备中的组件(比如芯片),或者其他能够完成处理该请求以访问相应的存储介质的功能的组件。其中,该方法包括:接收来自第一节点的请求,该请求用于读取该第二节点中的数据,或者用于将数据写入该第二节点,该请求包括总线地址,该总线地址指示该第二节点中的实例对应的虚拟地址;基于该总线地址以及第二映射关系,得到该第二节点的存储介质中,与该请求对应的物理地址,以执行该请求指示的操作,该第二映射关系为该总线地址与该请求对应的物理地址之间的映射关系。

27、可见,第二方面是与第一方面对应的,是在第二节点的视角补充描述第一方面的方法,第二方面中的许多名词与第一方面中的名词是对应的,例如,来自第一节点的请求,对应第一方面中,第一节点发送的第二请求。因此,第一方面中对各种词语或者句子的说明(例如第一方面中的第二请求,就是第二方面中来自第一节点的请求),以及对技术效果的描述,如果第二方面有涉及到,那么在第二方面中同样适用,不再赘述。

28、请求对应的物理地址,就是该请求所指示的要读或者写的数据所在的物理地址,该请求对应的物理地址属于该第二节点中的实例的物理地址空间内,这才能通过该实例的虚拟地址确定。

29、从第二方面描述的方法流程可知,虽然请求中的总线地址指示第二节点中的实例对应的虚拟地址,但这个第二节点中的实例可以不感知处理请求的过程。这样,这个实例的主要用途是将该实例对应的地址空间(物理地址空间和对应的虚拟地址空间)分享出来,使得第一节点可以发送请求,在该实例对应的地址空间中读数据或者写数据。

30、一种实现方式中,该第二节点包括总线端设备,该总线端设备用于基于该第二映射关系处理来自该第一节点的请求。可见,接收请求的第二节点也需要包括总线端设备,这样才能接入总线,接收到来自第一节点的请求,并做处理。

31、一种实现方式中,该总线地址包括该总线端设备的标识和第二虚拟地址,该第二虚拟地址与该实例有关。

32、为便于管理,总线端设备的标识可以在某个域(全域或者局域)中唯一。

33、这种情况下,该第二映射关系为该第二虚拟地址与该请求对应的物理地址之间的映射关系。其中,该请求对应的物理地址就是该请求要读或者写数据所要访问的物理地址。例如,该物理地址和第二虚拟地址对应同一实例,第二虚拟地址可以就是该实例的对应的虚拟地址,而该物理地址则属于该实例对应的物理地址空间。

34、一种实现方式中,该第二节点存储有第二映射表,该第二映射表用于指示包括该第二映射关系在内的多个映射关系,其中,该多个映射关系中的每个映射关系为该第二节点中的虚拟地址,以及与该第二节点中的虚拟地址对应的物理地址之间的映射。

35、可见,为完成第一节点和第二节点的通信,第二节点中存储的第二映射关系中应与来自第一节点的请求中的总线地址匹配,这样才可以得到需要被访问的物理地址。而第二节点中,第二映射关系所在的第二映射表也维护有多个指示该第二节点中的虚拟地址,与该第二节点中的物理地址之间的映射的表项。

36、一种实现方式中,该第二映射表由该总线端设备的驱动更新。

37、一种实现方式中,上述方法还包括:获取该实例的地址分配请求,该地址分配请求表示该实例提供该实例对应的物理地址空间;基于该地址分配请求,更新该第二映射表,以使得更新后的该第二映射表中,包括与该实例对应的物理地址空间对应的至少一个表项。

38、其中,该实例可以提供该实例对应的全部或者部分物理地址空间。也就是说,基于该地址分配请求更新该第二映射表,旨在说明该实例可以通过这种方式分享该实例对应的物理地址空间中的地址段。具体分享哪一段或者哪几段,一个地址段有多长,本技术都不做限制。

39、可见,第二设备获取第二设备中实例的地址分配请求,该地址分配请求可以是实例主动发送的,例如发给总线端设备的驱动,也可以是第二设备主动获取的。可见,第二节点可以通过第二节点上运行的实例或者第二节点上运行的实例可以访问的设备,将第二设备中的地址段共享出来,以第二映射表的形式,供其他节点访问这个地址段中的某个或某段地址。其中,该地址段是实例对应的物理地址空间,通常在第二节点的内存中,当然,也可以在第二节点的其他存储设备中。

40、第二映射表的实现方式与第一映射表类似,具体的说明请参考第一方面中有关第一映射表的说明。因此,更新后的该第二映射表中,包括与该实例对应的物理地址空间对应的至少一个表项,可以是第二映射表中的一部分表项记载的虚拟地址,是该实例对应的虚拟地址,也就是说,第二映射表的表项中可能不记载该实例对应的物理地址空间中的一个或一段地址,但是记载有与该物理地址空间中的物理地址对应的虚拟地址。

41、第二方面还描述了另一种总线地址的实现方式,相应的,第二节点使用和管理该总线地址的方式也与上述的实现有所不同。

42、具体的,总线地址还包括该实例的标识。通常,实例的标识是实例的名称或者编号,但是,也可以用其他的量作为实例的标识,只要能区分不同的实例即可。一种实现方式下,该实例的标识也指示该实例对应的虚拟地址空间,该请求对应的物理地址属于该实例对应的物理地址空间。

43、一种实现方式下,该第二映射关系包括该实例的标识与该实例的页表基址之间的映射,和该第二虚拟地址与该请求对应的物理地址之间的映射,该第二虚拟地址与该请求对应的物理地址之间的映射记载在该实例的页表中。页表基址,就是页表的基址,也就是一个页表的被存储的起始位置,通过基址加偏移量,就可以指示一个地址段,页表可以存储在这个地址段指示的存储空间内。当该实例为进程时,实例的页表基址就是该进程的页表在内存中的起始存储位置,可用于指代该进程的页表的物理地址。

44、可见,在总线地址包括实例的标识的情况下,第二映射关系包括两部分。这样就可以通过实例的标识查询到实例的页表基址,也就是能定位到实例的页表。并在实例的页表内,基于第二虚拟地址,查询到为响应来自第一节点的请求所需操作的物理地址,也就是来自第一节点的请求对应的物理地址。当实例是进程时,可以复用现有的进程页表维护虚拟地址和物理地址之间的映射,更加方便。进程页表通常由输入输出内存管理单元,以及内存管理单元使用。当然,在某些实现中,也可以由总线端设备使用。

45、一种实现方式下,该第二节点存储有第三映射表,该第三映射表包括多个表项,该实例的标识与该实例的页表基址之间的映射记载在该多个表项中的一个,该多个表项的每个表项用于记录该第二节点中的实例的信息,该信息包括实例的标识和实例的页表基址。

46、可见,在总线地址中包括实例的标识的情况下,一些实现方式中,第二节点中维护的两个表,也就是第三映射表和实例的页表,都会参与上述方法。本技术不限制第三映射表的实现方式,例如第三映射表可以是第二节点中用于记录和管理第二节点中的实例的映射表。本技术也不限制第三映射表中表项的格式,例如,表项中还可以包括除了实例的标识和实例的页表基址外的其他信息。

47、与第二映射表类似,该第三映射表由该总线端设备的驱动更新。

48、一种实现方式下,第二方面的方法还包括:基于该第二节点中实例的信息,更新该第三映射表,以使得更新后的该第三映射表中,包括与该信息对应的表项,该信息包括实例的标识和实例的页表基址。

49、第三映射表与第二映射表的更新方式类似,此处不做赘述。第二节点中实例的信息通常由第二节点的操作系统中的模块收集,总线端设备的驱动也运行在操作系统中。第二节点中实例的信息也可以在实例被创建或者投入使用时,实例主动向总线端设备的驱动报告。

50、第二方面中描述的地址转换过程,在总线地址不包括实例的标识时,可以完全由总线端设备执行,也可以完全由输入输出内存管理单元执行;在总线地址不包括实例的标识时,也可以完全由总线端设备执行,或者完全由输入输出内存管理单元执行,或者如前文所述,总线端设备查询第三映射表和输入输出内存管理单元查询实例的页表,配合执行。本技术对地址转换过程中涉及到的器件和具体处理过程不做限制。

51、第三方面,本技术实施例提供一种处理请求的系统,其特征在于,该系统包括第一处理器,内存管理单元mmu,第一总线端设备,第二处理器,存储介质和第二总线端设备,该第二处理器运行有实例,该实例的物理地址空间指向该存储介质;该内存管理单元用于基于来自该第一处理器的第一请求,得到与第一虚拟地址对应的物理地址,该第一请求用于请求读数据,或者请求写数据,该第一请求中包括该第一虚拟地址;该第一总线端设备用于基于第一映射关系向该第二总线端设备发送第二请求,该第一映射关系为该物理地址与总线地址之间的映射关系,该第二请求与该第一请求对应,该第二请求包括该总线地址,该总线地址指示与该实例对应的虚拟地址;该第二总线端设备用于接收该第二请求;该第二总线端设备还用于基于该总线地址以及第二映射关系,处理该第二请求,以得到该请求对应的结果,该第二映射关系为该总线地址与该第二请求对应的物理地址之间的映射关系,该第二请求的对应物理地址属于该实例的物理地址空间。

52、可见,第三方面是与第一方面、第二方面对应的,是在系统的角度描述方案。一种实现方式下,第三方面的系统可以认为包括两个节点,其中一个包括第一处理器,内存管理单元mmu,第一总线端设备,对应前文的第一节点。另一个包括第二处理器,存储介质和第二总线端设备,对应前文的第二节点。第一处理器和第二处理器分别运行不同的操作系统。第三方面中的许多名词与第一方面、第二方面中的名词是对应的。因此,第一方面和第二方面中对各种词语或者句子的说明,各种实现方式的描述以及对技术效果的描述,如果第三方面有涉及到,那么在第三方面中同样适用,不再赘述。

53、需说明,实例的物理地址空间指向该存储介质,是指该实例可以使用的这段物理地址,是属于该存储介质的,或者说,该实例能使用的物理存储资源,是该存储介质中的一部分。

54、上述系统中,在总线地址不包括实例的标识的情况下,第二总线端设备具体用于通过总线地址中的第二虚拟地址以及该第二映射关系,访问该存储介质中,与该请求对应的物理地址,以执行该请求指示的操作,比如读取该物理地址中存储的数据,或者将第二请求中的数据写入该物理地址中。

55、而在总线地址不包括实例的标识的情况下,该系统还包括输入输出内存管理单元iommu,该iommu用于通过该实例的页表,查找到与该请求对应的物理地址,以执行与该第二请求相应的操作,并将该操作的结果返回给该第二总线端设备,相应的,该第二总线端设备用于基于该总线地址,以及该实例的标识与该实例的页表基址之间的映射,查找到该实例的页表基址并将该实例的页表基址传递给该输入输出内存管理单元iommu。

56、当然,系统中可以始终包括iommu,而同时兼容上述两种实现。

57、第四方面,本技术实施例提供一种处理请求的装置,该装置位于第一节点,其特征在于,该装置包括:处理模块,该处理模块用于向地址翻译模块发送第一请求,该第一请求用于请求读第二节点的数据,或者请求将数据写入该第二节点;

58、该地址翻译模块,用于基于第一虚拟地址得到对应的物理地址,该第一虚拟地址是该第一请求中的虚拟地址;总线通信模块,用于基于第一映射关系向该第二节点发送第二请求,该第一映射关系为该物理地址与总线地址之间的映射关系,该第二请求与该第一请求对应,该第二请求包括该总线地址,该总线地址指示该第二节点中的实例对应的虚拟地址。

59、第四方面中的地址翻译模块,相当于前文描述的总线端设备。

60、第四方面是与第一方面的方法对应的装置,该装置具有实现第一方面中任一种实现方式中处理请求的方法的功能。该功能可以通过硬件实现,也可以通过软件和硬件配合实现。该硬件或软件包括一个或多个与上述功能相对应的模块。第四方面中的许多名词与第一方面中的名词是对应的,与第二方面的方法和第三方面的系统也有关联。因此,第一方面、第二方面和第三方面中对各种词语或者句子的说明,各种实现方式的描述以及对技术效果的描述,如果第四方面有涉及,那么在第四方面中同样适用,不再赘述。

61、第五方面,本技术实施例提供一种处理请求的装置,该装置位于第二节点,其特征在于,该装置包括:处理模块和存储介质,该处理模块用于运行实例,该实例的物理地址空间指向该存储介质;总线通信模块,用于接收来自第一节点的请求,该请求用于读取数据,或者用于将数据写入,该请求包括总线地址,该总线地址指示该实例对应的虚拟地址,还用于基于该总线地址以及第二映射关系,处理该第二请求,以得到该请求对应的结果,该第二映射关系为该总线地址与该请求对应的物理地址之间的映射关系,该请求对应的物理地址属于该实例的物理地址空间。

62、第五方面中的地址翻译模块,相当于前文描述的总线端设备。

63、第五方面是与第二方面的方法对应的装置,该装置具有实现第二方面中任一种实现方式中处理请求的方法的功能。该功能可以通过硬件实现,也可以也可以通过软件和硬件配合实现。该硬件或软件包括一个或多个与上述功能相对应的模块。第五方面中的许多名词与第二方面中的名词是对应的,与第一方面的方法和第三方面的系统也有关联。因此,第一方面、第二方面和第三方面中对各种词语或者句子的说明,各种实现方式的描述以及对技术效果的描述,如果第五方面有涉及,那么在第五方面中同样适用,不再赘述。

64、第六方面,本技术实施例提供了一种芯片,该芯片包括处理电路、存储介质,该存储介质中存储有指令;该指令被该处理电路执行时,该芯片执行如上述任一方面中任一项该的处理请求的方法。

65、第七方面,本技术实施例提供了一种用于处理请求的设备,该设备包括:存储介质、处理电路、内存管理单元mmu和总线端设备,该存储介质与该处理电路耦合,该存储介质用于存储计算机程序代码,该计算机程序代码包括计算机指令,当该计算机指令被该处理电路执行时,执行以下方法:该内存管理单元mmu基于第一虚拟地址得到对应的物理地址,该第一虚拟地址是第一请求中的虚拟地址,该第一请求用于请求读取另一设备的数据,或者请求将数据写入该另一设备;该总线端设备基于第一映射关系向该另一设备发送第二请求,该第一映射关系为该物理地址与总线地址之间的映射关系,该第二请求与该第一请求对应,该第二请求包括该总线地址,该总线地址指示该另一设备中的实例对应的虚拟地址。

66、第七方面是与第一方面的方法对应的装置,该装置具有实现第一方面中任一种实现方式中处理请求的方法的功能。第七方面中的许多名词与第一方面中的名词是对应的,与第二方面的方法和第三方面的系统也有关联。因此,第一方面、第二方面和第三方面中对各种词语或者句子的说明,各种实现方式的描述以及对技术效果的描述,如果第七方面有涉及,那么在第七方面中同样适用,不再赘述。

67、第八方面,本技术实施例提供了一种用于处理请求的设备,该设备包括:存储介质、处理电路和总线端设备,该存储介质与该处理电路耦合,该存储介质用于存储计算机程序代码,该计算机程序代码包括计算机指令,当该计算机指令被该处理电路执行时,指示该总线端设备执行以下方法:接收来自另一设备的请求,该请求用于读取该设备的数据,或者用于将数据写入该设备,该请求包括总线地址,该总线地址指示该设备中的实例对应的虚拟地址;基于该总线地址以及第二映射关系,得到该设备的存储介质中,与该请求对应的物理地址,以执行该请求指示的操作,该第二映射关系为该总线地址与该请求对应的物理地址之间的映射关系。

68、第八方面是与第二方面的方法对应的装置,该装置具有实现第二方面中任一种实现方式中处理请求的方法的功能。第七方面中的许多名词与第二方面中的名词是对应的,与第一方面的方法和第三方面的系统也有关联。因此,第一方面、第二方面和第三方面中对各种词语或者句子的说明,各种实现方式的描述以及对技术效果的描述,如果第八方面有涉及,那么在第八方面中同样适用,不再赘述。

69、下述的第九方面到第十四方面与第一方面、第二方面或第三方面对应,第一方面、第二方面和第三方面中对各种词语或者句子的说明,各种实现方式的描述以及对技术效果的描述,如果下述方面有涉及,那么在下述方面中同样适用,不再赘述。

70、第九方面,提供一种通信装置,包括:处理器;处理器用于与存储器耦合,并读取存储器中的指令之后,根据指令执行如上述任一方面中任一项的处理请求的方法。

71、第十方面,本技术实施例提供了一种通信装置,该装置可以为芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述任一方面所描述方法的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

72、第十一方面,提供一种通信装置,该装置可以为电路系统,电路系统包括处理电路,处理电路被配置为执行如上述任一方面中任一项的方法。

73、第十二方面,本技术实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述任一方面的方法。

74、第十三方面,本技术实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行上述任一方面的方法。

75、第十四方面,本技术实施例提供了一种系统,系统包括第四方面任一项的处理请求的装置和第五方面任一项的处理请求的装置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1