服务器和控制方法

文档序号:1937197 发布日期:2021-12-07 浏览:11次 >En<

阅读说明:本技术 服务器和控制方法 (Server and control method ) 是由 龙顺泉 陈伟 丁海星 于 2020-06-05 设计创作,主要内容包括:本申请公开了一种服务器和控制方法,涉及服务器领域,用于实现服务器中多个节点共享接口卡。服务器包括:节点、背板和N个接口卡;节点包括逻辑控制器件、基板管理控制器BMC和处理器;背板包括N对背板内置集成电路I2C走线,每对背板I2C走线通过I2C总线电连接至对应的接口卡;处理器和BMC通过本地总线电连接至逻辑控制器件,逻辑控制器件通过N组I2C总线电分别连接至N对背板I2C走线;N为正整数。逻辑控制器件用于将来自处理器或BMC的本地总线格式的命令消息,转换为I2C总线格式的命令消息后,通过N组背板I2C走线中的第一组背板I2C走线发送给与第一组背板I2C走线电连接的第一接口卡;第一接口卡用于通过第一组背板I2C走线接收I2C总线格式的命令消息。(The application discloses a server and a control method, relates to the field of servers, and is used for realizing interface card sharing among a plurality of nodes in the server. The server includes: a node, a backplane, and N interface cards; the node comprises a logic control device, a Baseboard Management Controller (BMC) and a processor; the backplane comprises N pairs of backplane built-in integrated circuit I2C wires, each pair of backplane I2C wires is electrically connected to a corresponding interface card through an I2C bus; the processor and the BMC are electrically connected to the logic control device through a local bus, and the logic control device is electrically connected to N pairs of backboard I2C wires through N groups of I2C buses; n is a positive integer. The logic control device is used for converting a command message in a local bus format from a processor or BMC into a command message in an I2C bus format, and then sending the command message to a first interface card electrically connected with a first group of backboard I2C in N groups of backboard I2C wires through a first group of backboard I2C wires; the first interface card is configured to receive command messages in the I2C bus format via a first set of backplane I2C traces.)

服务器和控制方法

技术领域

本申请涉及服务器领域,尤其涉及一种服务器和控制方法。

背景技术

如图1所示,目前多节点的服务器为了实现对节点11的接口进行扩展,可以由节点11中的基板管理控制器(baseboard manager controller,简称BMC)111通过内置集成电路(inter-integrated circuit,I2C)总线和通用输入/输出(general purpose input/output,GPIO)接口来管理各种接口卡13。受限于BMC支持的I2C路数和GPIO接口,BMC管理的接口卡数量受限,造成接口卡的浪费,降低接口卡的利用率,增加了成本。

发明内容

本申请实施例提供一种服务器和控制方法,用于实现服务器中节点管理接口卡。

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

第一方面,提供了一种服务器,包括:节点、背板和N个接口卡;节点包括逻辑控制器件、基板管理控制器BMC和处理器;背板包括N组背板内置集成电路I2C走线,每组背板I2C走线通过I2C总线电连接至对应的接口卡;处理器和BMC通过本地总线电连接至逻辑控制器件,逻辑控制器件通过N组I2C总线分别电连接至N组背板I2C走线;N为正整数;逻辑控制器件用于将来自处理器或BMC的本地总线格式的命令消息,转换为I2C总线格式的命令消息后,通过N组背板I2C走线中的第一组背板I2C走线发送给与第一组背板I2C走线电连接的第一接口卡;第一接口卡用于通过第一组背板I2C走线接收I2C总线格式的命令消息。

本申请实施例提供的服务器,节点与一个接口卡之间只有一组I2C总线,节省了多个GPIO接口以及对应的背板走线。通过逻辑控制组件(Programmable Logic Device,PLD)来扇出I2C总线,利用PLD管脚资源丰富的特性,可以模拟出几十组I2C总线,有效解决了BMC扇出的I2C总线路数以及管理接口卡数目都很少的问题。通过背板上的背板I2C走线,PLD都可以通过I2C总线挂载所有的接口卡,最大化了接口卡的资源利用率。作为管理芯片的BMC和处理器可以直接通过本地总线访问PLD,发送的命令消息经过PLD即可到达I2C总线,从I2C总线接收的响应消息也仅需要经过PLD,消息仅经过一次转发,提高了消息的传输效率。

在一种可能的实施方式中,服务器可以包含多个上述节点。从而实现多个节点共享所有接口卡。服务器可以是计算服务器、存储服务器或者存储阵列控制器等。

在一种可能的实施方式中,第一接口卡还用于通过第一组背板I2C走线向逻辑控制器件发送I2C总线格式的响应消息;逻辑控制器件还用于通过第一组背板I2C走线接收I2C总线格式的响应消息,将I2C总线格式的响应消息转换为本地总线格式的响应消息后,发送给对应的处理器或BMC。逻辑控制器件不仅可以向接口卡发送命令消息,还可以从接口卡接收响应消息,转换为接收I2C总线格式的响应消息,正确发送给处理器或BMC。

在一种可能的实施方式中,逻辑控制器还用于确定处理器和BMC中的一个具有使用I2C总线的权限。避免了同一节点的处理器和BMC使用I2C总线时产生冲突。

在一种可能的实施方式中,还包括N个保护电路,逻辑控制器件与N个保护电路电连接,N个保护电路中的一个保护电路电连接至N组背板I2C走线中的一组背板I2C走线;保护电路用于在逻辑控制器件发生逻辑故障、逻辑控制器件逻辑未被编程或者当前时刻未处于节点的通信时隙时,断开节点与背板的电连接;在逻辑控制器件正常工作并且当前时刻处于节点的通信时隙时,恢复节点与背板的电连接。保护电路可以防止本节点的PLD发生故障后,将I2C总线拉低并保持低电平,造成整个I2C总线不可用,因此可以避免故障扩散,快速实现故障隔离以及检测。

在一种可能的实施方式中,保护电路包括第一金属氧化物半导体MOS管、第二MOS管、第一电阻、第二电阻、第三电阻、第四电阻、第五电阻、第六电阻;第一MOS管的栅极通过第一电阻电连接至逻辑控制器件的第n个控制端,第二MOS管的栅极通过第二电阻电连接至逻辑控制器件的第n个控制端;第一MOS管的源极电连接至第三电阻的第二端以及逻辑控制器件的第n个时钟信号端,第一MOS管的漏极电连接至第四电阻的第二端以及与保护电路电连接的一组背板I2C走线的时钟走线;第二MOS管的源极电连接至第五电阻的第二端以及逻辑控制器件的第n个数据信号端,第一MOS管的漏极电连接至第六电阻的第二端以及与保护电路电连接的一组背板I2C走线的数据走线;第三电阻的第一端、第四电阻的第一端、第五电阻的第一端以及第六电阻的第一端电连接至电源正极;时钟信号端和时钟走线用于传输一组I2C总线的时钟信号,数据信号端和数据走线用于传输I2C总线的数据信号;逻辑控制器件的控制端控制第一MOS管和第二MOS管关断和导通;n为小于等于N的正整数。本申请不限定保护电路的实现方式。

在一种可能的实施方式中,逻辑控制器件具体用于:根据处理器和BMC的优先级,确定处理器或所述BMC中的一个具有使用I2C总线的权限。避免了同一节点的处理器和BMC使用I2C总线时产生冲突。

在一种可能的实施方式中,每个节点对应一个通信时隙,各个节点的通信时隙不同,PLD具体用于:如果当前时刻处于本节点的通信时隙,则确定本节点使用I2C总线。可以防止不同节点之间使用I2C总线时产生冲突。

在一种可能的实施方式中,PLD具体用于:根据本节点中处理器和BMC的优先级,确定本节点中处理器或BMC使用I2C总线的权限。可以防止本节点中的处理器或BMC使用I2C总线时产生冲突。

在一种可能的实施方式中,PLD具体用于:如果在本节点的通信时隙中,本节点中的处理器和BMC中至少两个器件请求使用I2C总线,则确定优先级最高的器件具有使用I2C总线的权限。即同一通信时隙内拥有最高优先级的处理器或BMC使用I2C总线。

第二方面,提供了一种控制方法,应用于如第一方面及其任一实施方式所述的服务器,该方法包括:逻辑控制器件将来自服务器的节点的处理器或BMC的本地总线格式的命令消息,转换为I2C总线格式的命令消息后,通过N组背板I2C走线中的第一组背板I2C走线发送给与第一组背板I2C走线电连接的第一接口卡;第一接口卡通过第一组背板I2C走线接收I2C总线格式的命令消息。

在一种可能的实施方式中,还包括:第一接口卡通过第一组背板I2C走线向逻辑控制器件发送I2C总线格式的响应消息;逻辑控制器件通过第一组背板I2C走线接收I2C总线格式的响应消息,将I2C总线格式的响应消息转换为本地总线格式的响应消息后,发送给对应的处理器或BMC。

在一种可能的实施方式中,还包括:逻辑控制器件确定处理器和BMC中的一个具有使用I2C总线的权限。

在一种可能的实施方式中,还包括:保护电路在逻辑控制器件发生逻辑故障、逻辑控制器件逻辑未被编程或者当前时刻未处于节点的通信时隙时,断开节点与背板的电连接;在逻辑控制器件正常工作并且当前时刻处于节点的通信时隙时,恢复节点与背板的电连接。

在一种可能的实施方式中,断开节点与背板的电连接,包括:控制节点的保护电路中的第一MOS管和第二MOS管关断。恢复本节点与背板的电连接,包括:控制第一MOS管和第二MOS管导通。

在一种可能的实施方式中,还包括:如果当前时刻处于本节点的通信时隙,则确定本节点具有使用I2C总线的权限。

在一种可能的实施方式中,逻辑控制器件确定处理器和BMC中的一个具有使用I2C总线的权限,包括:逻辑控制器件根据处理器和BMC的优先级,确定处理器或BMC中的一个具有使用I2C总线的权限。

在一种可能的实施方式中,根据本节点中处理器和BMC的优先级,确定本节点中处理器或BMC使用I2C总线的权限,包括:如果在节点的通信时隙中,处理器和BMC中至少两个器件请求使用I2C总线,则确定优先级最高的器件具有使用I2C总线的权限。

第二方面及其任一实施方式的技术效果参照第一方面的内容。

附图说明

图1为本申请实施例提供的一种服务器的架构示意图;

图2为本申请实施例提供的另一种服务器的架构示意图;

图3为本申请实施例提供的一种PLD的结构示意图;

图4为本申请实施例提供的一种保护电路的结构示意图。

具体实施方式

如本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。

首先对本申请实施例涉及的一些概念进行描述:

接口卡用于对节点的接口进行扩展,包括但不限于网络接口卡(networkinterface card,NIC)、高速串行计算机扩展总线标准(peripheral componentinterconnect express,PCIe)接口卡、无限带宽(InfiniBand,IB)接口卡、光纤信道(fiberchannel,FC)接口卡,串行连接SCSI接口(serial attached SCSI,SAS)等。

I2C总线是一种双向二线制同步串行总线,它通过两根线(数据线和时钟线)即可以实现节点与连接在I2C总线上的从器件(本申请实施例中包括接口卡)之间传输数据,其中,数据线用于传输数据信号,时钟线用于传输时钟信号。本申请实施例中,节点通过I2C总线向接口卡发送命令消息,并通过I2C总线从接口卡接收与该命令消息对应的响应消息,该响应消息中可以包括接口卡的类型、温度、连接状态等。从而实现节点对接口卡的管理。

I2C总线的开漏(open drain,OD)特性:I2C总线使用OD门逻辑(即线与逻辑),OD门本身没有驱动能力,只能输出低电平和高阻态,高电平要在输出高阻态时通过外部上拉电阻上拉来实现。如果I2C总线的一根线上只要有一个器件输出低电平,这根线就变为低电平。如果I2C总线的两根线上所有器件输出高阻态,那么整个总线就为高电平。

金属氧化物半导体(metal oxide semiconductor,MOS)管的体二极管特性,即MOS管漏极和源极之间反并联有寄生二极管,因此MOS管可以当作受控导通的二极管来使用。

BMC用于实现对系统硬件的监视和控制功能,本申请实施例中用于对接口卡进行管理。

可编程逻辑器件(programmable logic device,PLD)指逻辑功能能够被编程的器件,可以包括例如,复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等。

处理器包括片上系统(system on chip,SoC)、中央处理器(central processorunit,CPU)、网络处理器(network processor,NP)、数字信号处理电路(digital signalprocessor,DSP)、微控制器(micro controller unit,MCU)、可编程控制器(programmablelogic device,PLD)、FPGA或其他集成芯片。

如图1所示,本申请实施例提供了一种服务器,包括多个节点11、背板12和多个接口卡13。

背板12安装有连接器,连接器之间通过走线电连接,用于固定各种接口卡13并将接口卡13电连接至节点11。

节点11包括BMC 111、PLD 112以及至少一个处理器113。至少一个处理器113通过本地总线(local bus)电连接至PLD 112,PLD 112还通过本地总线电连接至BMC 111,BMC111通过I2C总线和多个GPIO接口电连接至背板12,背板12再通过I2C总线和GPIO接口电连接至对应的一组接口卡13。

多个GPIO接口用于通过不同二进制组合确定接口卡13的槽位,例如,以四个GPIO接口为例,最多可以表示16个槽位,0000表示0号槽位,0001表示1号槽位,0010表示2号槽位,依次类推。

上述服务器的架构存在如下缺点:

缺点1:每张接口卡对应多个GPIO接口,用于确定该接口卡的槽位,还对应一组I2C总线,GPIO接口和I2C总线都要经过背板,因此占用了较多的背板走线。

缺点2:每个节点的BMC仅能扇出几路I2C总线,每路I2C总线仅能对应一个接口卡,因此扇出的I2C总线路数以及管理的接口卡数目都很少。

缺点3:每个节点的BMC仅能管理与该节点对应的接口卡,无法管理所有接口卡,多个节点可能重复安装相同的接口卡,造成接口卡的浪费,降低接口卡的资源利用率,增加了成本。

缺点4:处理器使用I2C总线时,发送的命令消息要先经过PLD然后经过BMC才能到达I2C总线,从I2C总线接收的响应消息要先经过BMC后经过PLD,消息经过多次转发,降低了消息的传输效率。

服务器,节点与一个接口卡之间只有一组I2C总线,节省了多个GPIO接口以及对应的背板走线。通过逻辑控制组件(Programmable Logic Device,PLD)来扇出I2C总线,利用PLD管脚资源丰富的特性,可以模拟出几十组I2C总线,有效解决了BMC扇出的I2C总线路数以及管理接口卡数目都很少的问题。通过背板上的背板I2C走线,PLD都可以通过I2C总线挂载所有的接口卡,最大化了接口卡的资源利用率。作为管理芯片的BMC和处理器可以直接通过本地总线访问PLD,发送的命令消息经过PLD即可到达I2C总线,从I2C总线接收的响应消息也仅需要经过PLD,消息仅经过一次转发,提高了消息的传输效率。

如图2所示,该服务器包括M个节点21、背板22、N个接口卡23。M、N为正整数。

接口卡23包括微控制器231,微控制器231用于对所在接口卡进行管理。N个接口卡23中的第一接口卡可以用于N组背板I2C走线中的第一组背板I2C走线从节点21接收I2C总线格式的命令消息,或者,通过第一组背板I2C走线向节点21的PLD 211发送I2C总线格式的响应消息。第一接口卡指N个接口卡23中的任一接口卡,第一组背板I2C走线指与第一接口卡电连接的背板I2C走线。

背板22包括N组背板I2C走线(L1……Ln……LN),每组背板I2C走线通过I2C总线电连接至对应的一个接口卡,每组背板I2C走线包括时钟走线和数据走线,时钟走线用于传输I2C总线中的时钟信号,数据走线用于传输I2C总线中的数据信号。

节点21包括PLD 211、BMC 212和至少一个处理器213,可选的,还包括N个保护电路214。对于每个节点21:处理器213和BMC 212通过本地总线电连接至PLD 211,PLD 211通过N组I2C总线分别电连接至N组背板I2C走线,具体的,PLD 211通过第n组I2C总线电连接至N组背板I2C走线中的第n组背板I2C走线Ln,n为小于等于N的正整数。

可选的,PLD 211通过N组I2C总线与接N个保护电路214电连,N个电路保护电路214中的一个保护电路再电连接至N组背板I2C走线中的一组背板I2C走线,具体的,PLD 211通过第n组I2C总线电连接至N个保护电路214中的第n个保护电路,第n个保护电路再通过第n组I2C总线电连接至第n组背板I2C走线Ln。

BMC 212和处理器213用于对接口卡进行管理,例如,获知接口卡的接入拔出、获取接口卡的槽位、获取接口卡的类型、获取接口卡温度、维护接口卡连接状态、对异常状态进行处理、对中断进行处理等。本申请不限定上述管理功能在BMC 212和处理器213之间的分配,例如,处理器213可以执行对中断进行处理、获取接口卡的类型等,其他管理功能由BMC212执行。

PLD 211执行的控制方法包括但不限于:将来自处理器213或BMC 212的本地总线格式的命令消息,转换为I2C总线格式的命令消息后,通过N组背板I2C走线中的第一组背板I2C走线发送给与第一组背板I2C走线电连接的第一接口卡。或者,通过第一组背板I2C走线接收来自第一接口卡的I2C总线格式的响应消息,将该I2C总线格式的响应消息转换为本地总线格式的响应消息后,发送给对应的处理器213或BMC 212。以及,确定本节点是否具有使用I2C总线的权限,以及,确定本节点中处理器213和BMC 212中的一个具有使用I2C总线的权限。

在一种可能的实施方式中,如图3所示,PLD 211可以包括端口控制模块2111、协议转换模块2112、I2C扩展模块2113和防冲突模块2114。

端口控制模块2111,用于发送和接收命令消息以及对应的响应消息。例如,将来自处理器213和BMC 212的本地总线格式的命令消息,转换为I2C总线格式的命令消息后发送给对应的接口卡23。或者,将来自接口卡23的I2C总线格式的响应消息,转换为本地总线格式的响应消息后发送给对应的处理器213或BMC 212。

协议转换模块2112,用于对接收命令消息以及对应的响应消息在本地总线格式与I2C总线格式之间进行转换。

I2C扩展模块2113,用于挂载N个接口卡,将I2C总线格式的命令消息分发至对应的接口卡所挂载的I2C总线,或者,归集来自多个接口卡的I2C总线格式的响应消息,利用PLD管脚资源丰富的优势,实现I2C路数的扩展。

防冲突模块2114,用于确定本节点是否具有使用I2C总线的权限,以及,确定本节点中处理器213和BMC 212中的一个具有使用I2C总线的权限。

每个节点对应一个通信时隙,各个节点的通信时隙不同。多节点情况下,其中一个主导节点的防冲突模块2114对所有节点的通信时隙进行分配,例如有四个节点,则可以将一个通信周期分为四个通信时隙,主导节点为其他节点分配通信时隙的标识,各节点在对应的通信时隙得到使用I2C总线的权限。如果当前时刻处于本节点的通信时隙,则防冲突模块2114确定本节点可以使用I2C总线。当本节点在对应的通信时隙中有命令消息要发送,则可以通过I2C总线向接口卡发送命令消息并从接口卡接收对应的响应消息。

对于本节点中的处理器213和BMC 212,可能存在在同一通信时隙内均有命令消息要发送的情况,此时,防冲突模块2114可以根据本节点中的处理器213和BMC 212的优先级,确定本节点中处理器213或BMC 212中的一个具有使用I2C总线的权限。也就是说,如果在本节点的通信时隙中,本节点中处理器213和BMC 212中至少两个器件请求使用I2C总线,则确定优先级最高的器件具有使用I2C总线的权限。

节点向接口卡发送命令消息的过程如下:处理器213或BMC 212通过本地总线向PLD 211的静态随机存取存储器(static random access memory,SRAM)写入本地总线格式的命令消息(包括控制字以及数据),处理器213或BMC 212置位第一标志位,第一标志位用于指示有命令消息待发送。端口控制模块2111不断查询第一标志位是否置位,当查询到第一标志位置位后,端口控制模块2111从处理器213和BMC 212接收(即从SRAM读取)本地总线格式的命令消息。如果有多个命令消息,防冲突模块2114根据处理器213和BMC 212的优先级确定接收优先级最高的器件的命令消息。协议转换模块2112将本地总线格式的命令消息转换为I2C总线格式的命令消息。I2C扩展模块2113根据I2C总线格式的命令消息确定对应的接口卡所挂载的I2C总线。端口控制模块2111将I2C总线格式的命令消息通过该I2C总线发送给对应的接口卡。

节点从接口卡接收响应消息的过程如下:端口控制模块2111从I2C总线接收来自接口卡23的I2C总线格式的响应消息,防冲突模块2114确认该响应消息是针对本节点的命令消息的响应。I2C扩展模块2113对I2C总线格式的响应消息进行归集并发送给协议转换模块2112。协议转换模块2112将I2C总线格式的响应消息转换为本地总线格式的命令消息。端口控制模块2111向处理器213或BMC 212发送本地总线格式的响应消息,即将响应消息存储至SRAM,并置位第二标志位,第二标志位用于指示接收到响应消息。处理器213或BMC 212不断查询第二标志位是否置位,当查询到第二标志位置位后,从端口控制模块2111接收(即从SRAM读取)本地总线格式的响应消息;接收完成后处理器213或BMC 212置位第三标志位,第三标志位用于指示完成对响应消息的接收。

保护电路214用于在PLD 211发生逻辑故障(例如静电释放(electro-staticdischarge,ESD)导致管脚异常)、PLD 211的逻辑未被编程(即未烧录程序)或者当前时刻未处于本节点的通信时隙时,断开本节点与背板22的电连接。可以防止本节点的PLD 211发生故障后,将I2C总线拉低并保持低电平,造成整个I2C总线不可用,因此可以避免故障扩散,快速实现故障隔离以及检测。另外,保护电路214还用于在PLD 211正常工作并且当前时刻处于本节点的通信时隙时,恢复本节点与背板22的电连接。保护电路214的软件控制逻辑可以由PLD 211来实现,例如可以由前文所述的防冲突模块来实现。

如图4所示,N个保护电路中的第n个保护电路214包括第一MOS管M1、第二MOS管M2、第一电阻R1、第二电阻R2、第三电阻R3、第四电阻R4、第五电阻R5、第六电阻R6。可选的,还可以包括第一二极管D1、第二二极管D2。n为小于等于N的正整数。

第一MOS管M1的栅极g通过第一电阻R1电连接至PLD 211的第n个控制端CTRn,第二MOS管M2的栅极g通过第二电阻R2电连接至PLD 211的第n个控制端CTRn。

第一MOS管M1的源极s电连接至第三电阻R3的第二端以及PLD 211的第n个时钟信号端PLD_SCKn,第一MOS管M1的漏极d电连接至第四电阻R4的第二端以及与保护电路214电连接的一组背板I2C走线(即N组背板I2C走线中第n组背板I2C走线Ln)的时钟走线CARD_SCKn。时钟信号端PLD_SCK和时钟走线CARD_SCK用于传输I2C总线的时钟信号。

第二MOS管M2的源极s电连接至第五电阻R5的第二端以及PLD 211的第n个数据信号端PLD_SDAn,第一MOS管M1的漏极d电连接至第六电阻R6的第二端以及与保护电路214电连接的一组背板I2C走线(即第n组背板I2C走线Ln)的数据走线CARD_SDAn。数据信号端PLD_SDA和数据走线CARD_SDA用于传输一组I2C总线的数据信号。

第三电阻R3的第一端、第四电阻R4的第一端、第五电阻R5的第一端以及第六电阻R6的第一端电连接至电源正极VCC(例如3.3V)。

可选的,第四电阻R4的第一端还通过第一二极管D1电连接至电源正极VCC,其中,第四电阻R4的第一端电连接至第一二极管D1的阴极,第一二极管D1的阳极电连接至电源正极VCC。可选的,第六电阻R6的第一端还通过第二二极管D2电连接至电源正极VCC,其中,第六电阻R6的第一端电连接至第二二极管D2的阴极,第二二极管D2的阳极电连接至电源正极VCC。第一二极管D1和第二二极管D2用于防止第n组I2C总线上其他节点的电源漏电到本节点,用于电压隔离。

保护电路214利用了MOS管的体二极管特性以及I2C总线的OD特性,PLD 211的第n个控制端CTRn在默认状态下控制第n个保护电路214的第一MOS管M1和第二MOS管M2关断,因此在PLD 211发生逻辑故障、PLD 211的逻辑未被编程或者当前时刻未处于本节点的通信时隙时,PLD 211的第n个控制端CTRn依然控制第n个保护电路214的第一MOS管M1和第二MOS管M2关断。第n个保护电路214输出高阻态,第n组背板I2C走线Ln的时钟走线CARD_SCKn和数据走线CARD_SDAn被第四电阻R4和第六电阻R6上拉至高电平,满足OD特性。本节点的PLD 211不能使用第n组I2C总线,其他节点的PLD 211可以使用第n组I2C总线,本节点不会对第n组I2C总线中其他节点或接口卡产生影响,起到故障隔离的作用。

否则,在PLD 211正常工作且处于本节点的通信时隙时,如果本节点需要使用第n组I2C总线与第n个接口卡23(接口卡n)通信,PLD 211的第n个控制端CTRn控制第n个保护电路214的第一MOS管M1和第二MOS管M2导通,将PLD 211的第n个数据信号端PLD_SDAn和第n个时钟信号端PLD_SCKn电连接至第n组I2C总线,则本节点的PLD 211可以使用第n组I2C总线与第n个接口卡23通信。

本申请实施例提供的服务器和控制方法,一个节点与一个接口卡之间只有一组I2C总线,节省了多个GPIO接口以及对应的背板走线。通过PLD来扇出I2C总线,利用PLD管脚资源丰富的特性,可以模拟出几十组I2C总线,有效解决了BMC扇出的I2C总线路数以及管理接口卡数目都很少的问题。通过背板上的背板I2C走线,每个PLD都可以通过I2C总线挂载所有的接口卡,实现多个节点共享同一接口卡,最大化了接口卡的资源利用率。作为管理芯片的BMC和处理器可以直接通过本地总线访问PLD,发送的命令消息经过PLD即可到达I2C总线,从I2C总线接收的响应消息也仅需要经过PLD,消息仅经过一次转发,提高了消息的传输效率。

服务器可以包含多个上述节点。从而实现多个节点共享所有接口卡。服务器可以是计算服务器、存储服务器或者存储阵列控制器等。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所在领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种识别模组的方法、装置、存储介质和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!