CN117873924A - 一种计算设备、管理控制器及数据处理方法 - Google Patents
一种计算设备、管理控制器及数据处理方法 Download PDFInfo
- Publication number
- CN117873924A CN117873924A CN202311827052.1A CN202311827052A CN117873924A CN 117873924 A CN117873924 A CN 117873924A CN 202311827052 A CN202311827052 A CN 202311827052A CN 117873924 A CN117873924 A CN 117873924A
- Authority
- CN
- China
- Prior art keywords
- interface
- data packet
- usb
- service data
- management controller
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000004891 communication Methods 0.000 claims abstract description 118
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000006243 chemical reaction Methods 0.000 claims description 79
- 238000005516 engineering process Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000007726 management method Methods 0.000 description 176
- 238000012545 processing Methods 0.000 description 78
- 230000005540 biological transmission Effects 0.000 description 51
- 230000008569 process Effects 0.000 description 43
- 230000006870 function Effects 0.000 description 22
- 238000012937 correction Methods 0.000 description 19
- 230000003993 interaction Effects 0.000 description 16
- 238000001514 detection method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 11
- 238000013507 mapping Methods 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 9
- 239000007787 solid Substances 0.000 description 7
- 230000015654 memory Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000125205 Anethum Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Bus Control (AREA)
Abstract
本申请实施例公开了一种计算设备、管理控制器及数据处理方法,其中,所述计算设备包括:处理器、管理控制器,所述管理控制器通过第一通信协议与所述处理器相连;所述管理控制器包括扩展接口,所述扩展接口与外接设备通过第二通信协议连接;所述管理控制器,用于从处理器接收业务数据包,在所述业务数据包的目的设备为外接设备的情况下,将符合第一通信协议的所述业务数据包转换为符合第二通信协议的转换数据包,将所述转换数据包通过所述扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。通过这种方式,能够使计算设备接入更多的外接设备,也提高了计算设备中处理器的输入输出能力。
Description
技术领域
本申请实施例涉及计算设备技术领域,尤其涉及一种计算设备、管理控制器及数据处理方法。
背景技术
服务器等计算设备能够用来处理、存储和传输数据,通过计算设备可以为用户提供各种各样的服务。在计算设备内部,围绕处理器设置有多种功能装置、组件来协助完成业务数据包的相关处理。计算设备内的处理器可以包括多种接口,通过这些接口分别与对应的功能器件、或与接入的外部设备建立连接实现数据交互。最常见的接口比如USB(Universal Serial Bus,通用串行总线)接口、Ethernet(以太网)接口等等。
诸如USB接口、Ethernet接口等接口,在计算设备内部多数是通过PCIe(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)接口连接到处理器上。而随着数据大爆炸时代的到来,需要计算设备内的处理器能够连接更多的设备、网络以存储、传输产生的大量数据。为了使计算设备能够通过接口来外接更多的外接设备,目前常见的是额外使用转换器或者扩展卡等装置,实现一个PCIe接口对接多个类型的接口,从而通过多个类型的接口连接更多的外接设备。额外使用转换器或者扩展卡等装置增加了硬件成本,并且数据交换的效率也会受到一定的不利影响。
发明内容
本申请实施例提供了一种计算设备、管理控制器及数据处理方法,可便捷地使计算设备接入更多的设备。
第一方面,本申请实施例提供了一种计算设备,计算设备包括处理器、管理控制器,管理控制器通过第一通信协议与处理器相连;
管理控制器包括扩展接口,扩展接口与外接设备通过第二通信协议连接;
管理控制器,用于从处理器接收业务数据包,在业务数据包的目的设备为外接设备的情况下,将符合第一通信协议的业务数据包转换为符合第二通信协议的转换数据包,将转换数据包通过扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。
在该技术方案中,利用计算设备中已有的管理控制器,在处理器和管理控制器之间基于第一通信协议连接的情况下,还可以扩展出其他通信协议的接口,以此可以便捷地使得处理器可以通过管理控制器扩展接入更多的支持其他协议的设备,提高了处理器的输入输出能力,不需要额外增加接口转换装置,节省了成本。
在一种可能的实现方式中,管理控制器还包括PCIe接口,PCIe接口与处理器连接,扩展接口的数量为多个,每个扩展接口与对应的外接设备连接,不同扩展接口通过不同第二通信协议与对应的外接设备连接。
在该技术方案中,利用计算设备内的管理控制器的性能,例如快速的数据处理能力和高吞吐量,可以根据需要配置多个的扩展接口,通过管理控制器与多个扩展接口,接入更多的各种不同类型的通信协议对应的外接设备,更好地提升处理器的输入输出能力,提高计算设备的性能。
在一种可能的实现方式中,多个扩展接口包括USB接口、千兆网媒体访问控制GMAC接口、串行先进技术附件SATA接口,计算设备还包括多个连接器,多个连接器包括USB连接器、GMAC连接器、SATA连接器,USB连接器、GMAC连接器、SATA连接器与USB接口、GMAC接口、SATA接口一一对应连接,外接设备包括USB设备、存储设备或网卡;USB连接器用于与USB设备连接,SATA连接器用于与存储设备连接,GMAC连接器用于与网卡连接。
在该技术方案中,利用管理控制器和扩展接口,能够扩展出USB接口、GMAC接口、SATA接口,经过对应的连接器,能够为处理器接入各种USB设备、网络设备以及存储设备,使得计算设备的数据收发量以及速率得以明显提高,通过USB接口,计算设备可以与更多的USB设备通信,满足不同的应用需求,并且可以通过SATA接口外挂额外的固态硬盘(SSD)等存储设备,增加计算设备的存储容量和存储性能,还可以通过GMAC接口增加计算设备的网络连接能力和带宽。
在一种可能的实现方式中,管理控制器还包括连接装置、接口装置,连接装置与处理器和接口装置均连接,接口装置与扩展接口连接,连接装置用于接收业务数据包,并在业务数据包的目的设备为外接设备的情况下,将业务数据包发送给与外接设备对应连接的接口装置,接口装置对业务数据包进行协议转换得到转换数据包,将转换数据包通过扩展接口发送给对应的外接设备。
在该技术方案中,通过在管理控制器中细化出连接装置和接口装置,分别实现数据包的路由功能和协议转换功能,可以确保数据包被转发给正确的接口装置进行协议转换,使得业务数据包内的数据最终能够正确地发送至扩展接口外接的设备中,即使在同时存在与多个外接设备交互数据的情况下,也能够通过连接装置进行准确的分发,通过接口装置进行正确的协议转换,极大地提供了数据传输的正确性、准确性以及完整性。
在一种可能的实现方式中,管理控制器还包括图像处理器,图像处理器与连接装置连接,连接装置还用于在业务数据包的目的设备为管理控制器的情况下,将业务数据包发送给图像处理器。
在该技术方案中,在管理控制器内设置的GPU,使得处理器可以利用更多的计算资源来进行图像处理,提高了计算设备的图像处理速度,并且与连接装置配合也能够保证需要GPU处理的图像数据能够正确地发送给GPU。
在一种可能的实现方式中,接口装置包括USB接口装置、GMAC接口装置、SATA接口装置,多个扩展接口包括USB接口、GMAC接口、SATA接口,USB接口装置、GMAC接口装置、SATA接口装置与USB接口、GMAC接口、SATA接口一一对应连接;USB接口装置用于在收到业务数据包的情况下,将业务数据包转换为第二通信协议为USB协议的数据包;GMAC接口装置用于在收到业务数据包的情况下,将业务数据包转换为第二通信协议为GMAC协议的数据包;SATA接口装置用于在收到业务数据包的情况下,将业务数据包转换为第二通信协议为SATA协议的数据包。
在该技术方案中,针对常用的USB协议、SATA协议以及GMAC协议,分别对应设置了USB接口装置、SATA接口装置以及GMAC接口装置,使得计算设备能够很好地实现与常用的诸如使用USB协议的移动硬盘、鼠标、键盘、音响,使用SATA协议的硬盘、使用GMAC协议的网卡等设备进行通信,较好地满足了计算设备的日常扩展使用需求。
在一种可能的实现方式中,接口装置在用于将业务数据包转换为第二通信协议的转换数据包的过程,具体是用于:对接收到的业务数据包进行解析,得到目标数据,目标数据是指在业务数据包中第二通信协议所需的数据;对目标数据进行数据封装处理,得到符合第二通信协议的转换数据包。
在该技术方案中,在管理控制器中的每个接口装置可以根据其所支持的第二通信协议,完成针对第一通信协议的数据包的解析,并完成关于第二通信协议的数据包的封装,使得数据能够正确地完成转换和传输,使得通过管理控制器扩展的接口能够正常工作,对应的数据包可以正确地传输。
在一种可能的实现方式中,连接装置具体用于,解析业务数据包,得到目的标识,根据目的标识确认业务数据包的接收端,并将业务数据包发送给目的标识对应的接收端,接收端包括USB接口装置、GMAC接口装置、SATA接口装置或GPU,其中,目的标识不同,对应的接收端不同。
在该技术方案中,利用在管理控制器中单独设置的连接装置来识别业务数据包的接收端,并正确地路由到USB接口装置、GMAC接口装置、SATA接口装置或GPU等接收端,保障的数据收发的正确性。并且通过设置在数据包中记录目的标识的方式,可以简便、快捷地完成业务数据包的接收端确认和转发,提高了数据包分发的效率,较好地降低了业务数据包拥堵的可能性。
在一种可能的实现方式中,业务数据包为PCIe数据包,目的标识设置于PCIe数据包的数据包头部字段中,连接装置通过解析业务数据包得到数据包头部字段中的目的标识来确定业务数据包的接收端。
在该技术方案中,利用了PCIe数据包中的头部字段来记录目的标识,以此可以快速地利用PCIe协议区分不同的接收端,方便业务数据包被快速的转发给对应的接口装置。当然,在其他一些可能的实施方式中,目的标识还可以是记录在PCIe数据包中新增加的标识位中。
在一个可能的实现方式中,目的标识包括PF(Physical Function,物理功能)标识或类型指示信息。
在该技术方案中,通过建立PF标识与接收端的一一映射关系,以通过PF标识来区分不同的接收端,很好地利用了处理器收发过程中所使用的PF,使得业务数据包能够较为简捷、快速地被转发到对应的接收端,提高了数据包的分发效率。或者通过使用能够唯一标识接收端的类型指示信息,也可以快速地区分出业务数据包的接收端进行转发,也可以有效地提高数据包的分发效率。
第二方面,本申请实施例还提供了一种管理控制器,包括PCIe接口和扩展接口,PCIe接口与处理器连接,扩展接口用于与外接设备连接;管理控制器用于通过PCIe接口接收处理器发送的符合第一通信协议的业务数据包;在业务数据包的目的设备为外接设备的情况下,将业务数据包转换为符合第二通信协议的转换数据包;将转换数据包通过扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。
在该技术方案中,利用管理控制器的性能,快速地实现数据包的收发以及协议的转换,从而使得管理控制器所在的计算设备能够与更多的设备进行数据交互,增加了管理控制器的能力,也提高了利用该管理控制器的计算设备的数据处理性能。
在一种可能的实现方式中,扩展接口的数量为多个,每个扩展接口与对应的外接设备连接,不同扩展接口通过不同第二通信协议与对应的外接设备连接。
在一种可能的实现方式中,管理控制器还包括PCIe接口,PCIe接口与处理器连接,扩展接口的数量为多个,每个扩展接口与对应的外接设备连接,不同扩展接口通过不同第二通信协议与对应的外接设备连接。
在一种可能的实现方式中,多个扩展接口包括USB接口、GMAC接口、SATA接口,计算设备还包括多个连接器,多个连接器包括USB连接器、GMAC连接器、SATA连接器,USB连接器、GMAC连接器、SATA连接器与USB接口、GMAC接口、SATA接口一一对应连接,外接设备包括USB设备、存储设备或网卡;USB连接器用于与USB设备连接,SATA连接器用于与存储设备连接,GMAC连接器用于与网卡连接。
在一种可能的实现方式中,管理控制器还包括连接装置、接口装置,连接装置与处理器和接口装置均连接,接口装置与扩展接口连接,连接装置用于接收业务数据包,并在业务数据包的目的设备为外接设备的情况下,将业务数据包发送给与外接设备对应连接的接口装置,接口装置用于对业务数据包进行协议转换得到转换数据包,将转换数据包通过扩展接口发送给对应的外接设备。
在一种可能的实现方式中,管理控制器还包括图像处理器,图像处理器与连接装置连接,连接装置还用于在业务数据包的目的设备为管理控制器的情况下,将业务数据包发送给图像处理器。
在一种可能的实现方式中,接口装置包括USB接口装置、GMAC接口装置、SATA接口装置,多个扩展接口包括USB接口、GMAC接口、SATA接口,USB接口装置、GMAC接口装置、SATA接口装置与USB接口、GMAC接口、SATA接口一一对应连接;USB接口装置用于在收到业务数据包的情况下,将业务数据包转换为第二通信协议为USB协议的数据包;GMAC接口装置用于在收到业务数据包的情况下,将业务数据包转换为第二通信协议为GMAC协议的数据包;SATA接口装置用于在收到业务数据包的情况下,将业务数据包转换为第二通信协议为SATA协议的数据包。
在一种可能的实现方式中,连接装置具体用于,解析业务数据包,得到目的标识,根据目的标识确认业务数据包的接收端,并将业务数据包发送给目的标识对应的接收端,接收端包括USB接口装置、GMAC接口装置、SATA接口装置或GPU,其中,目的标识不同,对应的接收端不同。
在一种可能的实现方式中,目的标识包括PF标识或类型指示信息。
第三方面,本申请实施例还提供了一种数据处理方法,应用于管理控制器,管理控制器与处理器基于第一通信协议连接,管理控制器包括扩展接口,扩展接口用于基于第二通信协议与外接设备连接,方法包括:
接收处理器发送的业务数据包;
对业务数据包进行解析确定业务数据包的目的设备;
在业务数据包的目的设备为外接设备的情况下,将业务数据包转换为符合第二通信协议的转换数据包,将转换数据包通过扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。
在该技术方案中,利用计算设备中已有的管理控制器,基于处理器和管理控制器之间的第一通信协议、及扩展出其他通信协议的接口,执行相应的数据分析、协议转换等处理,从而实现从处理器到由扩展的接口外接的其他设备之间的数据交互,以此可以便捷地使得处理器可以接入更多的支持其他协议的设备,提高了处理器的输入输出能力,不需要额外增加接口转换装置,节省了成本。
在一种可能的实现方式中,管理控制器可以为上述第二方面所提供的管理控制器。
在一种可能的实现方式中,管理控制器包括接口装置,接口装置包括USB接口装置、GMAC接口装置、SATA接口装置方法还包括以下步骤中的任意一个或者多个:
在业务数据包的目的设备对应的接收端为USB接口装置的情况下,将业务数据包转换为第二通信协议为USB协议的数据包;
在业务数据包的目的设备对应的接收端为GMAC接口装置的情况下,将业务数据包转换为第二通信协议为GMAC协议的数据包;
在业务数据包的目的设备对应的接收端为SATA接口装置的情况下,将业务数据包转换为第二通信协议为SATA协议的数据包。
在一种可能的实现方式中,管理控制器还包括图像处理器,方法还包括:
在业务数据包的目的设备为管理控制器的情况下,将业务数据包发送给图像处理器。
在一种可能的实现方式中,方法还包括:
解析业务数据包,得到目的标识,根据目的标识确认业务数据包的接收端,并将业务数据包发送给目的标识对应的接收端,接收端包括USB接口装置、GMAC接口装置、SATA接口装置或GPU,其中,目的标识不同,对应的接收端不同。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被执行时使得第三方面的方法被实现。
第五方面,本申请实施例提供一种包括计算机程序或指令的计算机程序产品,当计算机程序或指令在计算机上运行时,使得计算机执行如第三方面的方法。
附图说明
图1是本申请实施例提供的计算设备的结构示意图;
图2是本申请实施例提供的在计算设备中通过管理控制器进行接口扩展的架构示意图;
图3是本申请实施例提供的一种USB接口装置与对应接口的结构示意图;
图4是本申请实施例提供的一种GMAC接口装置与对应接口的结构示意图;
图5是本申请实施例提供的一种SATA接口装置与对应接口的结构示意图;
图6是本申请实施例提供的一种数据处理方法的流程示意图;
图7是本申请实施例提供的基于USB接口装置的数据处理方法的流程示意图;
图8是本申请实施例提供的基于GMAC接口装置的数据处理方法的流程示意图;
图9是本申请实施例提供的基于SATA接口装置的数据处理方法的流程示意图。
具体实施方式
应理解,本申请实施例中涉及的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
本申请实施例中的“至少一个”指的是一个或多个,多个指的是两个或两个以上。本申请实施例中的“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示如下三种情况:单独存在A,同时存在A和B,单独存在B。其中,A、B可以是单数或者复数。字符“/”可以表示前后关联对象是一种“或”的关系。
本申请实施例中的“以下至少一项”或其类似表达,指的是这些项中的任意组合,包括单项或复数项的任意组合。例如,a、b或c中的至少一项,可以表示如下七种情况:a,b,c,a和b,a和c,b和c,a、b和c。其中,a、b、c中的每一个可以是元素,也可以是包含一个或多个元素的集合。
服务器等计算设备内包括了诸如CPU(Central Processing Unit,中央处理器)、BMC(Baseboard Management Controller,基板管理控制器)等功能器件,在本申请实施例中,通过对与CPU连接的BMC的优化,使得BMC在与CPU相连的PCIe接口的基础上,为计算设备直接扩展出更多的接口,扩展出的接口比如包括USB接口、SAS(Serial Attached SCSI,串行连接SCSI(Small Computer System Interface,小型计算机系统接口))接口、SATA(Serial Advanced Technology Attachment,串行先进技术附件)接口、GMAC(GigabitMedia Access Control,千兆网媒体访问控制)接口、以及一些多媒体数据接口(如VGA(Video Graphics Array,视频图形阵列)接口、HDMI(High Definition MultimediaInterface,高清晰度多媒体接口)接口)中的一个或多个接口,如此,能够使得计算设备可根据需要接入更多的外接设备,通过更多的方式接入网络,使得计算设备的数据收发量以及速率得以提高,提升CPU的IO(Input/Output,输入/输出)能力,进而达到提高计算设备性能的效果,同时,本申请实施例的接口扩展方案,不需要增加转换器或者扩展卡,节省了成本。并且,通过BMC的优化而扩展的这些接口,可以将更多类型的设备连接到CPU,从而提供更广泛的IO功能和更多的扩展选项。
为了更好地理解本申请实施例提供的技术方案,首先对本申请实施例涉及的部分概念或技术进行介绍。
(1)服务器
服务器是具有数据处理能力、数据收发能力和数据存储能力的电子设备。例如,服务器可以为机架式服务器、机柜式服务器、刀片式服务器、高密度服务器、图形处理器(graphics processing unit,GPU)服务器等。
示例性的,服务器可以包括但不限于电源、处理器、内存、硬盘、管理控制器等部件,服务器中的部件可以置于服务器机箱内。本申请实施例对服务器中各部件的具体数量和具体形态不做限定,其中,服务器包括1个电源、1个处理器、4条内存、4个硬盘和1个管理控制器用于举例。
其中,电源可以为电源供电单元(Power supply unit,PSU)。处理器可以为中央处理器(central processing unit,CPU)或图形处理器GPU等。内存可以为随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)。硬盘104可以包括固态硬盘或机械硬盘。管理控制器可以用于对服务器10中的部件的监测以及管理等。例如,管理控制器可以监测服务器中各个硬件设备的状态(如温度、电压等)。再例如,通过管理控制器可以进行计算设备的系统配置、固件升级、故障诊断等。
需要说明的是,不同的设备厂家对服务器的管理控制器可以有不同的命名,例如一些管理控制器称为基板管理控制器BMC,一些管理控制器称为完全自动化集成(Integrated lights-out,iLO),另一些管理控制器称为集成戴尔远程控制卡(IntegratedDell Remote Access Controller,iDRAC)。不论是叫BMC,还是叫iLO或iDRAC,都可以理解为是本发明实施例中的管理控制器。在本申请实施例中以服务器的管理控制器105称为BMC为例。
还需要说明的是,服务器还可以包括但不限于以下部件:背板、主板、风扇等基础硬件,网卡、磁盘阵列(Redundant Arrays of Independent Disks,RAID)卡等可配置部件,现场可编程门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等各种具有处理功能的控制器部件等。
(2)BMC
BMC属于服务器中的重要器件。通过BMC可对服务器进行监控和管理,具体可以包括对服务器的设备信息管理、服务器状态监控管理、服务器的控制管理以及维护管理等等。BMC可通过PCIe接口与服务器的CPU连接,实现与服务器的CPU之间的数据交互。
(3)接口
服务器可以根据功能需求接入许多种类的接口,服务器的CPU可通过这些接口与外部设备或者网络交互数据。一些常见的接口如下。
PCI Express(PCIe)接口,CPU通过PCIe接口可以连接各种扩展卡,如图形卡、存储控制器卡、网卡等。
Ethernet接口:用于连接网络,实现服务器的网络通信。
USB接口:用于连接各种外部USB设备,如键盘、鼠标、存储设备等。
SATA接口:用于连接硬盘驱动器、光驱和SSD(Solid State Disk,固态硬盘)等存储设备。
BMC接口:用于接入BMC进行服务器的管理和监控,通过此接口可以进行诊断、控制和维护等操作。
多媒体数据接口,如VGA/DVI(Digital Visual Interface,数字视频接口)或HDMI(High Definition Multimedia Interface,高清晰多媒体接口)接口等:用于连接显示器,通常用于服务器的图形输出。
RAID控制器接口:用于连接磁盘阵列控制器,实现硬件RAID功能。
下面对本申请实施例的数据处理方法的相关内容进行阐述。
请参见图1,是本申请实施例提供的计算设备的结构示意图,图1所示的架构为本申请实施例所涉及的计算设备内部的部分结构简要示意图,该计算设备可以为包括处理器和管理控制器的服务器,例如处理器为CPU、管理控制器为BMC。
管理控制器通过第一通信协议与处理器相连,管理控制器基于第一通信协议与处理器进行数据交互;管理控制器包括扩展接口,每个扩展接口对应有一种第二通信协议,并且每个扩展接口与外接设备通过第二通信协议连接;管理控制器用于从处理器接收业务数据包,在业务数据包的目的设备为外接设备的情况下,将业务数据包进行协议转换得到转换数据包,将符合第一通信协议的业务数据包转换为符合第二通信协议的转换数据包,将转换数据包通过扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。
如图1所示,计算设备内的处理器可以基于PCIe协议及多个PCIe接口分别与多种器件、设备实现数据连接,例如包括图1中的多个磁盘Disk、NIC(Network Interface Card,网络接口卡)等,并且,处理器与管理控制器也可以通过PCIe协议建立连接以交换数据。在一个实施例中,第一通信协议为PCIe协议,管理控制器还包括PCIe接口,PCIe接口与处理器连接,在管理控制器通过PCIe接口与处理器连接的基础上,管理控制器扩展出接口,这些接口可以称之为扩展接口,扩展接口与外接设备连接,不同扩展接口通过不同第二通信协议与对应的外接设备连接,扩展接口包括USB接口、SAS接口、SATA接口或GMAC接口等中的一个或多个,扩展接口包括多个接口,每个接口与对应的外接设备连接,管理控制器的扩展接口可以与外接设备连接,进而使得处理器可以根据需要通过管理控制器提供的扩展接口完成更多数据的输入/输出处理,增加了处理器的输入输出IO能力,提高计算设备的性能。
可以理解的是,本申请实施例以扩展接口包括USB接口、SATA接口和GMAC接口为例进行说明。管理控制器通过USB接口、SATA接口和GMAC接口可以分别与USB设备、存储设备和网卡设备一一对应连接。示例的,对应于上述提及的扩展接口,计算设备还对应地包括多个连接器,例如包括USB连接器、SATA连接器及GMAC连接器等,每个连接器与对应的扩展接口连接,其中,USB连接器与管理控制器的USB接口连接,SATA连接器与管理控制器的SATA接口连接、GMAC连接器与管理控制器中的GMAC接口连接,使得外接设备能够通过这些连接器对应地与扩展接口连接,进而使得这些外接设备最终能够通过管理控制器的扩展接口和PCIe接口与处理器连接进行通信,外接设备例如可以包括USB设备、存储设备或网卡,USB连接器用于与USB设备连接,SATA连接器用于与存储设备连接,GMAC连接器用于与网卡连接。当然,在其他实施例中,扩展接口可以包括USB接口、SATA接口、GMAC接口、PCIe接口、SAS接口、多媒体数据接口等中的一个或多个接口。
通过管理控制器扩展更多的接口,可以将更多的外接设备连接到处理器,具体来讲,本申请实施例具有以下几个效果:
1、增加扩展性:通过扩展接口可以连接更多的外接设备,如网络接口卡、存储控制器、加速卡等,增加了计算设备的扩展性和灵活性,可满足计算设备不同应用的需求。
2、提供高性能计算能力:通过扩展接口连接更多的外接设备,如图形处理器(GPU)加速卡或其他协处理器,可以在计算设备上实现高性能计算和加速器驱动的应用。这使得计算设备能够利用更多的计算资源来处理和执行复杂的任务。
3、增加存储容量和性能:通过扩展接口连接额外的固态硬盘(SSD)等存储设备,可以增加计算设备的存储容量和性能。这对于需要大容量、高速存储的计算设备非常有益,如数据库服务器、大数据分析和云计算平台等。
4、提供高速网络连接:通过扩展接口连接多个网络接口卡(NIC)等网络外接设备,可以增加计算设备的网络连接能力和带宽。
总的来说,通过管理控制器为计算设备的处理器扩展出更多的接口,可以提供更多的扩展选项和功能,为处理器带来更多设备的连接能力,扩展了计算设备的功能,提高了计算设备的性能和灵活性,满足了不同应用场景的需求。
在上述提及的包括处理器、管理控制器的计算设备中,管理控制器通过第一通信协议与处理器相连,第一通信协议例如可以为PCIe协议,管理控制器可以通过PCIe协议与处理器交互数据,并且通过扩展接口与其他外接设备基于第二通信协议建立连接,实现通信。
在一个实施例中,管理控制器包括与处理器相连的PCIe接口,并包括USB接口、SATA接口和GMAC接口等扩展接口,其中每一个扩展接口对应一种第二通信协议,不同的扩展接口所对应的第二通信协议的类型可以不相同。USB接口、SATA接口和GMAC接口可以分别与对应的外接设备连接。需要说明的是,每一个扩展接口对应一种第二通信协议可以是指类型不同的扩展接口对应一种第二通信协议。USB接口、SATA接口和GMAC接口中每种接口的数量可以是一个或多个。
管理控制器基于与处理器相连的PCIe接口接收来自处理器的业务数据包,并判断该业务数据包的目的设备,具体是判断该业务数据包是发送给管理控制器进行处理的数据、还是发送给与管理控制器之间通过扩展接口连接的外接设备的数据,也就是说,目的设备可以是管理控制器,也可以是通过扩展接口外接的设备。
扩展接口可以通过连接器与外接设备连接,扩展接口的数量为多个,连接器的数量为多个,每个扩展接口可以与一个或多个连接器连接以接入外接设备。PCIe接口与处理器连接,每个扩展接口与对应的连接器连接,不同扩展接口通过不同第二通信协议与对应的连接器连接,扩展接口支持不同的第二通信协议,以便于将由业务数据包转换而来的符合第二通信协议的转换数据包发送给对应的外接设备。
由于扩展接口、连接器的数量为多个,通过管理控制器的扩展接口、连接器可以连接多个外接设备,那么对于本申请实施例提及的由处理器产生的业务数据包而言,其目的设备可以管理控制器,也可以是与管理控制器通过扩展接口、连接器相连的外接设备。
可以理解的是,由于某些连接器可以设置在计算设备的壳体上相对远离管理控制器,因此,在图2等示意图中,均未示出连接器。
在该业务数据包为发送给与管理控制器之间通过扩展接口连接的外部设备的情况下(即目的设备为某个外接设备的情况下),管理控制器将处理后的业务数据包转发给与业务数据包的目的设备对应的目标接口,处理后的业务数据包是管理控制器对业务数据包进行诸如数据包的协议转换、纠错等处理后得到的转换数据包。最后将处理后的业务数据包发送给与目标接口连接的外接设备。
可以理解的是,本申请实施例所涉及的外接设备,是指能够通过管理控制器提供的扩展接口与处理器相连的设备,包括但不限于各种USB设备、存储设备或网卡,还包括但不限于诸如显示器、音响等多媒体设备。而在业务数据包的目的设备为管理控制器的情况下,将业务数据包发送给管理控制器内的图像处理器,当然管理控制器内还可以包括其他部件,当业务数据包的目的设备为管理控制器时,还可以根据管理控制器内配置的业务数据包分发逻辑将业务数据包分发给管理控制器中的图像处理器或者其他部件。
同样,对于通过扩展接口与管理控制器连接的外接设备发送而来的业务数据包,管理控制器对业务数据包进行诸如数据包的协议转换、纠错等处理,然后将处理后的业务数据包通过管理控制器与处理器之间的PCIe接口发送给处理器,由处理器进行处理。
在一种实现方式中,管理控制器还可以包括连接装置,USB接口装置、SATA接口装置、GMAC接口装置等接口装置,以及图像处理器GPU等。USB接口装置、SATA接口装置、GMAC接口装置、图像处理器GPU均与连接装置连接,连接装置还通过PCIe接口与处理器相连,GPU通过连接装置实现与处理器的数据交互。USB接口装置、SATA接口装置、GMAC接口装置分别与USB接口、SATA接口、GMAC接口一一对应连接,USB连接器、GMAC连接器、SATA连接器与USB接口、GMAC接口、SATA接口一一对应连接,需要接入的外接设备可以插入连接器,如此一来,这些插入连接器的外接设备可以通过管理控制器的接口、接口装置、连接装置、PCIe接口与处理器进行数据交互。
示例的,管理控制器内的各接口装置一端与连接装置相连,一端通过对应的接口、连接器与外接设备相连。在一个实施例中,各接口装置中,USB接口装置的一端与连接装置连接,通过连接装置和PCIe接口与处理器连接,USB接口装置的另一端与USB接口、USB连接器连接,通过USB接口、USB连接器与USB设备交互数据;
SATA接口装置的一端与连接装置连接,通过连接装置和PCIe接口与处理器连接,SATA接口装置的另一端与SATA接口、SATA连接器连接,通过SATA接口、SATA连接器与硬盘等存储设备交互数据;
GMAC接口装置的一端与连接装置连接,通过连接装置和PCIe接口与处理器连接,GMAC接口装置的另一端与GMAC连接器连接,通过GMAC连接器与网卡、或路由器等网络设备交互数据。
在一个实施方式中,判断该业务数据包的目的设备包括,确定业务数据包的接收端,接收端可以是目的设备连接的接口装置或目的设备包括的图像处理器。示例的,对于从处理器接收到的业务数据包,可以通过连接装置识别该业务数据包的接收端,在该业务数据包的接收端为一接口装置的情况下,将作为接收端的接口装置确定为目标接口装置,并将业务数据包转发给该目标接口装置,目标接口装置对业务数据包进行诸如数据包的协议转换、纠错等处理得到转换数据包,最终将转换数据包通过与目标接口装置连接的扩展接口(即目标接口)、连接器(即目标连接器),发送给对应目的设备。
同样,对于与目标连接器连接的设备发送而来的业务数据包,接收到该业务数据包的目标接口装置对业务数据包进行诸如数据包的协议转换、纠错等处理,将处理后的业务数据包发送给连接装置,连接装置则通过处理器与管理控制器之间的PCIe接口将处理后的业务数据包发送给处理器。
在另一个实施方式中,判断该业务数据包的目的设备包括,确定业务数据包的目的设备,基于目的设备确认与目的设备对应的接收端,接收端可以是目的设备连接的接口装置或目的设备包括的图像处理器。在该业务数据包的接收端为一接口装置的情况下,将作为接收端的接口装置确定为目标接口装置,并将业务数据包转发给该目标接口装置,目标接口装置对业务数据包进行诸如数据包的协议转换、纠错等处理得到转换数据包,最终将转换数据包通过与目标接口装置连接的扩展接口(即目标接口)、连接器(即目标连接器),发送给对应目的设备。
在一个实施例中,管理控制器包括的连接装置可以是一个基于PCIe协议在管理控制器中构建的逻辑电路或者芯片,该连接装置能够实现PCIe数据包的收发,用于在接收到从处理器发送的业务数据包(即PCIe数据包)时,对该从处理器发送的PCIe数据包进行分析,并根据分析结果确定该PCIe数据包的接收端,并向确定的接收端发送该PCIe数据包。在一定程度上,连接装置可以认为是一个数据包解析和分发装置,能够提供路由功能,将从处理器接收到的PCIe数据包路由到正确的接收端进行后续数据处理。同时,连接装置还可以接收相应的接口装置对外接设备发送的数据包进行诸如数据转换和纠错等处理后得到的PCIe数据包,并将PCIe数据包通过管理控制器与处理器之间的PCIe接口转发给处理器。
当然,在其他实施例中,连接装置也可以是运行在管理控制器的处理核中的软件模块。
在一个实施例中,连接装置具体用于解析接收到的业务数据包,得到目的标识,根据目的标识确认业务数据包的接收端,并将业务数据包发送给目的标识对应的接收端,接收端包括USB接口装置、GMAC接口装置、SATA接口装置等接口装置或GPU,其中,目的标识不同,对应的接收端不同。也就是说,在处理器生成业务数据包时,可以将目的标识记录到业务数据包中,方便将该业务数据包发送给正确的接收端。每一个接收端配置有唯一的目的标识,进而可以使用目的标识来区分每一个接收端。
在一个实施例中,处理器可以响应于用户或应用的某些处理操作,先确定响应这些操作所需产生的数据对应的目的设备,然后根据目的设备来确定接收端,进而在生成PCIe数据包时,将确定的接收端所对应的目的标识记录到PCIe数据包中,以便于发送由处理器生成的PCIe数据包。其中,对于GPU而言,分配有唯一的目的标识,这样一来,当连接装置解析确定某个PCIe数据包中的目的标识指示的是GPU时,GPU则是接收端,对应的目的设备为管理控制器。
示例的,目的标识可以设置于PCIe数据包的数据包头部字段中,连接装置通过解析业务数据包得到数据包头部字段中的目的标识来确定业务数据包的接收端。
在该技术方案中,利用了PCIe数据包中的头部字段来记录目的标识,以此可以快速地利用PCIe协议区分不同的接收端,方便业务数据包被快速的转发给对应的接口装置。当然,在其他一些可能的实施方式中,目的标识还可以是记录在PCIe数据包中新增加的标识位中。
在一个实施例中,目的标识包括PF标识,在基于PCIe协议传输数据的过程中,可以通过PF来控制和管理PCIe数据包的传输,因此,在本申请实施例中,通过利用处理器与管理控制器连接的PCIe接口所对应的多个PF,来将处理器产生的数据包发送给对应的接收端(如上,该接收端可以是多个接口装置中的目标接口装置,也可以是GPU)。在一个实施方式中,可预先建立PF标识与接口装置、GPU等接收端之间的映射关系,处理器需要向管理控制器发送PCIe数据包时,可基于PF标识与接收端之间的映射关系,在PCIe数据包中记录PF标识。管理控制器的连接装置可以基于映射关系,根据PCIe数据包中的PF标识,直接确定该PCIe数据包的接收端,并向确定的接收端转发PCIe数据包。在一个实施方式中,如下表1所示,示意性的示出了PF标识与接收端之间的映射关系,接收端包括各个接口装置以及GPU等。
表1
PF标识 | 接收端 |
PF1 | USB接口装置 |
PF2 | GMAC接口装置 |
…… | …… |
PFn | SATA接口装置 |
PFm | GPU |
举例来说,当处理器需要向与USB接口装置连接的外接设备发送数据时,基于表1的映射关系,处理器将生成的记录PF1的PCIe数据包发送给管理控制器,管理控制器的连接装置接收到PCIe数据包之后,解析该PCIe数据包中记录的PF标识,根据PF标识查询表1所示的PF标识与接收端的映射关系,确定PF1对应的接收端为USB接口装置,由此确定该PCIe数据包应该发送给USB接口装置,将USB接口装置作为该PCIe数据包的目标接口装置,并将该PCIe数据包转发给USB接口装置,USB接口装置经过诸如协议转换等处理之后得到转换数据包,该转换数据包为一USB数据包,将转换数据包通过连接的USB接口、USB连接器发送给对应的USB设备。
在一个实施例中,目的标识可以为类型指示信息,处理器还可以在PCIe数据包中加入关于接收端的类型指示信息,每一个接口装置和GPU,均对应一个唯一的类型指示信息,这样一来,在接收到处理器发送的携带有类型指示信息的PCIe数据包时,连接装置可以从该PCIe数据包中获取类型指示信息,并根据获取到的类型指示信息来确定PCIe数据包的接收端,以便于将PCIe数据包发送给作为接收端的GPU或者接口装置中的目标接口装置。
基于PCIe协议设计的连接装置,可以根据需要实现物理层接口、数据链路层协议、传输层协议支持、配置空间管理、错误检测和纠正、电源管理和电力供应等功能。实现这些功能可以使连接装置一方面能够与通过PCIe协议连接的处理器通信,正确收发PCIe数据包,另一方面能够为处理器发出的PCIe数据包确定正确的接收端以正确交互数据,提供稳定、可靠的数据传输和操作。
在一个实施例中,对于错误检测和纠正功能而言,连接装置,用于检测数据交互过程中出现的异常事件并进行纠错处理,数据交互过程包括连接装置与处理器之间的数据交互、连接装置与接口装置或GPU之间的数据交互。在数据交互过程中,可能会出现数据不完整、时序错误等异常事件,通过设计和实现相关的逻辑电路和检测算法,执行诸如数据包的完整性校验、异常数据包重发等处理逻辑,使得连接装置能够完成异常检测和纠错处理。
在一个实施例中,对于电源管理和电力供应功能,连接装置还用于对扩展接口连接的外接设备提供电源并进行电源管理,连接装置通过电源管理电路,及电压调节、过流保护等处理逻辑,来实现对这些外接设备的电源管理和电力供应功能。
对于管理控制器中的各个接口装置而言,其用于与连接装置交互符合第一通信协议的数据包,并且通过第二通信协议连接管理控制器上的对应接口、连接器,进而可以与外接设备相连。各接口装置可以是在管理控制器中构建的逻辑电路或芯片。当然,在其他实施例中,各接口装置也可以是运行在管理控制器的处理核中的软件模块。
在一个实施例中,请参见图2,是本申请实施例提供的在计算设备中通过管理控制器进行接口扩展的架构示意图,在管理控制器中设置了连接装置,以及USB接口装置、GMAC接口装置、SATA接口装置等接口装置,与这些接口装置对应连接的扩展接口包括图2中的USB接口、GMAC接口、SATA接口,当然还可以根据需要增加其他接口装置及其对应的接口,例如增加HDMI接口装置和对应的HDMI接口、无线接口装置和对应的无线接口等,在图2中,USB接口装置以及USB接口所对应的第二通信协议为USB协议,GMAC接口装置以及GMAC接口所对应的第二通信协议为GMAC协议,而SATA接口装置以及SATA接口所对应的第二通信协议则是SATA协议。
在一个实施例中,一方面,管理控制器通过第一通信协议与处理器连接,进而接收CPU的数据或者向CPU发送数据;另一方面,管理控制器还分别通过对应的连接装置、接口以及连接器,基于多种第二通信协议,分别与外接设备建立连接以收发数据,例如通过图2所示的USB接口装置及其对应的USB接口、SATA接口装置及其对应的SATA接口,来外接其他设备进行待存储数据的收发,通过GMAC接口装置及其对应的GMAC接口来接入网络外接设备以与网络收发数据,进而使得处理器能够与更多的其他设备或者网络进行通信。其中,通过GMAC接口装置、GMAC接口接入网络设备,具体可以是通过GMAC接口、图2中示出了SGMII(Serial Gigabit Media Independent Interface,串行千兆介质独立接口)与PHY(Physical Layer)芯片连接,进而接入网络设备。
对于管理控制器中的各个接口装置,一方面能够通过管理控制器包括的连接装置、管理控制器与处理器之间的PCIe接口来与处理器进行交互数据,另一方面,各个接口装置也具备协议转换功能,能够实现第一通信协议与第二通信协议之间的转换,从而实现处理器与外接设备之间的数据交互。
示例的,对于图2中所示的USB接口装置、GMAC接口装置以及SATA接口装置,一方面,这些接口装置能够通过管理控制器的连接装置与处理器交互数据,另一方面,USB接口装置作为一个协议转换模块,能够实现从USB协议到PCIe协议、及PCIe协议到USB协议的协议转换;GMAC接口装置作为一个协议转接模块,实现从GMAC协议到PCIe协议、及PCIe协议到GMAC协议的协议转换;SATA接口装置作为一个协议转接模块,实现从SATA协议到PCIe协议、及PCIe协议到SATA协议的协议转换,从而实现这些接口装置通过对应接口(对应的USB接口、GMAC接口、SATA接口)、与连接这些接口的外接设备进行数据交互。
下面再对图2中示出的USB接口装置、GMAC接口装置、SATA接口装置的结构进行说明,并且在描述过程中以第一通信协议为PCIe协议为例来进行说明,可以理解的是,通过在管理控制器中设置的这些接口装置,不仅能够扩展出USB接口功能、网络接口功能、SATA接口功能,还可以根据需要,增加设置更多的接口装置和接口扩展新的接口功能,例如增加HDMI接口装置和HDMI接口以扩展出HDMI接口功能,增加音频接口装置和音频接口以扩展出音频接口功能等等。
请参见图3,是本申请实施例提供的一种USB接口装置与对应接口的结构示意图,USB接口装置与连接装置相连,用于接收连接装置发送的PCIe数据包,将PCIe数据包转换为USB数据包,并将转换得到的转换数据包即USB数据包通过USB接口发送给外接的USB设备;同时,USB接口装置还用于接收外接的USB设备的USB数据包,将接收到的USB数据转换为PCIe数据包,并且将转换得到的PCIe数据包发送给连接装置,以通过连接装置发送给处理器。
在一个实施例中,USB接口装置包括:xHCI(eXtensible Host ControllerInterface,可扩展主机控制器接口)Controller控制器,在其他一些实施方式中,USB接口装置还可以根据外接USB设备的数量需求进一步包括USB root hub(USB根集线器)以便于接入更多的USB设备。
xHCI是一种USB控制器标准,主要用于管理计算设备和外接的USB设备之间的通信。提供了高速、可靠的数据传输,支持USB 3.0、USB 3.1和USB 3.2等版本的规范。
xHCI控制器用于将从连接装置接收到的PCIe数据包,转换为相应USB协议的数据包,并将转换后的USB协议的数据包通过USB接口发送给对应的USB设备。具体转换过程包括:从PCIe数据包中提取出有效载荷、控制信号等有效信息,按照USB协议进行数据封装,得到USB数据包,得到的USB数据包即为需要输出给USB设备的待输出数据。该USB数据包为符合USB协议的数据包,将得到的USB数据包通过xHCI控制器所连接的USB接口发送给对应的USB设备。在xHCI控制器连接有USB root hub的情况下,xHCI控制器还用于识别USB数据包所属的目标USB接口,将得到的USB数据包发送给USB root hub,指示USB root hub将得到的USB数据包通过目标USB接口发送给该目标USB接口所连接的USB设备。对于从USB接口接收到的由USB设备发送的USB数据包,xHCI控制器用于对USB数据包进行USB协议到PCIe协议的协议转换处理,得到PCIe数据包,并将得到的PCIe数据包通过连接装置发送给处理器。
在本申请实施例中,xHCI控制器可以与管理控制器包括的USB接口、USB连接器相连,进而与USB连接器中插入的USB设备进行物理连接和通信,支持并管理USB接口,可根据需要配合USB root hub来接入xHCI控制器所支持的多个相同或不同协议版本的USB设备。
xHCI控制器能够管理通过USB接口接入的USB设备与处理器之间的数据传输。提供高速、可靠的数据传输通道,支持USB 3.0及更新版本的规范,进而使得插入的诸如基于USB协议的移动硬盘、基于USB协议的音响等USB设备能够与处理器之间可以以更快的速度传输数据。
在其他一些实施例中,xHCI控制器还可以管理USB设备的电源供应,能够控制USB设备的供电状态,根据需要为USB设备提供适当的电源,并在USB设备不使用时进行省电管理。
在其他一些实施例中,xHCI控制器还可以检测和管理通过USB接口连接的USB设备,可以识别新插入的USB设备,与处理器进行通信以实现对通过管理控制器的USB接口和USB连接器接入的USB设备的初始化、配置和管理等功能。
USB RootHub可以是一个逻辑组件,通过USB Root Hub可以连接多个USB接口,通过连接的多个USB接口外接更多的USB设备,从而使得xHCI控制器能够对多个USB设备进行初始化、配置和管理等操作。
USB root hub为通过USB接口外接的USB设备提供了物理连接和通信的接口,可以让多个USB设备接入,并同时支持多个USB设备的连接和通信。USB root hub用于对在USB接口接入的USB设备和xHCI控制器之间的数据传输进行路由。一方面,USB root hub能够将从xHCI控制器输出的USB数据包路由到正确的USB接口以及接入的USB设备;另一方面,接收到外接的USB设备的USB数据包时,会将其传输给xHCI控制器,以便于通过xHCI控制器、连接装置发送给处理器进行相应处理。
在其他一些实施例中,USB root hub还可以根据外接的USB设备的读写速度和处理器的输入输出能力进行数据传输速度的调节。在USB root hub中,可以分析外接的USB设备所支持的USB协议的版本和计算设备的处理器所支持的USB协议的版本,以对应版本的USB协议最高可达的传输速度进行数据传输以便于更好地向USB设备中读写数据。
再请参见图4,是本申请实施例提供的一种GMAC接口装置与对应的GMAC接口的结构示意图,该GMAC接口装置与上述提及的连接装置相连,用于接收连接装置发送的PCIe数据包,将PCIe数据包转换为GMAC数据包,并将转换得到的转换数据包即GMAC数据包通过对应的GMAC接口发送至接入的网络设备;同时,GMAC接口还用于接收网络设备发送的GMAC数据包,将GMAC数据包转换为PCIe数据包,并将转换得到的PCIe数据包发送给连接装置,以通过连接装置发送给处理器。
在一个实施方式中,该GMAC接口包括:协议转换单元、GMAC Controller(GMAC控制器)。
协议转换单元用于实现数据包的协议转换并输出协议转换后的数据,可以将数据包所对应的协议由PCIe协议转换为GMAC协议,及由GMAC协议转换为PCIe协议。
在一个实施例中,协议转换单元用于接收从连接装置发送的PCIe数据包,并进行解析以获取需要通过GMAC接口及所连接的网络设备传输至网络的待传输数据包。处理器将需要通过GMAC接口输出至网络设备的PCIe数据包通过PCIe接口传输到管理控制器的连接装置,再由连接装置发送给GMAC接口装置。在接收到PCIe数据包之后,GMAC接口装置解析出其中的有效信息,如数据、地址、控制信号等,这些有效信息包括GMAC协议所需的信息。
得到有效信息之后,协议转换单元还用于进行协议转换处理,得到GMAC数据包。由于PCIe协议和GMAC协议之间的数据格式和编码方式不同,协议转换单元用于将PCIe数据包的内容重新编码和重组,将数据重新封装为符合GMAC协议的数据包,这过程包括重新编排数据字段、添加校验码和控制标记等,以得到GMAC数据包。
转换后得到的GMAC数据包作为待传输数据可以通过GMAC控制器和GMAC接口(例如图4中的Ethernet接口1)发送至对应的网络设备,进而在对应网络中传输。
在一个实施例中,协议转换单元可以根据需要使用数据缓存来处理转换过程中的速率不匹配或延迟问题,例如,对于协议转换单元转换得到的GMAC数据包,由于通过GMAC接口装置、GMAC接口所接入的网络可能存在带宽小、传输速率低的情况,这可能会导致转换得到的GMAC数据包无法及时发出,此时,可以通过配置缓存电路来存储协议转换单元转换得到的GMAC数据包,以通过缓存队列的形式发送转换得到的GMAC数据。
在一个实施例中,在GMAC数据包无法及时输出至网络的情况下,协议转换单元还可以将从连接装置接收到的PCIe数据包缓存到缓存电路中,以便在GMAC数据包通信时实现数据流控制和同步。
GMAC Controller则用于实现高速以太网互连,可以连接到多种网络设备接入网络,实现网络数据的交互。
对于通过Ethernet接口1等GMAC接口接收到的GMAC数据包,GMAC Controller负责处理GMAC数据包的传输和接收,包括电平转换、时序控制等,并将最终的GMAC数据包发送给协议转换单元,由协议转换单元将GMAC数据包转换为PCIe数据包,并将转换得到的PCIe数据包发送给连接装置,由连接装置发送给处理器进行相应处理。数据包的协议转换过程中,同样包括从GMAC数据包中获取有效信息,这些有效信息包括PCIe协议所需的信息,根据这些有效信息得到待处理数据,对待处理数据进行协议转换,最终得到PCIe数据包。
再请参见图5,是本申请实施例提供的一种SATA接口装置与对应的SATA接口的结构示意图,该SATA接口装置与上述提及的连接装置相连,用于接收连接装置发送的PCIe数据包,将PCIe数据包转换为转换数据包即SATA数据包,并将转换得到的SATA数据包通过对应的SATA接口发送至SATA设备;同时,SATA接口装置还用于接收SATA设备的SATA数据包,将SATA数据包转换为PCIe数据包,并将转换得到的PCIe数据包发送给连接装置,以通过连接装置发送给处理器。
在一个实施例中,SATA接口装置包括:协议转换单元、AHCI(Advanced HostController Interface,高级主机控制器接口)Controller控制器。
协议转换单元,用于实现数据包的协议转换并输出转换数据包,可以将数据包从PCIe协议转换为SATA协议,也可以将数据包从SATA协议转换为PCIe协议。
在一个实施例中,对于从连接装置接收到的PCIe数据包,协议转换单元用于对PCIe数据包进行PCIe总线层转换,该转换过程包括:解析PCIe数据包,确定PCIe数据包中的有效载荷数据,并确定传输类型、传输方向和传输大小等传输信息。然后,基于有效载荷数据、传输信息等内容,对PCIe数据包中的有效载荷数据等需要存储到SATA设备中的数据按照SATA协议进行封装处理,得到SATA数据包。对于协议转换后得到的SATA数据包,通过AHCI控制器访问SATA设备,以将协议转换后得到的SATA数据包存储到SATA设备(存储设备)中。
在SATA接口装置中会实现与连接的SATA设备的物理层和链路层的通信接口,如此,在协议转换单元转换得到SATA数据包之后,AHCI控制器通过与连接的SATA设备的物理层和链路层的通信接口以及对应SATA接口,实现SATA设备的访问和SATA数据包的存储。
而对于通过AHCI控制器接收到的来自SATA设备的SATA数据包,协议转换单元则用于进行SATA协议到PCIe协议的转换,可以对SATA数据包进行解封装处理得到诸如有效载荷数据等需要处理器处理的待处理数据,并将解封装得到的待处理数据封装为PCIe数据包。在封装和解封装过程中,需要考虑协议差异,例如数据包结构、传输速率等,以实现数据包的协议转换。转换后得到的PCIe数据包通过连接装置发送给处理器。
在一个实施例中,在将SATA数据包写入到SATA设备或者从SATA设备读取出SATA数据包的过程中,SATA接口装置可以配置对SATA数据包进行错误检测和处理的逻辑,用于针对每一个数据包传输进行错误检测和纠正处理,以确保SATA数据包的完整性和准确性。在一些可能的实施方式中,可以使用校验和、CRC(循环冗余校验码)或纠错码来检测和修复SATA数据包传输中的错误。
在一个实施例中,对于SATA接口装置而言,可以通过生成和传输控制信号的方式,以进行关于SATA协议所涵盖的命令的传输、和与SATA设备之间的SATA数据包的传输。在读取和写入数据时,SATA接口装置还可以配置针对接入的SATA设备的状态和响应的处理逻辑,以确保SATA数据包的正确性。
在SATA接口装置中可根据需要配置时序控制逻辑,考虑数据采样、发送时机和保持时间等时序要求,实现适当的时钟信号和时序控制机制,以确保数据的传输和处理遵循协议规范,完成SATA数据包的正确收发。另外,针对SATA接口装置还可以提供寄存器和控制接口,用于配置SATA接口装置的工作模式、传输速率和功能选项等,并在SATA接口装置中实现中断处理机制,以便于根据需要向处理器发出中断信号以响应相应的事件。
AHCI是一种主机控制器接口标准,基于AHCI的AHCI控制器用于连接协议转换单元和对应的SATA接口连接的SATA设备(例如硬盘驱动器和固态驱动器)。
AHCI控制器用于实现与SATA设备的高速数据传输,可以根据需要支持高达6Gbps的数据传输速率,提供了更高的带宽,可实现更快的数据访问和传输速度。并且,由于AHCI标准定义了一组通用的命令、寄存器和协议,简化了驱动程序的开发。AHCI驱动程序可以适用于符合AHCI标准的各种SATA设备,使得计算设备的操作系统可以使用通用的驱动程序来管理和操作不同的硬盘驱动器和固态驱动器。
另外,AHCI控制器也支持热插拔和热交换功能,允许在计算设备运行时连接或断开通过AHCI控制器接入的SATA设备,可以在不关闭计算设备的情况下添加或拆除SATA设备,提高了硬件的灵活性和可扩展性。并且,AHCI控制器还支持NCQ(Native CommandQueuing,原生命令队列)技术,NCQ技术是一种优化磁盘访问的技术,允许针对SATA发出多个输入输出请求,并进行重新排序和优化,以最大程度地提高SATA设备的性能和响应速度。
再请参见图6,是本申请实施例提供的数据处理方法的流程示意图,该方法可以由计算设备的管理控制器(图2所示的BMC SoC)来执行,可以通过管理控制器执行,也可以是集成在管理控制器中的功能器件来执行。管理控制器与处理器基于第一通信协议连接,管理控制器包括扩展接口,扩展接口用于基于第二通信协议与外接设备连接,管理控制器具体可以是指前述各实施例中的提及的管理控制器。方法包括如下步骤。
S601:接收处理器传输的业务数据包。
计算设备运行过程中,处理器能够产生多种类型的业务数据包,这些业务数据包可以是需要通过USB接口发送给诸如基于USB协议的移动硬盘、基于USB协议的音响等USB设备的待输出数据;也可以是需要通过SATA接口存储到诸如机械硬盘、SSD等SATA设备的待存储数据,也可以是需要通过GMAC接口发送至网络的待传输数据。这些业务数据包会被处理成相应协议形式的数据包以在处理器和管理控制器之间、以及管理控制器内部传输。处理器会基于第一通信协议生成符合第一通信协议的业务数据包,如果第一通信协议为PCIe协议,得到的业务数据包为PCIe数据包。
S602:对业务数据包进行解析确定业务数据包的目的设备。
如前述实施例的描述,确定业务数据包的目的设备可以包括确认业务数据包的接收端,接收端可以是指在管理控制器中设置的一个或多个接口装置,以及GPU等,与不同接口装置连接的扩展接口对应不同种类的第二通信协议,不同类型的第二通信协议会基于不同的协议来进行数据处理。例如上述的USB接口对应的是基于USB协议的第二通信协议,并且对应的是诸如USB2.0、USB3.0等USB协议。
在一个实施例中,管理控制器可以基于解析业务数据包中的PF标识来确定该业务数据包的接收端。处理器产生的业务数据包中可以记录传输该业务数据包的PF标识,PF标识与各个可能的接收端(各接口装置和GPU等)存在映射关系。在S602中,通过读取业务数据包中记录的PF标识和映射关系,能够确定业务数据包的接收端。
在另一个实施例中,处理器产生的业务数据包中可以记录该业务数据包的类型指示信息,类型指示信息用于指示接收端,每一个可能的接收端对应有唯一的类型指示信息。在S602中,通过读取业务数据包中记录的类型指示信息,能够确定业务数据包的接收端。例如,USB接口装置对应的类型指示信息为字符:当业务数据包中的类型指示信息为USB时,在S603中可以直接确定接收端为USB接口装置。
在另一个实施例中,处理器产生的业务数据包可以包括目的设备,管理控制器解析业务数据包得到目的设备,并基于目的设备与接收端的对应关系,确认目标设备对应的接收端(各接口装置和GPU等)。
S603:在业务数据包的目的设备为外接设备的情况下,将业务数据包转换为符合第二通信协议的转换数据包,将转换数据包通过扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。
处理器可以生成发送给管理控制器的数据(具体例如是发送给管理控制器中的GPU的数据),也可以生成发送给通过管理控制器接入的外接设备的数据,因此,目的设备可以是GPU或者与GPU连接的设备,也可以是当前通过扩展接口接入的一个或者多个外接设备。当需要向这些目的设备发送数据时,处理器可以在生成的数据包中记录如目的标识等相关信息的方式来使得生成的数据包会正确地发送给目的设备。
在一个实施例中,管理控制器包括接口装置,接口装置包括USB接口装置、GMAC接口装置、SATA接口装置方法还包括以下步骤中的任意一个或者多个:
在业务数据包的目的设备对应的接收端为USB接口装置的情况下,将业务数据包转换为符合第二通信协议为USB协议的数据包;
在业务数据包的目的设备对应的接收端为GMAC接口装置的情况下,将业务数据包转换为符合第二通信协议为GMAC协议的数据包;
在业务数据包的目的设备对应的接收端为SATA接口装置的情况下,将业务数据包转换为符合第二通信协议为SATA协议的数据包。
其中,USB接口装置、GMAC接口装置、SATA接口装置的数据转换处理等相关处理过程可参考前述实施例中的描述。
在一个实施例中,管理控制器还包括图像处理器,方法还包括:在业务数据包的目的设备为管理控制器的情况下,将业务数据包发送给图像处理器。
在一个实施例中,S603可以包括:解析业务数据包,得到目的标识,根据目的标识确认业务数据包的接收端,并将业务数据包发送给目的标识对应的接收端,接收端例如可以包括USB接口装置、GMAC接口装置、SATA接口装置或GPU,其中,目的标识不同,对应的接收端不同。目的标识可以是指PF标识,也可以是指类型指示信息。
在一个实施例中,可以基于上述表1所描述的关于PF标识和接收端之间的映射关系,来在生成的数据包中记录PF标识,这样一来,生成的数据包就可以将生成的数据发送给正确的接收端,以通过正确的接收端发送给目的设备。例如,处理器在生成的PCIe数据包中记录PF2,如此,该PCIe数据包即可通过管理控制器中的连接装置、GMAC接口装置、GMAC接口、GMAC连接器将基于PCIe数据包转换得到的GMAC数据包发送给网络设备,此时,GMAC接口装置为接收端、网络设备为目的设备;又例如,处理器在生成的PCIe数据包中记录PFm,如此,该PCIe数据包即可通过管理控制器中的连接装置将数据转发给GPU,此时GPU既为接收端也为目的设备。
在一个实施例中,处理器在生成的数据包中记录的相关信息也可以为一唯一指示接收端的类型指示信息,上述提及的各种接口装置以及GPU,都分配唯一的类型指示信息,这样一来,通过在生成的PCIe数据包中记录类型指示信息,即可通过正确的目标接口装置发送给目的设备,或者直接发送给作为目的设备的GPU。
在一个实施例中,管理控制器还包括连接装置和接口装置,S603可以包括:S6031通过连接装置根据确定的业务数据包的接收端以及业务数据包,生成针对接收端的处理指令;S6032向业务数据包的接收端发送处理指令,处理指令用于指示接收端针对业务数据包的数据处理;S6033在接收端为接口装置中的目标接口装置的情况下,通过目标接口装置将业务数据包进行协议转换得到转换数据包,将转换数据包通过扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。
在S6031中,如果确定的接收端为GPU,则可以生成针对GPU的处理指令,指示GPU对业务数据包进行处理。如果确定的接收端是多个接口装置中的目标接口装置,则处理指令为针对该目标接口装置的指令,该处理指令能够被该目标接口装置识别并执行相应的处理响应,例如,在USB接口装置为目标接口装置的情况下,USB接口装置能够正确解析该处理指令,并响应处理指令通过xHCI控制器等对业务数据包进行PCIe协议到USB协议的协议转换处理,得到USB数据包,并将USB数据包发送给与USB接口装置连接的USB设备中。在处理指令中可以包括业务数据包,这样一来,目标接口装置在接收到处理指令的同时,即可展开对处理指令中包括的业务数据包的解析、协议转换、输出等操作。
在以目标接口装置为接收端的情况下,针对业务数据包的数据处理主要为将业务数据包转换为目标接口装置所对应第二通信协议的数据包,以便于通过目标接口装置将转换得到的数据包通过目标接口连接的连接器发送给插入该连接器的设备。
以上述图2为例,当处理器产生了需要发送给外接的USB设备的数据时,会基于处理器与管理控制器之间的第一通信协议即PCIe协议,进行数据封装等处理,以生成PCIe协议的业务数据包,并通过PCIe接口发送给管理控制器。管理控制器的连接装置接收到该业务数据包后对接收到的业务数据包进行解析,并基于业务数据包中记录的PF标识等目的标识,确定出业务数据包为需要通过USB接口装置发送给USB设备的数据,因此,将USB接口装置作为目标接口装置,连接装置生成针对USB接口装置的处理指令,该处理指令指示USB接口装置对业务数据包进行协议转换,将业务数据包从PCIe协议的数据包转换为USB协议的数据包,并将转换后得到的USB协议的数据包发送给对应的USB接口(例如图2中的USB2.0对应的USB接口),以将该转换后的USB数据包存储到USB2.0对应的USB设备中。
下面再结合上述的提及的结构示意图,进一步对本申请实施例中的接口装置进行数据处理的过程进行描述。
在图3的结构基础上,请参见图7,是本申请实施例提供的基于USB接口装置的数据处理方法的流程示意图。在从接口装置中确定了USB接口装置作为目标接口装置之后,管理控制器的连接装置会向USB接口装置发送用于指示处理业务数据包的处理指令,USB接口装置接收到该处理指令之后,会对业务数据包进行处理,执行相应的处理步骤。在一个实施例中,USB接口装置包括xHCI控制器。在USB接口装置中将业务数据包从PCIe协议的数据转换为USB协议的数据包并传输的相关流程包括以下步骤:
S701:通过xHCI控制器对接收到的业务数据包进行解析,得到目标数据。
在第一通信协议为PCIe协议的情况下,对业务数据包的解析即是对PCIe数据包进行解析,这包括解析和分析PCIe数据包的头部信息、数据有效载荷和错误检测等。目标数据是指在业务数据包中USB协议所需的数据,以便于最终得到的USB数据包能够正确地存储到USB设备中。
另外,在执行S701之前,比如在管理控制器上电或者通过USB接口装置接入了USB设备时,管理控制器可以为PCIe接口、USB接口装置、USB接口实施装置初始化处理。装置初始化处理包括初始化PCIe接口、USB接口装置、USB接口等步骤,还包括检测并识别已连接的USB设备、以及相关的配置和参数设置等处理步骤。并且,在进行业务数据包传输之前,管理控制器还会为传输业务数据包配置所需的软硬件资源和参数,包括为业务数据包传输分配缓冲区、确定传输大小和方向、以及设置传输模式等,例如DMA(Direct Memory Access,成组数据传送方式)。
S702:通过xHCI控制器对目标数据进行数据封装处理,得到符合USB协议的待输出数据,即得到转换数据包。待输出数据为符合USB协议要求的数据,即USB数据包,在解析PCIe数据包后,需要将解析得到的目标数据,转换为USB协议要求的格式的待输出数据,这包括通过xHCI控制器将数据分割为USB传输单元(如USB数据帧),并添加相应的USB协议头部、进行数据帧序列化等处理。
S703:通过xHCI控制器输出符合USB协议的待输出数据,以存储到接入的USB设备中。转换后的数据需要通过USB接口进行传输,以最终发送到USB接口所连接的USB设备进行存储。
在一个实施例中,在S703之后,该方法还包括:通过xHCI控制器执行纠错处理,纠错处理包括对传输的USB数据包进行错误检测和纠正,包括检测和纠正PCIe接口和USB接口装置、USB接口可能出现的错误、数据完整性、时序问题等。
在数据传输完成后,xHCI控制器可以根据需要进行一些清理和释放资源的操作,例如可以包括释放缓冲区、关闭和重置相关接口,以及更新状态和标志等操作。
在图4的结构基础上,请参见图8,是本申请实施例提供的基于GMAC接口装置的数据处理方法的流程示意图,在从接口装置中为业务数据包确定了GMAC接口装置作为目标接口装置之后,会通过管理控制器的连接装置向GMAC接口装置发送用于指示处理业务数据包的处理指令,GMAC接口装置在接收到该处理指令后,会对业务数据包进行处理,执行相应的处理步骤。在一个实施例中,GMAC接口装置包括协议转换单元和GMAC控制器。在GMAC接口装置中将业务数据包从PCIe协议的数据转换为GMAC协议的数据并传输的相关流程包括如下步骤。
S801:通过协议转换单元对业务数据包进行解析,得到目标数据。对于第一通信协议为PCIe协议而言,协议转换单元执行针对PCIe数据包的解析和处理,解析过程包括提取有效载荷数据、校验和等内容,得到目标数据,目标数据是指业务数据包中GMAC协议所需的数据,以便于最终得到的GMAC数据包能够正确地发送给网络设备,并在网络中传输。
另外,在执行S801之前,比如在管理控制器上电或者通过GMAC接口装置接入了网络外接设备时,管理控制器可对PCIe接口、GMAC接口装置、GMAC接口进行初始化和配置等操作,其中,对PCIe接口进行初始化和配置包括为业务数据包设置传输模式、配置数据缓冲区、中断和错误处理等。对GMAC接口装置、GMAC接口的初始化和配置,则包括检测并识别已连接的网络设备、以及相关的网络配置和参数设置等。
S802:通过协议转换单元对目标数据进行数据封装处理,得到符合GMAC协议的待传输数据,符合GMAC协议的待传输数据即为GMAC数据包。数据封装处理包括PCIe协议与GMAC协议之间的协议转换处理,数据封装处理是基于第一通信协议即PCIe协议从业务数据包中确定出的目标数据,转换为第二通信协议即GMAC协议的数据,数据转换过程例如具体可以包括:针对目标数据构建GMAC帧头部、设置源和目的MAC地址、调整帧长度等步骤。
S803:通过GMAC控制器输出符合GMAC协议的待传输数据,可以将转换后的待传输数据通过GMAC控制器进行传输,包括将待传输数据写入GMAC发送缓冲区、进行帧间隔设置和发送帧等处理。
在S803之后,该方法还可以包括:通过GMAC控制器可以进行错误检测和纠正,例如检查数据的完整性和准确性,处理传输错误和异常情况。
另外,在执行S802之后、且S803之前,管理控制器还可以进行传输初始化和配置处理,具体可以包括对GMAC控制器的初始化和配置处理,初始化和配置包括对GMAC控制器设置传输模式、速率、流控制等。
在一个实施例中,对于从GMAC接口即图4中的一个或者多个Ethernet接口接收到的数据包,GMAC接口装置也会执行相应的GMAC数据包解析、转换等处理最后得到能够发送给处理器的PCIe数据包,对于得到的PCIe数据包再通过连接装置、管理控制器与处理器之间的PCIe接口发送给计算设备的处理器进行处理。其中,GMAC控制器对GMAC数据包执行的解析包括:验证CRC(Cyclic redundancy check,循环冗余校验)校验和、提取有效载荷数据、检查地址匹配等。然后对GMAC控制器解析之后的数据进行协议转换处理,转换为第一通信协议的数据格式的数据包,即PCIe数据包,并将转换后的PCIe数据包通过连接装置输出至处理器。
在一个实施例中,无论是向网络外接设备发送数据,还是从网络外接设备接收数据,在数据传输完成后,GMAC控制器可以根据需要进行清理和释放资源的操作,包括释放缓冲区、关闭和重置接口,更新状态和标志等操作。
在图5的结构基础上,请参见图9,是本申请实施例提供的基于SATA接口装置的数据处理方法的流程示意图,在从接口装置为业务数据包确定了SATA接口装置作为目标接口装置之后,会向SATA接口装置发送用于指示处理业务数据包的处理指令,SATA接口装置在接收到该处理指令后,会对业务数据包进行处理,执行相应的处理步骤。在一个实施例中,SATA接口装置包括协议转换单元和AHCI控制器。在SATA接口装置中将业务数据包从PCIe协议的数据转换为SATA协议的数据并传输的相关流程包括如下步骤。
S901:通过协议转换单元对接收到的业务数据包进行解析,得到目标数据。目标数据是指在业务数据包中SATA协议所需的数据,以便于最终得到的SATA数据包能够正确地存储到SATA设备中。在第一通信协议为PCIe协议的情况下,该步骤主要是指对PCIe协议的数据包进行解析,从PCIe数据包中提取有效载荷数据、校验和等内容,得到需要处理的目标数据。
在一个实施例中,在S901之前,比如在管理控制器上电或者通过SATA接口装置接入了SATA设备时,管理控制器还可以为PCIe接口、SATA接口装置、SATA接口执行初始化处理,初始化和配置可以包括为业务数据包设置传输模式、配置数据缓冲区、中断和错误处理等处理。
S902:通过协议转换单元对目标数据进行转换,得到符合SATA协议的待存储数据,符合SATA协议的待存储数据即为SATA数据包。将解析后得到的目标数据(例如上述提到的有效载荷数据等)转换为SATA协议的数据包括将解析后得到的数据封装为SATA命令和数据包的形式。
S903:通过AHCI控制器输出符合SATA协议的待存储数据,以在相应的SATA设备中存储该符合SATA协议的待存储数据。S903的传输过程包括SATA命令传输,SATA命令可由协议转换单元在完成转换得到符合SATA协议的待存储数据时生成,协议转换单元将生成的SATA命令和SATA数据包传输到AHCI控制器,由AHCI控制器进行SATA数据包的写入操作。另外,在传输SATA命令和SATA数据包之前,管理控制器还可以对AHCI控制器的初始化和配置,初始化和配置包括设置传输模式、速率、使用的接口数等。
在一个实施例中,在S903之前,AHCI控制器还可以执行数据包的错误检测和纠正处理,例如检查SATA数据包的完整性和准确性,以及处理传输错误和异常情况。
在数据传输完成后,AHCI控制器还可以用于进行传输完成确认,AHCI控制器还可以用于执行包括清理和释放资源等操作,清理和释放资源的过程包括检查传输状态和标志,释放相关资源,更新状态和通知上层应用传输完成等。
本申请实施例在计算设备中,通过计算设备中与处理器相连的管理控制器设置的接口装置提升处理器的输入输出能力,可以在计算设备中连接更多的外接设备,如网络接口卡、存储控制器、加速卡等。这增加了计算设备的扩展性和灵活性,可满足不同应用的需求。按需增加了各类外接设备之后,可以明显提高计算设备的存储容量和性能,通过连接额外的存储控制器或固态硬盘(SSD)等设备,可以增加计算设备的存储容量和性能,这对于需要大容量、高速存储的计算设备(例如数据库服务器、大数据分析和云计算平台等)非常有意义。还可以通过连接多个网络接口卡(NIC),以此来增加计算设备的网络连接能力和带宽。并且,在扩展了接口之后,可以根据需要卸载一些直连处理器并占用处理器IO的网络、存储等接口,使得处理器能够直连接入其他所需设备。
关于上述实施例中描述的各个装置、单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
可以理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请实施例的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。可以理解,在本申请实施例的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
可以理解,在本申请实施例中,“当…时”、“在...情况下”、“若”以及“如果”均指在某种客观情况下装置会做出相应的处理,并非是限定时间,且也不要求装置实现时一定要有判断的动作,也不意味着存在其它限定。
本领域普通技术人员可以理解,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例中各个实施例之间相同或相似的部分可以互相参考。在本申请实施例中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以上的本申请实施例实施方式并不构成对本申请实施例保护范围的限定。
以上,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种计算设备,其特征在于,所述计算设备包括处理器、管理控制器,所述管理控制器通过第一通信协议与所述处理器相连;
所述管理控制器包括扩展接口,所述扩展接口与外接设备通过第二通信协议连接;
所述管理控制器,用于从处理器接收业务数据包,在所述业务数据包的目的设备为外接设备的情况下,将符合第一通信协议的所述业务数据包转换为符合第二通信协议的转换数据包,将所述转换数据包通过所述扩展接口发送给对应的外接设备,以实现外接设备与处理器之间的通信连接。
2.如权利要求1所述的计算设备,其特征在于,所述管理控制器还包括高速串行计算机扩展总线标准PCIe接口,所述PCIe接口与所述处理器连接,所述扩展接口的数量为多个,每个扩展接口与对应的外接设备连接,不同扩展接口通过不同的第二通信协议与对应的外接设备连接。
3.如权利要求2所述的计算设备,其特征在于,多个所述扩展接口包括通用串行总线USB接口、千兆网媒体访问控制GMAC接口、串行先进技术附件SATA接口,所述计算设备还包括多个连接器,多个所述连接器包括USB连接器、GMAC连接器、SATA连接器,USB连接器、GMAC连接器、SATA连接器与USB接口、GMAC接口、SATA接口一一对应连接,所述外接设备包括USB设备、存储设备或网卡;所述USB连接器用于与所述USB设备连接,所述SATA连接器用于与所述存储设备连接,所述GMAC连接器用于与所述网卡连接。
4.如权利要求1所述的计算设备,其特征在于,所述管理控制器还包括连接装置、接口装置,所述连接装置与所述处理器和所述接口装置均连接,所述接口装置与所述扩展接口连接,所述连接装置用于接收所述业务数据包,并在所述业务数据包的目的设备为外接设备的情况下,将所述业务数据包发送给与外接设备对应连接的所述接口装置,所述接口装置用于对所述业务数据包进行协议转换得到转换数据包,将所述转换数据包通过所述扩展接口发送给对应的外接设备。
5.如权利要求4所述的计算设备,其特征在于,所述管理控制器还包括图像处理器,所述图像处理器与所述连接装置连接,所述连接装置还用于在所述业务数据包的目的设备为管理控制器的情况下,将所述业务数据包发送给所述图像处理器。
6.如权利要求4或5所述的计算设备,其特征在于,所述接口装置包括USB接口装置、GMAC接口装置、SATA接口装置,所述多个扩展接口包括USB接口、GMAC接口、SATA接口,所述USB接口装置、GMAC接口装置、SATA接口装置与所述USB接口、GMAC接口、SATA接口一一对应连接;
所述USB接口装置用于在收到所述业务数据包的情况下,将所述业务数据包转换为第二通信协议为USB协议的数据包;
所述GMAC接口装置用于在收到所述业务数据包的情况下,将所述业务数据包转换为第二通信协议为GMAC协议的数据包;
所述SATA接口装置用于在收到所述业务数据包的情况下,将所述业务数据包转换为第二通信协议为SATA协议的数据包。
7.如权利要求6所述的计算设备,其特征在于,所述连接装置具体用于,解析所述业务数据包,得到目的标识,根据所述目的标识确认所述业务数据包的接收端,并将所述业务数据包发送给目的标识对应的接收端,所述接收端包括USB接口装置、GMAC接口装置、SATA接口装置或GPU,其中,目的标识不同,对应的接收端不同。
8.一种管理控制器,其特征在于,包括PCIe接口和扩展接口,所述PCIe接口与处理器连接,所述扩展接口用于与外接设备连接;
所述管理控制器用于通过所述PCIe接口接收处理器发送的符合第一通信协议的业务数据包;在所述业务数据包的目的设备为外接设备的情况下,将所述业务数据包转换为符合第二通信协议的转换数据包;将所述转换数据包通过所述扩展接口发送给对应的外接设备,以实现所述外接设备与所述处理器之间的通信连接。
9.如权利要求8所述的管理控制器,其特征在于,所述扩展接口的数量为多个,每个扩展接口与对应的外接设备连接,不同扩展接口通过不同第二通信协议与对应的外接设备连接。
10.一种数据处理方法,其特征在于,应用于管理控制器,所述管理控制器与处理器基于第一通信协议连接,所述管理控制器包括扩展接口,所述扩展接口用于基于第二通信协议与外接设备连接,所述方法包括:
接收所述处理器发送的业务数据包;
对所述业务数据包进行解析确定所述业务数据包的目的设备;
在所述业务数据包的所述目的设备为所述外接设备的情况下,将所述业务数据包转换为符合第二通信协议的转换数据包,将所述转换数据包通过所述扩展接口发送给对应的外接设备,以实现所述外接设备与所述处理器之间的通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311827052.1A CN117873924A (zh) | 2023-12-27 | 2023-12-27 | 一种计算设备、管理控制器及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311827052.1A CN117873924A (zh) | 2023-12-27 | 2023-12-27 | 一种计算设备、管理控制器及数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117873924A true CN117873924A (zh) | 2024-04-12 |
Family
ID=90578530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311827052.1A Pending CN117873924A (zh) | 2023-12-27 | 2023-12-27 | 一种计算设备、管理控制器及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117873924A (zh) |
-
2023
- 2023-12-27 CN CN202311827052.1A patent/CN117873924A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7334075B2 (en) | Managing transmissions between devices | |
US10127170B2 (en) | High density serial over LAN management system | |
US20050138154A1 (en) | Enclosure management device | |
US8694723B2 (en) | Method and system for coupling serial attached SCSI (SAS) devices and internet small computer system internet (iSCSI) devices through single host bus adapter | |
US20170220506A1 (en) | Modular Software Defined Storage Technology | |
US11411753B2 (en) | Adding network controller sideband interface (NC-SI) sideband and management to a high power consumption device | |
CN102160044A (zh) | PCIe接口上的SATA大容量存储装置仿真 | |
WO2014004021A2 (en) | Tunneling platform management messages through inter-processor interconnects | |
CN116501681A (zh) | Cxl数据传输板卡及控制数据传输的方法 | |
US11011876B2 (en) | System and method for remote management of network interface peripherals | |
US20190042161A1 (en) | Hard Disk Operation Method and Hard Disk Manager | |
US11442844B1 (en) | High speed debug hub for debugging designs in an integrated circuit | |
US10558453B1 (en) | System and method to achieve shared drive firmware version consistency via ESRT update | |
US20040088455A1 (en) | Methods and structure for SCSI/IDE translation for non-SCSI enclosures in a storage subsystem | |
CN1976310B (zh) | 在网络中通过总线接口进行通信的方法 | |
US9755892B2 (en) | Integrated device managment over Ethernet network | |
US10795846B1 (en) | Scalable NVMe storage management over system management bus | |
CN117873924A (zh) | 一种计算设备、管理控制器及数据处理方法 | |
EP2300925B1 (en) | System to connect a serial scsi array controller to a storage area network | |
CN112947156A (zh) | 一种基于fpga的分布式数据传输系统及方法 | |
US11042497B2 (en) | Communication between field programmable gate arrays | |
CN216014148U (zh) | 一种服务器和服务器背板 | |
US10970155B1 (en) | Error reporting when reading data | |
CN117319255A (zh) | 网卡带外管理功能的测试方法、装置、介质以及终端 | |
US9081743B2 (en) | Communication system and communicaton method |
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 |