CN111858407B - 高速外围设备互连系统内的通信方法及高速外围设备互连系统 - Google Patents
高速外围设备互连系统内的通信方法及高速外围设备互连系统 Download PDFInfo
- Publication number
- CN111858407B CN111858407B CN202010673440.9A CN202010673440A CN111858407B CN 111858407 B CN111858407 B CN 111858407B CN 202010673440 A CN202010673440 A CN 202010673440A CN 111858407 B CN111858407 B CN 111858407B
- Authority
- CN
- China
- Prior art keywords
- root complex
- endpoint
- endpoint device
- physical address
- complex device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种高速外围设备互连系统内的通信方法及高速外围设备互连系统,所述方法应用于端点设备上,包括:利用第一端点设备内部驻留的根复合体设备控制器驱动控制根复合体设备控制器进行配置空间访问以获取高速外围设备互连系统的拓扑与参数资源;根据第二端点设备的物理地址向所述第二端点设备发起数据交互。本发明提供的一种通信方法,端点设备能够反向调用根复合体设备控制器进行配置空间访问,从而获取到包括了各个端点设备物理地址的拓扑与参数资源信息,从而端点设备能够根据物理地址向其他端点设备发起数据交互,整个过程不需要使用根复合体设备的任何处理器资源,有效的节约了根复合体设备的软件和CPU资源。
Description
技术领域
本发明属于通讯技术领域,尤其涉及一种高速外围设备互连系统内的通信方法及高速外围设备互连系统。
背景技术
PCIe(Peripheral Component Interconnect express,高速外围设备互连)是一种高速串行计算机扩展总线标准。PCIe系统作为本地可寻址通信网络系统,是以RC(RootComplex,根复合体)为主机的器件探测全网拓扑并对各个EP(Endpoint,端点设备)分配资源(例如地址,中断号等),从而进行后续通信工作的一种网络系统。
PCIe采用的是树状结构,全网的拓扑只有RC完全了解,EP无法了解除RC之外的其他任何EP的拓扑信息以及分配的资源,因此,在EP之间需要通信时,通讯信息是通过RC的软件通知过去的。然而,这样的通讯模式需要RC驻留一部分实现该通讯功能的软件,也需要占用一定的RC端处理器资源,存在RC的软件和CPU资源浪费严重的问题。
发明内容
本发明实施例的目的在于提供高速外围设备互连系统内的通信方法,旨在解决现有的PCIe还存在的RC的软件和CPU资源浪费严重的技术问题。
本发明实施例是这样实现的,一种高速外围设备互连系统内的通信方法,应用于高速外围设备互连系统内与根复合体设备通过外围设备互连总线连接的第一端点设备上,包括:
利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问;
获取高速外围设备互连系统的拓扑与参数资源;所述系统的拓扑与参数资源包括第二端点设备的物理地址;
根据所述第二端点设备的物理地址向所述第二端点设备发起数据交互。应用于高速外围设备互连系统内与根复合体设备通过外围设备互连总线连接的第一端点设备上,包括:
利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问;
获取高速外围设备互连系统的拓扑与参数资源;所述系统的拓扑与参数资源包括第二端点设备的物理地址;
根据所述第二端点设备的物理地址向所述第二端点设备发起数据交互。应用于高速外围设备互连系统内与根复合体设备通过外围设备互连总线连接的第一端点设备上,包括:
利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问;
获取高速外围设备互连系统的拓扑与参数资源;所述系统的拓扑与参数资源包括第二端点设备的物理地址;
根据所述第二端点设备的物理地址向所述第二端点设备发起数据交互。
本发明实施例的另一目的提供一种高速外围设备互连系统,包括根复合体设备以及与所述根复合体设备之间通过外围设备互连总线连接的控制端点设备以及目标端点设备;
所述控制端点设备,用于利用所述控制端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问;获取高速外围设备互连系统的拓扑与参数资源;所述系统的拓扑与参数资源包括目标端点设备的物理地址;根据所述目标端点设备的物理地址向所述目标端点设备发起数据交互。
本发明实施例提供的一种高速外围设备互连系统内的通信方法,运用在高速外围设备互连系统内与根复合体设备通过外围设备互连总线连接的第一端点设备上,利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问,能够在不需要占用根复合体设备处理器资源的情况下使得第一端点设备获取高速外围设备互连系统的拓扑与参数资源,其中包括了各个端点设备的物理地址,从而使得第一端点设备能够根据第二端点设备的物理地址向第二端点设备发起数据交互。本发明实施例提供的高速外围设备互连系统内的通信方法,第一端点设备能够反向调用根复合体设备控制器进行配置空间的访问,从而获取到高速外围设备互连系统的拓扑与参数资源信息,从而便于第一端点设备根据第二端点设备的物理地址直接向第二端点设备发起数据交互,且整个过程不需要使用根复合体设备的任何处理器资源,有效的节约了根复合体设备的软件和CPU资源。
附图说明
图1为本发明实施例提供的PCIe系统通信方法的实施环境图;
图2为本发明实施例提供的一种PCIe系统通信方法的步骤流程图;
图3为本发明实施例提供的另一种PCIe系统通信方法的步骤流程图;
图4为本发明实施例提供的又一种PCIe系统通信方法的步骤流程图;
图5为本发明实施例提供的再一种PCIe系统通信方法的步骤流程图;
图6为本发明实施例提供的一种PCIe系统的结构示意图;
图7为本发明实施例提供的PCIe系统在进行通讯时的时序图;
图8为本发明一种优选实施例提供的PCIe系统在进行通讯时的时序图;
图9为本发明另一种优选实施例提供的PCIe系统在进行通讯时的时序图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一端点设备称为第二端点设备,且类似地,可将第二端点设备称为第一端点设备。
为简化说明,在后文中均采用本领域技术人员所熟知的英文简称。例如将高速外围设备互连系统简称为PCIe,将高速外围设备互连系统中的根复合体设备简称为RC,将与RC通过PCI总线连接的端点设备简称为EP,在此不再赘述。
如图1所示,为本发明实施例提供的PCIe系统通信方法的实施环境图,详述如下。
在本发明实施例中,由于本发明提供的通信方法主要运用在PCIe系统内,因此其具体实施环境也可以理解为PCIe系统的架构图,具体包括RC端110以及与所述RC端通过PCI总线130连接的多个EP端120。
在本发明实施例中,所述RC端可以理解为PCIe系统的主机,RC的定义体现在其功能上,而不在于其具体的形式,即RC可以是任意被能够被定义为主机的设备,与现有的RC相同,本发明提供的RC端能够进行PCIe系统的枚举探测与资源分配,也就是对PCIe系统的拓扑(例如各个EP端的总线号、设备号、功能号)和关键资源(例如地址)进行赋值。而在现有技术中EP端之间的通信也正是基于RC端所获知的PCIe系统的拓扑结构所实现的,需要RC端驻留一部分的软件和CPU资源用于处理中EP端之间的通信事务。
在本发明实施例中,需要强调的一点是,本发明是在基于现有的PCIe系统上所进行的改进,因此仅仅只去论述了与现有的PCIe系统不同的地方,对于与PCIe系统相同的地方,其属于现有技术,在本申请文件不具体一一说明,本领域技术人员在阅读到本发明公开的技术方案时,只需加以结合到在现有常规的PCIe系统上即可得到完整的改进PCIe系统的实现方案。
在本发明实施例中,与现有PCIe系统的区别在于,在部分或者全部的EP端内部会驻留有RC端的PCIe控制器驱动,也就是RC控制器驱动,基于该驱动,EP端能够遵循PCIe系统内配置空间的访问规范调用RC端进行配置空间的访问,由于RC端在预先进行的枚举探测与资源分配的过程中,已经对PCIe系统的整体拓扑结构等关键资源信息进行了赋值,因此,EP端在调用RC端进行配置空间的访问后,能够获取到PCIe系统的整体拓扑结构等关键资源信息的值,也就是PCIe系统的拓扑与参数资源,包括了各个端点设备的物理地址,进一步该部分EP端能够进一步利用所获取的PCIe系统的拓扑与参数资源向其他EP端直接发起数据交互,整个过程中,只需要利用EP端内部的RC控制器驱动调用RC进行配置空间的访问,即只占用了RC端的硬件资源,而无需占用RC端的任何软件或CPU资源,有效地节省了RC的软件和CPU资源。
在本发明实施例中,其中EP端需要先确定RC的物理地址,才能利用EP端内部驻留的RC控制器驱动来调用所述RC进行配置空间访问,因此,还需要先根据RC在高速外围设备互连系统内的MSI地址确定RC的物理地址,其中MSI地址是RC端在进行枚举探测与资源分配的过程时所确定的,是需要通知到各个EP端的,此时EP端就可以基于该MSI地址反推出RC端的物理地址,从而实现利用EP端内部驻留的RC控制器驱动来对RC端进行反调用。
在本发明实施例中,其中利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问是通过只读式的方式进行的。也就是说,EP端并不能去修改RC端在枚举探测与资源分配的过程中对PCIe系统的整体拓扑结构等关键资源信息的赋值,而只能利用RC控制器调用RC通过只读式的方式去读取RC端在枚举探测与资源分配的过程中对PCIe系统的整体拓扑结构等关键资源信息的赋值。
作为本发明的一个优选实施例,在EP端通过反调用RC端进行配置空间的访问以获取到PCIe系统的拓扑与参数资源之后,还可以在该EP本身形成一个类似于RC对各个EP所感知的资源配置表。而基于该资源配置表,就可以在后续的过程中,直接利用资源配置表内所包括的端点设备的物理地址信息,来向对应的端点设备发起高速数据交互,而无需重复利用EP端内部驻留的RC控制器控制RC进行配置空间访问以获取到相应端点设备的物理地址。
作为本发明的另一个优选实施例,需要说明的一点是,EP端是利用RC控制器调用RC通过只读式的方式进行配置空间访问,以获取到PCIe系统的拓扑与参数资源,在此过程中,通常是不需要对RC端在枚举探测与资源分配的过程中对PCIe系统的整体拓扑结构等关键资源信息的赋值进行修改。然而,由于RC端在枚举探测与资源分配的过程中给每个EP的MSI地址默认配置为RC端,在实际中仍需要利用RC端的处理器资源来处理各个端点设备发起的中断请求,占用RC端的处理器资源。因此,可以在EP利用RC控制器控制RC端进行配置空间读取到PCIe系统的拓扑与参数资源后,根据配置空间写指令对其他EP的MSI地址进行改写,不再将RC端确定为每个EP的默认MSI地址,这样在EP发起MSI请求时,就不再需要利用RC端的处理器资源,进一步降低了RC端处理器资源的占用。
如图2所示,为本发明实施例提供的一种PCIe系统通信方法的步骤流程图,该步骤主要以应用在如图1中所示的EP端120上,具体包括以下步骤:
步骤S202,利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问。
在本发明实施例中,通过在第一EP端内驻留一个RC端的PCIe控制器驱动,即RC控制器,就可以使EP端在遵循PCIe系统内配置空间的访问规范通过调用RC端进行配置空间的访问。
作为本发明的一个优选实施例,EP端是利用内部驻留的RC控制器控制所述RC端以只读式的方式进行配置空间的访问。
步骤S204,获取高速外围设备互连系统的拓扑与参数资源。
在本发明实施例中,由于RC端在预先进行的枚举探测与资源分配的过程中,已经对PCIe系统的整体拓扑结构等关键资源信息进行了赋值,因此,EP端在调用RC端进行配置空间的访问后,能够获取到PCIe系统的整体拓扑结构等关键资源信息的值,也就是PCIe系统的拓扑与参数资源,其中包括了各个端点设备的物理地址。
步骤S206,根据所述第二端点设备的物理地址向所述第二端点设备发起数据交互。
在本发明实施例中,基于获取的拓扑与参数资源中包括的第二端点设备的物理地址,就可以直接向第二端点设备发起数据交互,而无需利用RC端的处理器资源,整个数据交互过程都不需要占用RC端的任何软件或CPU资源,有效地节省了RC的软件和CPU资源。
本发明实施例提供的一种高速外围设备互连系统内的通信方法,运用在高速外围设备互连系统内与根复合体设备通过外围设备互连总线连接的第一端点设备上,利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问,能够在不需要占用根复合体设备处理器资源的情况下使得第一端点设备获取高速外围设备互连系统的拓扑与参数资源,其中包括了各个端点设备的物理地址,从而使得第一端点设备能够根据第二端点设备的物理地址向第二端点设备发起数据交互。本发明实施例提供的高速外围设备互连系统内的通信方法,第一端点设备能够反向调用根复合体设备控制器进行配置空间的访问,从而获取到高速外围设备互连系统的拓扑与参数资源信息,从而便于第一端点设备根据第二端点设备的物理地址直接向第二端点设备发起数据交互,且整个过程不需要使用根复合体设备的任何处理器资源,有效的节约了根复合体设备的软件和CPU资源。
如图3所示,为本发明实施例提供的另一种PCIe系统通信方法的步骤流程图,详述如下。
在本发明实施例中,与图2所示出的一种PCIe系统通信方法的步骤流程图的区别在于,在所述步骤S202之前,还包括:
步骤S302,根据根复合体设备在高速外围设备互连系统内的信息中断地址确定根复合体设备控制器的物理地址。
在本发明实施例中,其中EP端需要先确定RC的物理地址,才能利用EP端内部驻留的RC控制器驱动来调用所述RC进行配置空间访问,具体的,可以通过RC在高速外围设备互连系统内的MSI地址来确定RC的物理地址。
在本发明实施例中,所述信息中断地址(即MSI地址)是RC端在进行枚举探测与资源分配的过程时所确定的,分配之后需要通知到各个EP端,此时,EP端就可以基于该MSI地址反推出RC端的物理地址,从而实现利用EP端内部驻留的RC控制器驱动来对RC端进行反调用。
如图4所示,为本发明实施例提供的又一种PCIe系统通信方法的步骤流程图,详述如下。
在本发明实施例中,与图2所示出的一种PCIe系统通信方法的步骤流程图的区别在于,在所述步骤S204之后,还包括:
步骤S402,根据拓扑与参数资源在所述第一端点设备内部生成资源配置表。
在本发明实施例中,在EP端通过反调用RC端进行配置空间的访问以获取到PCIe系统的拓扑与参数资源之后,还可以在该EP本身形成一个类似于RC对各个EP所感知的资源配置表。而基于该资源配置表,就可以在后续的过程中,直接利用资源配置表内所包括的端点设备的物理地址信息,来向对应的端点设备发起高速数据交互,而无需重复利用EP端内部驻留的RC控制器控制RC进行配置空间访问以获取到相应端点设备的物理地址,以提高后续发起高速数据交互的效率。
如图5所示,为本发明实施例提供的再一种PCIe系统通信方法的步骤流程图,详述如下。
在本发明实施例中,与图2所示出的一种PCIe系统通信方法的步骤流程图的区别在于,在所述步骤S204之后,还包括:
步骤S502,根据配置空间写指令对所述第二端点设备的信息中断地址进行改写。
在本发明实施例中,需要说明的一点是,通常情况下EP端是利用RC控制器调用RC通过只读式的方式进行配置空间访问,以获取到PCIe系统的拓扑与参数资源,在此过程中,往往不需要对RC端在枚举探测与资源分配的过程中对PCIe系统的整体拓扑结构等关键资源信息的赋值进行修改。然而,由于RC端在枚举探测与资源分配的过程中给每个EP的MSI地址默认配置为RC端,在实际中仍需要利用RC端的处理器资源来处理各个端点设备发起的中断请求,占用RC端的处理器资源。因此,可以在EP利用RC控制器控制RC端进行配置空间读取到PCIe系统的拓扑与参数资源后,根据配置空间写指令对其他EP的MSI地址进行改写,不再将RC端确定为每个EP的默认MSI地址,这样在后续过程中,当EP发起MSI请求时,就不再需要利用RC端的处理器资源,进一步降低了RC端处理器资源的占用。
本发明实施例还提供一种PCIe系统,如图6所示,为本发明实施例提供的一种PCIe系统的结构示意图,详述如下。
在本发明实施例中,与图1所示出的PCIe系统通信方法的应用环境图相似,同样包括了RC端610以及与RC端通过PCI总线620进行连接的EP端,其中基于一次通信过程,将EP端确定为控制EP631以及目标EP632。
在本发明实施例中,需要说明的是,本发明提供的PCIe系统的结构示意图是基于一次通信过程,将交互数据的发起EP端称为控制EP(也就是第一EP),将交互数据的接收方称为目标EP(也就是第二EP),事实上,在整个PCIe系统通信方法的应用环境图下,基于不同的通信过程,各个EP可以是控制EP也可以是目标EP,当然也可是不参与此次通信的其他EP。
在本发明实施例中,所述控制EP,用于利用控制EP内部驻留的RC控制器驱动控制所述RC进行配置空间访问,从而获取PCIe系统的拓扑与参数资源,其中包括了目标EP的物理地址信息,然后根据目标EP的物理地址信息向所述目标EP发起数据交互。具体的,在部分或者全部的EP端内部会驻留有RC端的PCIe控制器驱动,也就是RC控制器驱动,基于该驱动,EP端能够遵循PCIe系统内配置空间的访问规范调用RC端进行配置空间的访问,由于RC端在预先进行的枚举探测与资源分配的过程中,已经对PCIe系统的整体拓扑结构等关键资源信息进行了赋值,因此,EP端在调用RC端进行配置空间的访问后,能够获取到PCIe系统的整体拓扑结构等关键资源信息的值,也就是PCIe系统的拓扑与参数资源,包括了各个端点设备的物理地址,进一步该部分EP端能够进一步利用所获取的PCIe系统的拓扑与参数资源向其他EP端直接发起数据交互,整个过程中,只需要利用EP端内部的RC控制器驱动调用RC进行配置空间的访问,即只占用了RC端的硬件资源,而无需占用RC端的任何软件或CPU资源,有效地节省了RC的软件和CPU资源。其中本发明实施例提供的PCIe系统内的时序图具体请参阅图7及其解释说明。
作为本发明的一个优选实施例,考虑到EP端需要先确定RC的物理地址,才能利用EP端内部驻留的RC控制器驱动来调用所述RC进行配置空间访问,因此,还需要先根据RC在高速外围设备互连系统内的MSI地址确定RC的物理地址,其中MSI地址是RC端在进行枚举探测与资源分配的过程时所确定的,是需要通知到各个EP端的,此时EP端就可以基于该MSI地址反推出RC端的物理地址,从而实现利用EP端内部驻留的RC控制器驱动来对RC端进行反调用。其中本发明实施例提供的PCIe系统内的时序图具体请参阅图8及其解释说明。
作为本发明的另一个优选实施例,在EP端通过反调用RC端进行配置空间的访问以获取到PCIe系统的拓扑与参数资源之后,还可以在该EP本身形成一个类似于RC对各个EP所感知的资源配置表。而基于该资源配置表,就可以在后续的过程中,直接利用资源配置表内所包括的端点设备的物理地址信息,来向对应的端点设备发起高速数据交互,而无需重复利用EP端内部驻留的RC控制器控制RC进行配置空间访问以获取到相应端点设备的物理地址。其中,本发明实施例提供的PCIe系统内的时序图具体请参阅图9及其解释说明。
在本发明实施例中,其中利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问是通过只读式的方式进行的。也就是说,EP端并不能去修改RC端在枚举探测与资源分配的过程中对PCIe系统的整体拓扑结构等关键资源信息的赋值,而只能利用RC控制器调用RC通过只读式的方式去读取RC端在枚举探测与资源分配的过程中对PCIe系统的整体拓扑结构等关键资源信息的赋值。
在本发明实施例中,需要说明的一点是,EP端是利用RC控制器调用RC通过只读式的方式进行配置空间访问,以获取到PCIe系统的拓扑与参数资源,在此过程中,通常是不需要对RC端在枚举探测与资源分配的过程中对PCIe系统的整体拓扑结构等关键资源信息的赋值进行修改。然而,由于RC端在枚举探测与资源分配的过程中给每个EP的MSI地址默认配置为RC端,在实际中仍需要利用RC端的处理器资源来处理各个端点设备发起的中断请求,占用RC端的处理器资源。因此,可以在EP利用RC控制器控制RC端进行配置空间读取到PCIe系统的拓扑与参数资源后,根据配置空间写指令对其他EP的MSI地址进行改写,不再将RC端确定为每个EP的默认MSI地址,这样在EP发起MSI请求时,就不再需要利用RC端的处理器资源,进一步降低了RC端处理器资源的占用。
本发明实施例提供的一种高速外围设备互连系统,包括根复合体设备以及与所述根复合体设备之间通过外围设备互连总线连接的控制端点设备以及目标端点设备,利用所述控制端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问,能够在不需要占用根复合体设备处理器资源的情况下使得控制端点设备获取高速外围设备互连系统的拓扑与参数资源,其中包括了各个目标端点设备的物理地址,从而使得控制端点设备能够根据标端点设备的物理地址向目标端点设备发起数据交互。本发明实施例提供的高速外围设备互连系统,控制端点设备能够反向调用根复合体设备控制器进行配置空间的访问,从而获取到高速外围设备互连系统的拓扑与参数资源信息,从而便于第控制端点设备根据目标端点设备的物理地址直接向目标端点设备发起数据交互,且整个过程不需要使用根复合体设备的任何处理器资源,有效的节约了根复合体设备的软件和CPU资源。
如图7所示,为本发明实施例提供的PCIe系统在进行通讯时的时序图。
在本发明实施例中,控制EP利用内部驻留的RC控制器驱动控制RC进行配置空间访问,能够在符合PCIe系统访问规范的条件下获取到PCIe系统的拓扑与参数资源,其中主要包括了各个端点设备的物理地址,进一步的基于该物理地址可以实现直接向端点设备发送高速数据交互的流程。
如图8所示,为本发明一种优选实施例提供的PCIe系统在进行通讯时的时序图。
在本发明实施例中,需要强调的一点是,EP端利用RC控制器驱动控制RC端进行配置空间访问必须发生在RC完成枚举探测与资源分配之后,因此,当且仅当RC完成枚举探测与资源分配,才会通知到EP端MSI地址,只有基于该MSI地址EP端才能反推出RC端的物理地址,只有知晓了RC端的物理地址,EP端才能利用内部驻留的RC控制器驱动控制RC端进行配置空间访问。
如图9所示,为本发明另一种优选实施例提供的PCIe系统在进行通讯时的时序图。
在本发明实施例中,需要强调的一点是,EP端在获取到PCIe系统的拓扑与参数资源后,可以在任一时刻根据拓扑与参数资源去生成资源配置表,一旦资源配置表生成,在后续的数据交互过程中,EP端就无须通过利用RC控制器驱动去控制RC进行配置资源空间访问来获取拓扑与参数资源了,而是直接可以根据资源配置表来直接获取到目标EP的物理地址,直接发起高速数据交互,大大提高了后续数据交互的效率。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种高速外围设备互连系统内的通信方法,其特征在于,应用于高速外围设备互连系统内与根复合体设备通过外围设备互连总线连接的第一端点设备上,包括:
根据根复合体设备在高速外围设备互连系统内的信息中断地址确定根复合体设备控制器的物理地址;所述信息中断地址是根复合体设备在进行枚举探测与资源分配的过程时所确定的;
根据所述根复合体设备控制器的物理地址并利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问;
获取高速外围设备互连系统的拓扑与参数资源;所述系统的拓扑与参数资源包括第二端点设备的物理地址;
根据所述第二端点设备的物理地址向所述第二端点设备发起数据交互。
2.根据权利要求1所述的高速外围设备互连系统内的通信方法,其特征在于,所述利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问的步骤,具体为:
利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行只读式的配置空间访问。
3.根据权利要求1所述的高速外围设备互连系统内的通信方法,其特征在于,在所述获取高速外围设备互连系统的拓扑与参数资源之后,还包括:
根据拓扑与参数资源在所述第一端点设备内部生成资源配置表;所述资源配置表包括有第二端点设备的物理地址。
4.根据权利要求1所述的高速外围设备互连系统内的通信方法,其特征在于,在所述利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问的步骤之后,还包括:
根据配置空间写指令对所述第二端点设备的信息中断地址进行改写。
5.一种高速外围设备互连系统,其特征在于,包括根复合体设备以及与所述根复合体设备之间通过外围设备互连总线连接的第一端点设备以及目标端点设备;
所述第一端点设备,用于根据根复合体设备在高速外围设备互连系统内的信息中断地址确定根复合体设备控制器的物理地址,所述信息中断地址是根复合体设备在进行枚举探测与资源分配的过程时所确定的;根据所述根复合体设备控制器的物理地址并利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问;获取高速外围设备互连系统的拓扑与参数资源;所述系统的拓扑与参数资源包括目标端点设备的物理地址;根据所述目标端点设备的物理地址向所述目标端点设备发起数据交互。
6.根据权利要求5所述的高速外围设备互连系统,其特征在于,所述利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行配置空间访问的步骤,具体为:
利用所述第一端点设备内部驻留的根复合体设备控制器驱动控制所述根复合体设备控制器进行只读式的配置空间访问。
7.根据权利要求5所述的高速外围设备互连系统,其特征在于,所述第一端点设备,还用于根据拓扑与参数资源在所述第一端点设备内部生成资源配置表;所述资源配置表包括有第二端点设备的物理地址。
8.根据权利要求5所述的高速外围设备互连系统,其特征在于,所述第一端点设备,还用于根据配置空间写指令对第二端点设备的信息中断地址进行改写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010673440.9A CN111858407B (zh) | 2020-07-14 | 2020-07-14 | 高速外围设备互连系统内的通信方法及高速外围设备互连系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010673440.9A CN111858407B (zh) | 2020-07-14 | 2020-07-14 | 高速外围设备互连系统内的通信方法及高速外围设备互连系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858407A CN111858407A (zh) | 2020-10-30 |
CN111858407B true CN111858407B (zh) | 2021-12-07 |
Family
ID=72984445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010673440.9A Active CN111858407B (zh) | 2020-07-14 | 2020-07-14 | 高速外围设备互连系统内的通信方法及高速外围设备互连系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858407B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440188A (zh) * | 2013-08-29 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种pcie硬件故障的检测方法及装置 |
CN104285218A (zh) * | 2013-12-31 | 2015-01-14 | 华为技术有限公司 | 一种扩展PCIe总线域的方法和装置 |
CN109815043A (zh) * | 2019-01-25 | 2019-05-28 | 华为技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL210169A0 (en) * | 2010-12-22 | 2011-03-31 | Yehuda Binder | System and method for routing-based internet security |
US9135200B2 (en) * | 2013-06-28 | 2015-09-15 | Futurewei Technologies, Inc. | System and method for extended peripheral component interconnect express fabrics |
US10120818B2 (en) * | 2015-10-01 | 2018-11-06 | International Business Machines Corporation | Synchronous input/output command |
-
2020
- 2020-07-14 CN CN202010673440.9A patent/CN111858407B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440188A (zh) * | 2013-08-29 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种pcie硬件故障的检测方法及装置 |
CN104285218A (zh) * | 2013-12-31 | 2015-01-14 | 华为技术有限公司 | 一种扩展PCIe总线域的方法和装置 |
CN109815043A (zh) * | 2019-01-25 | 2019-05-28 | 华为技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111858407A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338988B (zh) | 内存访问方法、装置、计算机设备和存储介质 | |
CN107305534B (zh) | 同时进行内核模式访问和用户模式访问的方法 | |
EP3220275B1 (en) | Array controller, solid state disk and data writing control method for solid state disk | |
CN105786725B (zh) | 基于异构混合内存的内存管理方法和系统 | |
JPH0683703A (ja) | データ転送制御システム及びコンピユータ・システムの動作方法 | |
CN112948310A (zh) | 一种资源分配方法、装置、设备及计算机可读存储介质 | |
CN105138481A (zh) | 存储数据的处理方法、装置和系统 | |
CN111858407B (zh) | 高速外围设备互连系统内的通信方法及高速外围设备互连系统 | |
CN107562648B (zh) | 无锁ftl访问方法与装置 | |
WO2017107163A1 (zh) | 基于异构混合内存的内存管理方法和系统 | |
EP2642387A1 (en) | Method, memory management unit and computer system for managing memory of computer system | |
CN113849311B (zh) | 内存空间管理方法、装置、计算机设备和存储介质 | |
KR20070014724A (ko) | 이동통신단말기의 메모리 제어방법 | |
CN114168225A (zh) | 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质 | |
US20040123301A1 (en) | Method and system for minimizing memory access latency in a computer system | |
WO2023287407A1 (en) | Hardware component initialization | |
CN109376097B (zh) | 解决多微引擎的哈希查找学习及地址老化冲突的方法 | |
CN112905497A (zh) | 内存管理方法、装置、电子设备及存储介质 | |
JP4841371B2 (ja) | コンピュータシステムおよびそのi/o空間リソース割り当て方法 | |
CN111949557B (zh) | 一种数据读取方法、装置及存储设备 | |
CN114710441B (zh) | 一种链路聚合方法、系统、计算机设备和存储介质 | |
CN115361283B (zh) | 基于k8s的云主机管理方法、装置、计算机设备 | |
CN110275679B (zh) | 一种固件共享硬件内部缓存的方法及其系统 | |
CN116009771A (zh) | DRAM-less固态硬盘TRIM性能提升方法和装置 | |
CN113448517B (zh) | 一种固态硬盘写大块数据处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |