CN117312067A - Network card debugging system, method, equipment and storage medium - Google Patents
Network card debugging system, method, equipment and storage medium Download PDFInfo
- Publication number
- CN117312067A CN117312067A CN202311099793.2A CN202311099793A CN117312067A CN 117312067 A CN117312067 A CN 117312067A CN 202311099793 A CN202311099793 A CN 202311099793A CN 117312067 A CN117312067 A CN 117312067A
- Authority
- CN
- China
- Prior art keywords
- network card
- debugging
- programmable logic
- complex programmable
- logic 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
技术领域Technical field
本发明涉及服务器技术领域,特别是涉及一种网卡调试系统、方法、设备及存储介质。The present invention relates to the field of server technology, and in particular to a network card debugging system, method, equipment and storage medium.
背景技术Background technique
服务器中的网卡(NIC,Network Interface Card)主要用于管理和处理网络流量,通常,在服务器中CPU使用的是外插网卡,根据网卡的形态,网卡可以分为PCIe(PeripheralComponent Interconnect Express,高速串行计算机扩展总线)网卡和OCP(Open ComputeProject,开放计算项目)网卡,网卡与服务器CPU通过PCIe总线进行交互,由于固件升级等应用会导致网卡出现各种问题,因此,需要对网卡进行调试,其中,带内调试是在CPU的操作系统下通过PCIe线进行调试,以收集网卡状态信息,而若出现网卡的PCIe设备丢失或PCIe设备异常,则无法使用带内调试。The network card (NIC, Network Interface Card) in the server is mainly used to manage and process network traffic. Usually, the CPU in the server uses an external network card. According to the form of the network card, the network card can be divided into PCIe (Peripheral Component Interconnect Express, high-speed serial port). Line Computer Extension Bus) network card and OCP (Open Compute Project, Open Compute Project) network card, the network card interacts with the server CPU through the PCIe bus. Since applications such as firmware upgrades will cause various problems with the network card, the network card needs to be debugged, among which , In-band debugging is debugging through the PCIe cable under the CPU's operating system to collect network card status information. If the PCIe device of the network card is lost or the PCIe device is abnormal, in-band debugging cannot be used.
目前,针对无法使用带内调试的情况,采用带外调试接口外接相应的适配器来读取网卡芯片的信息,这种带外调试需要拆开服务器机箱,插上适配器,在用户现场机柜上操作非常不便且会破坏服务器的故障现场,从而影响网卡调试的效率。Currently, for situations where in-band debugging cannot be used, the out-of-band debugging interface is used to connect the corresponding adapter to read the network card chip information. This kind of out-of-band debugging requires disassembling the server chassis and plugging in the adapter, which is very difficult to operate on the user's on-site cabinet. It is inconvenient and will destroy the fault site of the server, thereby affecting the efficiency of network card debugging.
发明内容Contents of the invention
有鉴于此,本发明旨在提出一种网卡调试系统、方法、设备及存储介质,解决现有的带外调试操作不便且会破坏服务器的故障现场,影响网卡调试效率的问题,实现对网卡的高效调试。In view of this, the present invention aims to propose a network card debugging system, method, equipment and storage medium to solve the problem that the existing out-of-band debugging operation is inconvenient and will destroy the fault site of the server, affecting the efficiency of network card debugging, and realize the debugging of the network card. Efficient debugging.
依据本发明的第一方面,提供了一种网卡调试系统,所述系统包括网卡和基板管理控制器,所述网卡内配置有网卡芯片和复杂可编程逻辑器件,所述复杂可编程逻辑器件分别连接所述基板管理控制器和所述网卡芯片;According to the first aspect of the present invention, a network card debugging system is provided. The system includes a network card and a baseboard management controller. The network card is equipped with a network card chip and a complex programmable logic device. The complex programmable logic device is configured respectively. Connect the baseboard management controller and the network card chip;
所述复杂可编程逻辑器件用于响应于所述基板管理控制器下发的配置指令,确定所述复杂可编程逻辑器件和所述网卡芯片互联的目标调试接口,通过所述目标调试接口读取所述网卡芯片的状态信息;The complex programmable logic device is configured to determine a target debugging interface for interconnection between the complex programmable logic device and the network card chip in response to a configuration instruction issued by the baseboard management controller, and read through the target debugging interface. Status information of the network card chip;
所述基板管理控制器用于通过所述复杂可编程逻辑器件获取所述网卡芯片的状态信息,对所述网卡进行调试。The baseboard management controller is used to obtain the status information of the network card chip through the complex programmable logic device and debug the network card.
可选地,所述网卡芯片设置有多种类型的带外调试接口,所述网卡芯片通过所述带外调试接口与所述复杂可编程逻辑器件互联。Optionally, the network card chip is provided with multiple types of out-of-band debugging interfaces, and the network card chip is interconnected with the complex programmable logic device through the out-of-band debugging interfaces.
可选地,所述复杂可编程逻辑器件包括预设逻辑模块,所述预设逻辑模块是预先根据所述复杂可编程逻辑器件与所述网卡芯片互联的带外调试接口类型生成的,用于连通目标调试接口,读取所述网卡芯片的状态信息。Optionally, the complex programmable logic device includes a preset logic module, which is generated in advance according to the type of out-of-band debugging interface interconnected between the complex programmable logic device and the network card chip, for Connect to the target debugging interface and read the status information of the network card chip.
可选地,所述网卡还配置有金手指,所述复杂可编程逻辑器件采用系统管理总线,通过所述金手指连接至所述基板管理控制器。Optionally, the network card is also configured with a gold finger, and the complex programmable logic device uses a system management bus to be connected to the baseboard management controller through the gold finger.
可选地,所述基板管理控制器用于通过所述系统管理总线下发配置指令和调试信号至所述复杂可编程逻辑器件,以对所述网卡进行远程调试。Optionally, the baseboard management controller is configured to issue configuration instructions and debugging signals to the complex programmable logic device through the system management bus to remotely debug the network card.
依据本发明的第二方面,提供了一种网卡调试方法,应用于上述网卡调试系统,所述方法包括:According to the second aspect of the present invention, a network card debugging method is provided, which is applied to the above-mentioned network card debugging system. The method includes:
响应于所述基板管理控制器下发的配置指令,确定所述复杂可编程逻辑器件和所述网卡芯片互联的目标调试接口;其中,所述配置指令用于指示所述网卡芯片的带外调试接口类型;In response to the configuration instruction issued by the baseboard management controller, determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip; wherein the configuration instruction is used to instruct out-of-band debugging of the network card chip Interface Type;
通过所述目标调试接口读取所述网卡芯片的状态信息;Read the status information of the network card chip through the target debugging interface;
响应于所述基板管理控制器下发的调试信号,获取所述网卡芯片的状态信息,以使所述基板管理控制器根据所述状态信息对网卡进行调试。In response to the debugging signal sent by the baseboard management controller, the status information of the network card chip is obtained, so that the baseboard management controller debugs the network card according to the status information.
可选地,所述响应于所述基板管理控制器下发的配置指令,确定所述复杂可编程逻辑器件和所述网卡芯片互联的目标调试接口,包括:Optionally, in response to a configuration instruction issued by the baseboard management controller, determining a target debugging interface for interconnection between the complex programmable logic device and the network card chip includes:
获取所述网卡芯片的带外调试接口类型,通过所述基板管理控制器生成配置指令;Obtain the out-of-band debugging interface type of the network card chip, and generate configuration instructions through the baseboard management controller;
将所述配置指令下发至所述复杂可编程逻辑器件;Issue the configuration instructions to the complex programmable logic device;
通过所述复杂可编程逻辑器件的预设逻辑块,确定所述复杂可编程逻辑器件和所述网卡芯片互联的目标调试接口。Through the preset logic blocks of the complex programmable logic device, the target debugging interface for interconnection between the complex programmable logic device and the network card chip is determined.
可选地,所述响应于所述基板管理控制器下发的调试信号,获取所述网卡芯片的状态信息,以使所述基板管理控制器根据所述状态信息对所述网卡进行调试,包括:Optionally, in response to a debugging signal issued by the baseboard management controller, obtaining status information of the network card chip so that the baseboard management controller debugs the network card according to the status information includes: :
接收所述基板管理控制器下发的调试信号;其中,所述调试信号用于指示复杂可编程逻辑器件对所述网卡芯片进行信息读取。Receive a debugging signal issued by the baseboard management controller; wherein the debugging signal is used to instruct the complex programmable logic device to read information from the network card chip.
根据所述调试信号,通过所述复杂可编程逻辑器件读取所述网卡芯片的状态信息;According to the debugging signal, read the status information of the network card chip through the complex programmable logic device;
将所述网卡芯片的状态信息存储至所述复杂可编程逻辑器件;Store the status information of the network card chip to the complex programmable logic device;
通过所述基板管理控制器获取所述复杂可编程逻辑器件存储的所述状态信息;Obtain the status information stored in the complex programmable logic device through the baseboard management controller;
根据所述状态信息,通过所述基板管理控制器对所述网卡进行远程调试。According to the status information, the network card is remotely debugged through the baseboard management controller.
根据本发明的又一方面,还提供一种电子设备,包括:According to another aspect of the present invention, an electronic device is also provided, including:
处理器;processor;
用于存储所述处理器可执行指令的存储器;memory for storing instructions executable by the processor;
其中,所述处理器被配置为执行所述指令,以实现如上所述的网卡调试方法。Wherein, the processor is configured to execute the instruction to implement the network card debugging method as described above.
根据本发明的又一方面,还提供一种可读存储介质,所述可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的网卡调试方法的步骤。According to another aspect of the present invention, a readable storage medium is also provided. A computer program is stored on the readable storage medium. When the computer program is executed by a processor, the steps of the network card debugging method as described above are implemented.
本发明实施例提供的网卡调试系统,该系统包括网卡和基板管理控制器,网卡内配置有网卡芯片和复杂可编程逻辑器件,复杂可编程逻辑器件分别连接基板管理控制器和网卡芯片,用于响应于基板管理控制器下发的配置指令,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口,通过目标调试接口读取网卡芯片的状态信息,基板管理控制器用于通过复杂可编程逻辑器件获取网卡芯片的状态信息,对网卡进行调试。本发明通过在网卡中增加复杂可编程逻辑器件CPLD芯片,用CPLD充当中转站连接基板管理控制器和网卡芯片,从而基板管理控制器仅需访问CPLD,经CPLD中转至网卡芯片即可实现网卡的带外调试,无需拆卸服务器,避免在现场机柜上操作破坏服务器的故障现场的问题,实现网卡的远程带外调试,大大提高了网卡的调试效率。The network card debugging system provided by the embodiment of the present invention includes a network card and a baseboard management controller. The network card is equipped with a network card chip and a complex programmable logic device. The complex programmable logic device is connected to the baseboard management controller and the network card chip respectively. In response to the configuration instructions issued by the baseboard management controller, determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip, and read the status information of the network card chip through the target debugging interface. The baseboard management controller is used to pass the complex programmable logic device Obtain the status information of the network card chip and debug the network card. The present invention adds a complex programmable logic device CPLD chip to the network card, and uses the CPLD as a transfer station to connect the baseboard management controller and the network card chip. Therefore, the baseboard management controller only needs to access the CPLD and relay to the network card chip through the CPLD to realize the network card. Out-of-band debugging eliminates the need to disassemble the server, avoids the problem of on-site cabinet operations that damage the server, and enables remote out-of-band debugging of the network card, which greatly improves the debugging efficiency of the network card.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solution of the present invention. In order to have a clearer understanding of the technical means of the present invention, it can be implemented according to the content of the description, and in order to make the above and other objects, features and advantages of the present invention more obvious and understandable. , the specific embodiments of the present invention are listed below.
附图说明Description of drawings
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are for the purpose of illustrating preferred embodiments only and are not to be construed as limiting the invention. Also throughout the drawings, the same reference characters are used to designate the same components. In the attached picture:
图1是本发明实施例提供的一种网卡调试系统的结构示意图;Figure 1 is a schematic structural diagram of a network card debugging system provided by an embodiment of the present invention;
图2是本发明实施例提供的一种网卡调试系统的示意图;Figure 2 is a schematic diagram of a network card debugging system provided by an embodiment of the present invention;
图3是本发明实施例提供的一种网卡调试方法的步骤流程图;Figure 3 is a step flow chart of a network card debugging method provided by an embodiment of the present invention;
图4是图3中本发明实施例提供的一种网卡调试方法的步骤301的流程图;Figure 4 is a flow chart of step 301 of the network card debugging method provided by the embodiment of the present invention in Figure 3;
图5是图3中本发明实施例提供的一种网卡调试方法的步骤303的流程图;Figure 5 is a flow chart of step 303 of the network card debugging method provided by the embodiment of the present invention in Figure 3;
图6是本发明实施例提供的一种电子设备的结构示意图。Figure 6 is a schematic structural diagram of an electronic device provided by an embodiment of the present invention.
附图标记:Reference signs:
10-基板管理控制器,20-网卡,201-复杂可编程逻辑器件,202-网卡芯片,203-金手指。10-Baseboard management controller, 20-Network card, 201-Complex programmable logic device, 202-Network card chip, 203-Golden finger.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。In order to make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, each implementation mode of the present invention will be described in detail below with reference to the accompanying drawings. However, those of ordinary skill in the art will understand that in various embodiments of the present invention, many technical details are provided to enable readers to better understand the present application. However, even without these technical details and various changes and modifications based on the following embodiments, the technical solution claimed in this application can also be implemented. The division of the following embodiments is for convenience of description and should not constitute any limitation on the specific implementation of the present invention. The various embodiments can be combined with each other and quoted from each other on the premise that there is no contradiction.
参照图1,示出了本发明实施例提供的网卡调试系统的结构示意图,所述系统包括网卡和基板管理控制器,所述网卡内配置有网卡芯片和复杂可编程逻辑器件,所述复杂可编程逻辑器件分别连接所述基板管理控制器和所述网卡芯片;Referring to Figure 1, there is shown a schematic structural diagram of a network card debugging system provided by an embodiment of the present invention. The system includes a network card and a baseboard management controller. The network card is configured with a network card chip and a complex programmable logic device. The complex programmable logic device is configured in the network card. Programming logic devices are respectively connected to the baseboard management controller and the network card chip;
所述复杂可编程逻辑器件用于响应于所述基板管理控制器下发的配置指令,确定所述复杂可编程逻辑器件和所述网卡芯片互联的目标调试接口,通过所述目标调试接口读取所述网卡芯片的状态信息;The complex programmable logic device is configured to determine a target debugging interface for interconnection between the complex programmable logic device and the network card chip in response to a configuration instruction issued by the baseboard management controller, and read through the target debugging interface. Status information of the network card chip;
所述基板管理控制器用于通过所述复杂可编程逻辑器件获取所述网卡芯片的状态信息,对所述网卡进行调试。The baseboard management controller is used to obtain the status information of the network card chip through the complex programmable logic device and debug the network card.
本发明实施例中,为解决服务器在机房运行时出现网卡故障,且无法使用带内调试,使用带外调试需拆服务器焊接线路,破坏故障现场的问题,本实施例采用服务器中的基板管理控制器对网卡芯片进行带外调试,并且在网卡中配置复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD),复杂可编程逻辑器件作为中间桥,分别连接基板管理控制器和网卡芯片,以使基板管理控制器利用复杂可编程逻辑器件获取到网卡芯片的状态信息,对网卡进行带外调试,实现无需拆卸服务器,无需焊接线路,完全保留故障现场,即可收集到网卡芯片的相关信息,提高网卡调试效率,且操作简便,易于推广。In the embodiment of the present invention, in order to solve the problem that a network card failure occurs when the server is running in the computer room, and in-band debugging cannot be used, and out-of-band debugging requires dismantling the server welding line and damaging the fault site, this embodiment uses the substrate management control in the server The controller performs out-of-band debugging on the network card chip, and configures a complex programmable logic device (CPLD) in the network card. The complex programmable logic device serves as an intermediate bridge and connects the baseboard management controller and the network card chip respectively to enable baseboard management. The controller uses complex programmable logic devices to obtain the status information of the network card chip, and performs out-of-band debugging on the network card. This eliminates the need to disassemble the server and weld the lines. The fault site is completely retained, and relevant information about the network card chip can be collected to improve network card debugging. Efficient, easy to operate and easy to promote.
需要说明的是,服务器的CPU通常采用外插网卡,根据网卡形态可以分为PCIe网卡和OCP网卡,PCIe网卡和OCP网卡是一种标准品,通过金手指和服务器互联,在协议规范中定义了每根金手指的信号,网卡芯片的带外调试口通常是I2C(Inter-Integrated Circuit,内部集成电路)或者UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器),本发明实施例的网卡可以包括但不限于上述两种网卡,本实施例以此为例进行说明,对网卡的具体类型和型号不作具体限定。It should be noted that the CPU of the server usually uses an external network card. According to the form of the network card, it can be divided into PCIe network card and OCP network card. PCIe network card and OCP network card are a kind of standard products. They are interconnected with the server through golden fingers and are defined in the protocol specification. For each golden finger signal, the out-of-band debugging port of the network card chip is usually I2C (Inter-Integrated Circuit) or UART (Universal Asynchronous Receiver/Transmitter). The network card in the embodiment of the present invention can Including but not limited to the above two types of network cards, this embodiment takes this as an example for explanation, and the specific type and model of the network card is not specifically limited.
本发明实施例中,将网卡芯片的带外调试口连接至复杂可编程逻辑器件,具体来说,网卡的面板通常必须要配备以太网接口、各类指示灯、光口等,留给调试接口的空间极其受限,而调试接口是开发和调试过程中必要的手段,本实施例中复杂可编程逻辑器件与网卡芯片连接端通过I2C或者UART接口互联,另一端通过SMBus总线连接PCIe金手指,最终通过金手指接至服务器的BMC。其中,CPLD作为中间桥片衔接BMC和网卡芯片,这样就可以通过BMC对网卡芯片进行带外调试。In the embodiment of the present invention, the out-of-band debugging port of the network card chip is connected to the complex programmable logic device. Specifically, the panel of the network card must usually be equipped with an Ethernet interface, various indicator lights, optical ports, etc., leaving the debugging interface The space is extremely limited, and the debugging interface is a necessary means in the development and debugging process. In this embodiment, the complex programmable logic device and the network card chip connection end are interconnected through the I2C or UART interface, and the other end is connected to the PCIe golden finger through the SMBus bus. Finally, it is connected to the BMC of the server through the golden finger. Among them, CPLD serves as an intermediate bridge piece to connect the BMC and the network card chip, so that the network card chip can be debugged out of band through the BMC.
本发明实施例中,具体的,复杂可编程逻辑器件连接基板管理控制器,用于响应于基板管理控制器下发的配置指令,首先确定出复杂可编程逻辑器件和网卡芯片互联的目标调试接口,再通过目标调试接口读取网卡芯片的状态信息,可以将网卡芯片的状态信息存储在复杂可编程逻辑器件,在基板管理控制器需要调试网卡时,从复杂可编程逻辑器件获取存储的网卡芯片的状态信息,进行网卡调试。In the embodiment of the present invention, specifically, the complex programmable logic device is connected to the baseboard management controller, and is used to first determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip in response to the configuration instructions issued by the baseboard management controller. , and then read the status information of the network card chip through the target debugging interface. The status information of the network card chip can be stored in the complex programmable logic device. When the baseboard management controller needs to debug the network card, the stored network card chip is obtained from the complex programmable logic device. status information to perform network card debugging.
本发明实施例提供的网卡调试系统,该系统包括网卡和基板管理控制器,网卡内配置有网卡芯片和复杂可编程逻辑器件,复杂可编程逻辑器件分别连接基板管理控制器和网卡芯片,用于响应于基板管理控制器下发的配置指令,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口,通过目标调试接口读取网卡芯片的状态信息,基板管理控制器用于通过复杂可编程逻辑器件获取网卡芯片的状态信息,对网卡进行调试。本发明通过在网卡中增加复杂可编程逻辑器件CPLD芯片,用CPLD充当中转站连接基板管理控制器和网卡芯片,从而基板管理控制器仅需访问CPLD,经CPLD中转至网卡芯片即可实现网卡的带外调试,无需拆卸服务器,避免在现场机柜上操作破坏服务器的故障现场的问题,实现网卡的远程带外调试,大大提高了网卡的调试效率。The network card debugging system provided by the embodiment of the present invention includes a network card and a baseboard management controller. The network card is equipped with a network card chip and a complex programmable logic device. The complex programmable logic device is connected to the baseboard management controller and the network card chip respectively. In response to the configuration instructions issued by the baseboard management controller, determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip, and read the status information of the network card chip through the target debugging interface. The baseboard management controller is used to pass the complex programmable logic device Obtain the status information of the network card chip and debug the network card. The present invention adds a complex programmable logic device CPLD chip to the network card, and uses the CPLD as a transfer station to connect the baseboard management controller and the network card chip. Therefore, the baseboard management controller only needs to access the CPLD and relay to the network card chip through the CPLD to realize the network card. Out-of-band debugging eliminates the need to disassemble the server, avoids the problem of on-site cabinet operations that damage the server, and enables remote out-of-band debugging of the network card, which greatly improves the debugging efficiency of the network card.
具体的,网卡芯片设置有多种类型的带外调试接口,网卡芯片通过带外调试接口与复杂可编程逻辑器件互联。Specifically, the network card chip is equipped with multiple types of out-of-band debugging interfaces, and the network card chip is interconnected with complex programmable logic devices through the out-of-band debugging interface.
本发明实施例中,网卡芯片设置有多种类型的带外调试接口,网卡芯片的带外调试口通常是I2C或者UART,I2C接口在物理上由SCL和SDA信号组成,UART接口由TX和RX信号组成,所需的信号数量是相同的,因此电气上是可以兼容的,网卡芯片通过带外调试接口与复杂可编程逻辑器件互联。In the embodiment of the present invention, the network card chip is provided with multiple types of out-of-band debugging interfaces. The out-of-band debugging interface of the network card chip is usually I2C or UART. The I2C interface is physically composed of SCL and SDA signals, and the UART interface is composed of TX and RX. The signal composition and the required number of signals are the same, so they are electrically compatible. The network card chip is interconnected with the complex programmable logic device through the out-of-band debugging interface.
需要说明的是,复杂可编程逻辑器件CPLD与网卡芯片之间通过I2C或者UART互联,其都是双线制,在物理信号上是兼容的,本发明实施例对带外调试接口包括但不限于FPGA调试用、BMC调试用UART(Universal AsynchronousReceiver/Transmitter,通用异步收发传输器,串口)接口,还可以集成了网卡上必要的调试接口。It should be noted that the complex programmable logic device CPLD and the network card chip are interconnected through I2C or UART, which are two-wire systems and are compatible in terms of physical signals. The out-of-band debugging interfaces of the embodiment of the present invention include but are not limited to The UART (Universal Asynchronous Receiver/Transmitter, Universal Asynchronous Receiver/Transmitter, serial port) interface is used for FPGA debugging and BMC debugging. It can also integrate the necessary debugging interface on the network card.
优选的,本实施例可以在网卡芯片外设置调试连接模块,调试连接模块,包含用于实现多功能调试接口与复杂可编程逻辑器件之间信息传输的传输模块(如连接器、电平转换模块等),用于在BMC进行网卡调试时,调试连接模块能够利用复杂可编程逻辑器件CPLD与各种类型的网卡芯片带外调试接口之间进行信息传输,保证实现多功能的网卡调试。具体的,当CPLD需要发送信息至网卡芯片时,则可以将信息发送至调试连接模块,调试连接模块将信息转发至网卡芯片,相反的,当网卡芯片需要传输网卡状态信息至对其进行调试的BMC时,则可以将信息发送至调试连接模块,调试连接模块将信息转发至CPLD,由CPLD最终将信息转发给BMC,由此实现调试过程中的信息传输。Preferably, in this embodiment, a debugging connection module can be set outside the network card chip. The debugging connection module includes a transmission module (such as a connector, a level conversion module) for realizing information transmission between a multi-functional debugging interface and a complex programmable logic device. etc.), used for network card debugging in BMC, the debugging connection module can use complex programmable logic devices CPLD and various types of network card chip out-of-band debugging interfaces to transmit information to ensure multi-functional network card debugging. Specifically, when the CPLD needs to send information to the network card chip, it can send the information to the debugging connection module, and the debugging connection module forwards the information to the network card chip. On the contrary, when the network card chip needs to transmit the network card status information to the debugger, When using the BMC, the information can be sent to the debugging connection module. The debugging connection module forwards the information to the CPLD, and the CPLD finally forwards the information to the BMC, thereby realizing information transmission during the debugging process.
本发明实施例中,网卡芯片通过带外调试接口与复杂可编程逻辑器件互联,由于多种类型的带外调试接口在电气上是可以兼容的,降低了CPLD获取各种网卡芯片状态信息的难度,提高了网卡调试系统的实用性,能够在满足带外调试需求的同时节省智能网卡的空间。In the embodiment of the present invention, the network card chip is interconnected with the complex programmable logic device through an out-of-band debugging interface. Since multiple types of out-of-band debugging interfaces are electrically compatible, it reduces the difficulty for CPLD to obtain status information of various network card chips. , which improves the practicality of the network card debugging system and can save the space of the smart network card while meeting the out-of-band debugging requirements.
具体的,复杂可编程逻辑器件包括预设逻辑模块,所述预设逻辑模块是预先根据所述复杂可编程逻辑器件与所述网卡芯片互联的带外调试接口类型生成的,用于连通目标调试接口,读取所述网卡芯片的状态信息。Specifically, the complex programmable logic device includes a preset logic module, which is generated in advance according to the type of out-of-band debugging interface interconnected between the complex programmable logic device and the network card chip, and is used for connecting target debugging. interface to read the status information of the network card chip.
本发明实施例中,由于多种类型的带外调试接口在电气上是可以兼容的,CPLD芯片可以由HDL语言预先生成逻辑块,预设逻辑模块是预先根据所述复杂可编程逻辑器件与所述网卡芯片互联的带外调试接口类型生成的,用于连通目标调试接口,读取所述网卡芯片的状态信息。In the embodiment of the present invention, since multiple types of out-of-band debugging interfaces are electrically compatible, the CPLD chip can pre-generate logic blocks in HDL language, and the preset logic modules are pre-set according to the complex programmable logic device and the The out-of-band debugging interface type generated by the network card chip interconnection is used to connect to the target debugging interface and read the status information of the network card chip.
具体的,本实施例中根据CPLD与网卡芯片的互联接口,可以编写UART逻辑块和I2C逻辑块,这样一套CPLD代码可以兼容I2C和UART接口,无需根据网卡接口的类型对CPLD进行再次编程,在提高调试效率的基础上,也最大程度上保存现场。Specifically, in this embodiment, according to the interconnection interface between the CPLD and the network card chip, the UART logic block and the I2C logic block can be written. In this way, a set of CPLD codes can be compatible with the I2C and UART interfaces, and there is no need to reprogram the CPLD according to the type of the network card interface. On the basis of improving debugging efficiency, the scene is also preserved to the greatest extent.
需要说明的是,参照图2所示的网卡调试系统的示意图,以I2C逻辑块为例进行说明,其中,从CPLD与网卡芯片的I2C从属关系上看,CPLD属于主设备,网卡芯片属于从设备,编写I2C主逻辑块,用于CPLD与网卡芯片之间的通信;从CPLD与BMC的I2C从属关系上看,BMC属于主设备,编写I2C从逻辑块,用于BMC和CPLD之间的通信,此时CPLD属于从设备。It should be noted that, with reference to the schematic diagram of the network card debugging system shown in Figure 2, the I2C logic block is used as an example. From the perspective of the I2C subordinate relationship between the CPLD and the network card chip, the CPLD belongs to the master device and the network card chip belongs to the slave device. , write the I2C master logic block for communication between CPLD and the network card chip; from the I2C subordinate relationship between CPLD and BMC, BMC belongs to the master device, write the I2C slave logic block for communication between BMC and CPLD, At this time, CPLD belongs to the slave device.
需要说明的是,在CPLD的I2C地址配置中,要根据服务器的BMC到CPLD整个路径上下挂的所有设备的地址进行定义,避免I2C地址冲突。It should be noted that in the I2C address configuration of the CPLD, it must be defined based on the addresses of all devices hanging down the entire path from the server's BMC to the CPLD to avoid I2C address conflicts.
本发明实施例中,复杂可编程逻辑器件设置的预设逻辑模块,实现CPLD代码兼容I2C和UART接口,无需根据网卡芯片的接口类型对CPLD进行再次编程,在提高调试效率的基础上,降低人力物力成本,进一步提高了网卡调试系统的实用性。In the embodiment of the present invention, the preset logic module set by the complex programmable logic device realizes that the CPLD code is compatible with I2C and UART interfaces. There is no need to reprogram the CPLD according to the interface type of the network card chip. On the basis of improving debugging efficiency, it reduces manpower The material cost further improves the practicality of the network card debugging system.
具体的,网卡还配置有金手指,复杂可编程逻辑器件采用系统管理总线,通过金手指连接至基板管理控制器。Specifically, the network card is also equipped with a gold finger. The complex programmable logic device uses a system management bus and is connected to the baseboard management controller through the gold finger.
本发明实施例中,网卡还配置有金手指,金手指上有SMBus接口,使得复杂可编程逻辑器件采用系统管理总线SMBus,通过金手指的SMBus接口连接至基板管理控制器,实现基板管理控制器与复杂可编程逻辑器件的通信连接,以便于基板管理控制器通过复杂可编程逻辑器件,获取网卡芯片的状态信息,对网卡进行调试,实现网卡的高效带外调试。In the embodiment of the present invention, the network card is also equipped with a gold finger, and there is an SMBus interface on the gold finger, so that the complex programmable logic device uses the system management bus SMBus and is connected to the baseboard management controller through the SMBus interface of the gold finger to implement the baseboard management controller. The communication connection with the complex programmable logic device allows the baseboard management controller to obtain the status information of the network card chip through the complex programmable logic device, debug the network card, and realize efficient out-of-band debugging of the network card.
具体的,基板管理控制器用于通过系统管理总线下发配置指令和调试信号至复杂可编程逻辑器件,以对网卡进行远程调试。Specifically, the baseboard management controller is used to issue configuration instructions and debugging signals to complex programmable logic devices through the system management bus to remotely debug the network card.
需要说明的是,在服务器产品中,由于其功能复杂,故障率也比较高,也存在固件定期升级的情况,当网卡发生严重问题无法使用带内调试时,当前的网卡产品在应用现场使用带外调试通常需要拆卸服务器,焊接电路,实际上这是不可行的,通常是退回厂商或由厂商自行复现,降低了客户满意度,也无法第一时间收集现场信息,本实施例采用服务器中的基板管理控制器的远程控制功能,通过系统管理总线下发配置指令和调试信号至复杂可编程逻辑器件,以使杂可编程逻辑器件读取网卡芯片的状态信息,从而使得基板管理控制器依据获取的状态信息,对网卡进行远程调试。It should be noted that in server products, due to their complex functions, the failure rate is relatively high, and there are also cases where the firmware is regularly upgraded. When serious problems occur with the network card and in-band debugging cannot be used, the current network card products use band debugging at the application site. External debugging usually requires dismantling the server and welding the circuit. In fact, this is not feasible. It is usually returned to the manufacturer or reproduced by the manufacturer itself, which reduces customer satisfaction and cannot collect on-site information in the first time. This embodiment uses the server The remote control function of the baseboard management controller sends configuration instructions and debugging signals to the complex programmable logic device through the system management bus, so that the complex programmable logic device reads the status information of the network card chip, so that the baseboard management controller can Obtain the status information and perform remote debugging on the network card.
本发明实施例中,BMC访问CPLD,再经CPLD中转至网卡芯片,即可实现带外调试,并且BMC也会接入以太网,从而可以实现远程带外调试,无需拆卸服务器,无需网卡返厂,大大提高了故障的解决失效,最小程度影响用户的使用。In the embodiment of the present invention, the BMC accesses the CPLD and then transfers it to the network card chip through the CPLD to achieve out-of-band debugging. The BMC will also access the Ethernet, thereby enabling remote out-of-band debugging without the need to disassemble the server or return the network card to the factory. , greatly improving the troubleshooting failure and minimizing the impact on the user's use.
参照图3,示出了本发明实施例提供的网卡调试方法的步骤流程图,应用于图1所示的网卡调试系统,所述方法可以包括:Referring to Figure 3, there is shown a step flow chart of a network card debugging method provided by an embodiment of the present invention, which is applied to the network card debugging system shown in Figure 1. The method may include:
步骤301,响应于基板管理控制器下发的配置指令,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口。Step 301: In response to the configuration instruction issued by the baseboard management controller, determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip.
其中,配置指令用于指示网卡芯片的带外调试接口类型;Among them, the configuration instruction is used to indicate the out-of-band debugging interface type of the network card chip;
本发明实施例提供的网卡调试方法,应用于网卡调试系统,该系统包括网卡和基板管理控制器,网卡内配置有网卡芯片和复杂可编程逻辑器件,复杂可编程逻辑器件分别连接基板管理控制器和网卡芯片,用于响应于基板管理控制器下发的配置指令,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口,通过目标调试接口读取网卡芯片的状态信息,基板管理控制器用于通过复杂可编程逻辑器件获取网卡芯片的状态信息,对网卡进行调试。上述网卡调试系统的具体实施过程参照前序所述,在此不再赘述。The network card debugging method provided by the embodiment of the present invention is applied to a network card debugging system. The system includes a network card and a baseboard management controller. The network card is equipped with a network card chip and a complex programmable logic device. The complex programmable logic devices are respectively connected to the baseboard management controller. and network card chip, used to respond to the configuration instructions issued by the baseboard management controller, determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip, and read the status information of the network card chip through the target debugging interface. The baseboard management controller is used to Obtain the status information of the network card chip through complex programmable logic devices and debug the network card. The specific implementation process of the above-mentioned network card debugging system refers to the foregoing description and will not be repeated here.
本发明实施例中,网卡调试系统包括网卡和基板管理控制器,网卡内配置有网卡芯片和复杂可编程逻辑器件,复杂可编程逻辑器件分别连接基板管理控制器和网卡芯片。In the embodiment of the present invention, the network card debugging system includes a network card and a baseboard management controller. The network card is equipped with a network card chip and a complex programmable logic device. The complex programmable logic device is connected to the baseboard management controller and the network card chip respectively.
具体的,当服务器出现故障或异常时,基板管理控制器能够依据复杂可编程逻辑器件和网卡芯片的带外调试接口类型生成配置指令,将配置指令下发至复杂可编程逻辑器件,用于指示复杂可编程逻辑器件启动目标预设逻辑模块,其中,配置指令用于指示网卡芯片的带外调试接口类型,即复杂可编程逻辑器件响应于基板管理控制器下发的配置指令,根据配置指令指示的带外调试接口类型,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口,从而启动目标预设逻辑模块。Specifically, when a server fails or is abnormal, the baseboard management controller can generate configuration instructions based on the complex programmable logic device and the out-of-band debugging interface type of the network card chip, and issue the configuration instructions to the complex programmable logic device for instructions. The complex programmable logic device starts the target preset logic module, where the configuration instruction is used to indicate the out-of-band debugging interface type of the network card chip, that is, the complex programmable logic device responds to the configuration instruction issued by the baseboard management controller, and according to the configuration instruction instruction The out-of-band debugging interface type determines the target debugging interface for interconnection between the complex programmable logic device and the network card chip, thereby starting the target preset logic module.
需要说明的是,可以通过网卡上的复杂可编程逻辑器件对网卡的在位信号进行监测,并根据在位信号设置对网卡调试之前的配置指令,以对复杂可编程逻辑器件和网卡芯片的目标调试接口进行互联配置。It should be noted that the presence signal of the network card can be monitored through the complex programmable logic device on the network card, and the configuration instructions before debugging the network card can be set according to the presence signal to target the complex programmable logic device and the network card chip. Debug interface for interconnection configuration.
示例的,复杂可编程逻辑器件可以由HDL语言生成逻辑块,根据复杂可编程逻辑器件与网卡芯片的带外调试接口,编写UART逻辑块和I2Cmaster逻辑块,在CPLD的I2C地址配置中,要根据服务器的BMC到CPLD整个路径上下挂的所有设备的地址进行定义,避免I2C地址冲突。这样一套复杂可编程逻辑器件CPLD代码可以兼容I2C和UART接口,无需根据网卡接口的类型对复杂可编程逻辑器件进行再次编程,在提高调试效率的基础上,也最大程度上保存现场。For example, complex programmable logic devices can generate logic blocks by HDL language, and write UART logic blocks and I2Cmaster logic blocks based on the out-of-band debugging interface between complex programmable logic devices and network card chips. In the I2C address configuration of CPLD, it must be based on Define the addresses of all devices on the entire path from the server's BMC to the CPLD to avoid I2C address conflicts. Such a complex programmable logic device CPLD code is compatible with I2C and UART interfaces. There is no need to reprogram the complex programmable logic device according to the type of network card interface. On the basis of improving debugging efficiency, it also saves the scene to the greatest extent.
步骤302,通过目标调试接口读取网卡芯片的状态信息。Step 302: Read the status information of the network card chip through the target debugging interface.
本发明实施例中,在确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口之后,复杂可编程逻辑器件通过目标调试接口读取网卡芯片的状态信息,其中,网卡芯片的状态信息包括网卡芯片的在位状态、上下电状态等信息。In the embodiment of the present invention, after determining the target debugging interface for interconnection between the complex programmable logic device and the network card chip, the complex programmable logic device reads the status information of the network card chip through the target debugging interface, where the status information of the network card chip includes the network card chip In-place status, power on and off status and other information.
本实施例利用复杂可编程逻辑器件和网卡芯片进行通信连接后,可以通过目标调试接口进行信息传输,实现对网卡的功能检测,根据监测到的在位状态以及上下电状态等状态信息,触发基板管理控制器下发对网卡的调试信号。In this embodiment, after the complex programmable logic device and the network card chip are used for communication connection, information can be transmitted through the target debugging interface to realize the function detection of the network card, and the substrate can be triggered based on the monitored status information such as in-position status and power-on/off status. The management controller issues debugging signals to the network card.
需要说明的是,复杂可编程逻辑器件用于实现网卡的在位检测、上下电控制、时钟控制、带宽分配和复位等功能检测。复杂可编程逻辑器件根据网卡带外调试接口的类型,经过I2C或UART接口从网卡芯片中读取数据,并保存在内部逻辑单元中,等待基板管理控制器在调试时直接读取。It should be noted that complex programmable logic devices are used to implement function detection such as network card presence detection, power on and off control, clock control, bandwidth allocation and reset. The complex programmable logic device reads data from the network card chip through the I2C or UART interface according to the type of the network card out-of-band debugging interface, and saves it in the internal logic unit, waiting for the baseboard management controller to read it directly during debugging.
步骤303,响应于基板管理控制器下发的调试信号,获取网卡芯片的状态信息,以使基板管理控制器根据状态信息对网卡进行调试。Step 303: In response to the debugging signal sent by the baseboard management controller, obtain the status information of the network card chip, so that the baseboard management controller debugs the network card according to the status information.
本发明实施例中,复杂可编程逻辑器件响应于基板管理控制器下发的调试信号,获取自身存储的网卡芯片的状态信息,将网卡芯片的状态信息回传至基板管理控制器,以使基板管理控制器根据状态信息对网卡进行调试。In the embodiment of the present invention, the complex programmable logic device responds to the debugging signal issued by the baseboard management controller, obtains the status information of the network card chip stored in itself, and transmits the status information of the network card chip back to the baseboard management controller, so that the baseboard management controller The management controller debugs the network card based on the status information.
需要说明的是,本发明实施例对基板管理控制器获取网卡芯片的状态信息的方式不作具体限定,本实施例以复杂可编程逻辑器件预先存储后回传至基板管理控制器为例进行说明,也可以是基板管理控制器控制复杂可编程逻辑器件实时获取,再从复杂可编程逻辑器件主动读取,本实施例可以是任意一种基板管理控制器获取网卡芯片的状态信息的方式,以使基板管理控制器根据状态信息对网卡进行调试即可,在此不再一一赘述。It should be noted that the embodiment of the present invention does not specifically limit the way in which the baseboard management controller obtains the status information of the network card chip. This embodiment uses a complex programmable logic device to pre-store and then transmit it back to the baseboard management controller as an example for illustration. It can also be that the baseboard management controller controls the complex programmable logic device to obtain it in real time, and then actively reads it from the complex programmable logic device. This embodiment can be any way for the baseboard management controller to obtain the status information of the network card chip, so that The baseboard management controller can debug the network card based on the status information, which will not be described in detail here.
具体的,复杂可编程逻辑器件还可以配置在线升级功能,当复杂可编程逻辑器件的固件需要更新时,基板管理控制器可以通过SMBus接口对复杂可编程逻辑器件进行固件升级,无需断电、无需拆机,大大提高了复杂可编程逻辑器件的可维护性。Specifically, complex programmable logic devices can also be configured with an online upgrade function. When the firmware of the complex programmable logic device needs to be updated, the baseboard management controller can upgrade the firmware of the complex programmable logic device through the SMBus interface without powering off or Disassembly greatly improves the maintainability of complex programmable logic devices.
本发明实施例提供的网卡调试方法,响应于基板管理控制器下发的配置指令,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口,通过目标调试接口读取网卡芯片的状态信息,响应于基板管理控制器下发的调试信号,获取网卡芯片的状态信息,以使基板管理控制器根据状态信息对网卡进行调试。本发明实施例通过在网卡中增加复杂可编程逻辑器件CPLD芯片,用CPLD充当中转站连接基板管理控制器和网卡芯片,从而基板管理控制器仅需访问CPLD,经CPLD中转至网卡芯片,基板管理控制器通过下发配置指令和调试信号至复杂可编程逻辑器件,利用复杂可编程逻辑器件获取网卡芯片的状态信息,根据状态信息对网卡进行远程调试,即可实现网卡的带外调试,无需拆卸服务器,避免在现场机柜上操作破坏服务器的故障现场的问题,实现网卡的远程带外调试,大大提高了网卡的调试效率。The network card debugging method provided by the embodiment of the present invention responds to the configuration instructions issued by the baseboard management controller, determines the target debugging interface for interconnection between the complex programmable logic device and the network card chip, reads the status information of the network card chip through the target debugging interface, and responds Obtain the status information of the network card chip based on the debugging signal sent by the baseboard management controller, so that the baseboard management controller can debug the network card based on the status information. In the embodiment of the present invention, a complex programmable logic device CPLD chip is added to the network card, and the CPLD is used as a transfer station to connect the baseboard management controller and the network card chip. Therefore, the baseboard management controller only needs to access the CPLD and relay it to the network card chip through the CPLD. The baseboard management The controller can achieve out-of-band debugging of the network card by issuing configuration instructions and debugging signals to complex programmable logic devices, using the complex programmable logic devices to obtain the status information of the network card chip, and remotely debugging the network card based on the status information, without disassembly. The server avoids the problem of on-site cabinet operation that damages the server and realizes remote out-of-band debugging of the network card, which greatly improves the debugging efficiency of the network card.
进一步的,参照图4,示出了本发明实施例提供的网卡调试方法的步骤301的流程图,所述步骤301响应于基板管理控制器下发的配置指令,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口,可以包括:Further, referring to FIG. 4 , there is shown a flow chart of step 301 of the network card debugging method provided by the embodiment of the present invention. The step 301 determines the complex programmable logic device and the network card in response to the configuration instruction issued by the baseboard management controller. The target debugging interface of chip interconnection can include:
步骤401,获取网卡芯片的带外调试接口类型,通过基板管理控制器生成配置指令。Step 401: Obtain the out-of-band debugging interface type of the network card chip, and generate configuration instructions through the baseboard management controller.
本发明实施例中,在对网卡进行带外调试时,获取网卡芯片的带外调试接口类型,通过基板管理控制器生成配置指令。In the embodiment of the present invention, when performing out-of-band debugging on the network card, the out-of-band debugging interface type of the network card chip is obtained, and the configuration instructions are generated through the baseboard management controller.
具体的,网卡芯片通过带外调试接口与复杂可编程逻辑器件互联,由于多种类型的带外调试接口在电气上是可以兼容的,复杂可编程逻辑器件包括预设逻辑模块,预设逻辑模块是预先根据复杂可编程逻辑器件与网卡芯片互联的带外调试接口类型生成的,用于连通目标调试接口,读取网卡芯片的状态信息,因此,预先根据网卡芯片的带外调试接口类型,通过基板管理控制器生成配置指令,配置指令用于指示网卡芯片的带外调试接口类型。Specifically, the network card chip is interconnected with the complex programmable logic device through the out-of-band debugging interface. Since multiple types of out-of-band debugging interfaces are electrically compatible, the complex programmable logic device includes preset logic modules. It is generated in advance based on the out-of-band debugging interface type that interconnects complex programmable logic devices and network card chips. It is used to connect the target debugging interface and read the status information of the network card chip. Therefore, it is generated in advance based on the out-of-band debugging interface type of the network card chip. The baseboard management controller generates a configuration instruction, and the configuration instruction is used to indicate the out-of-band debugging interface type of the network card chip.
步骤402,将配置指令下发至复杂可编程逻辑器件。Step 402: Send the configuration instruction to the complex programmable logic device.
步骤403,通过复杂可编程逻辑器件的预设逻辑块,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口。Step 403: Determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip through the preset logic blocks of the complex programmable logic device.
本发明实施例中,复杂可编程逻辑器件包括预设逻辑模块,由于多种类型的带外调试接口在电气上是可以兼容的,CPLD芯片可以由HDL语言预先生成逻辑块,预设逻辑模块是预先根据所述复杂可编程逻辑器件与所述网卡芯片互联的带外调试接口类型生成的,用于连通目标调试接口,读取所述网卡芯片的状态信息。In the embodiment of the present invention, the complex programmable logic device includes a preset logic module. Since multiple types of out-of-band debugging interfaces are electrically compatible, the CPLD chip can pre-generate logic blocks in HDL language. The preset logic module is It is generated in advance according to the type of out-of-band debugging interface interconnected between the complex programmable logic device and the network card chip, and is used to connect the target debugging interface and read the status information of the network card chip.
具体的,本实施例中根据CPLD与网卡芯片的互联接口,可以编写UART逻辑块和I2C逻辑块,这样一套CPLD代码可以兼容I2C和UART接口,无需根据网卡接口的类型对CPLD进行再次编程,在提高调试效率的基础上,也最大程度上保存现场。Specifically, in this embodiment, according to the interconnection interface between the CPLD and the network card chip, the UART logic block and the I2C logic block can be written. In this way, a set of CPLD codes can be compatible with the I2C and UART interfaces, and there is no need to reprogram the CPLD according to the type of the network card interface. On the basis of improving debugging efficiency, the scene is also preserved to the greatest extent.
本发明实施例中,通过基板管理控制器生成配置指令,将配置指令下发至复杂可编程逻辑器件,利用复杂可编程逻辑器件的预设逻辑块,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口,实现复杂可编程逻辑器件和网卡芯片之间的通信,降低了CPLD获取各种网卡芯片状态信息的难度,提高了网卡调试系统的实用性。In the embodiment of the present invention, the baseboard management controller generates configuration instructions, sends the configuration instructions to the complex programmable logic device, and uses the preset logic blocks of the complex programmable logic device to determine the interconnection between the complex programmable logic device and the network card chip. The target debugging interface realizes communication between complex programmable logic devices and network card chips, reduces the difficulty for CPLD to obtain status information of various network card chips, and improves the practicality of the network card debugging system.
进一步的,参照图5,示出了本发明实施例提供的网卡调试方法的步骤303的流程图,所述步骤303响应于基板管理控制器下发的调试信号,获取网卡芯片的状态信息,以使基板管理控制器根据状态信息对网卡进行调试,可以包括:Further, referring to FIG. 5 , there is shown a flow chart of step 303 of the network card debugging method provided by the embodiment of the present invention. The step 303 responds to the debugging signal issued by the baseboard management controller and obtains the status information of the network card chip, so as to obtain the status information of the network card chip. Enable the baseboard management controller to debug the network card based on status information, which can include:
步骤501,接收基板管理控制器下发的调试信号。Step 501: Receive the debugging signal sent by the baseboard management controller.
其中,调试信号用于指示复杂可编程逻辑器件对网卡芯片进行信息读取。Among them, the debugging signal is used to instruct the complex programmable logic device to read information from the network card chip.
步骤502,根据调试信号,通过复杂可编程逻辑器件读取网卡芯片的状态信息。Step 502: Read the status information of the network card chip through the complex programmable logic device according to the debugging signal.
本发明实施例中,复杂可编程逻辑器件响应于基板管理控制器下发的调试信号,开始通过目标调试接口直接读取网卡芯片的状态信息,以使基板管理控制器能够根据状态信息对网卡进行调试。In the embodiment of the present invention, the complex programmable logic device responds to the debugging signal issued by the baseboard management controller and begins to directly read the status information of the network card chip through the target debugging interface, so that the baseboard management controller can perform debugging on the network card based on the status information. debug.
需要说明的是,网卡芯片的状态信息包括网卡芯片的在位状态、上下电状态等信息。本实施例利用复杂可编程逻辑器件通过目标调试接口进行信息传输,实现对网卡的检测,根据监测到的在位状态以及上下电状态等状态信息,基板管理控制器对网卡进行带外调试。It should be noted that the status information of the network card chip includes information such as the presence status and power-on/off status of the network card chip. This embodiment uses complex programmable logic devices to transmit information through the target debugging interface to detect the network card. Based on the monitored status information such as in-position status and power-on/off status, the baseboard management controller performs out-of-band debugging on the network card.
步骤503,将网卡芯片的状态信息存储至复杂可编程逻辑器件。Step 503: Store the status information of the network card chip in the complex programmable logic device.
步骤504,通过基板管理控制器获取复杂可编程逻辑器件存储的状态信息。Step 504: Obtain status information stored in the complex programmable logic device through the baseboard management controller.
本发明实施例中,通过基板管理控制器获取复杂可编程逻辑器件存储的状态信息,在一些实施例中,也可以通过复杂可编程逻辑器件响应于基板管理控制器下发的调试信号,读取网卡芯片的状态信息,将网卡芯片的状态信息回传至基板管理控制器,以使基板管理控制器根据获取的状态信息对网卡进行远程调试,在此不再赘述。In the embodiment of the present invention, the status information stored in the complex programmable logic device is obtained through the baseboard management controller. In some embodiments, the complex programmable logic device can also be read in response to the debugging signal issued by the baseboard management controller. The status information of the network card chip is returned to the baseboard management controller, so that the baseboard management controller can remotely debug the network card based on the obtained status information, which will not be described again here.
步骤505,根据状态信息,通过基板管理控制器对网卡进行远程调试。Step 505: According to the status information, remotely debug the network card through the baseboard management controller.
具体的,基板管理控制器根据获取的状态信息对网卡进行远程调试,需要说明的是,由于基板管理控制器能够接入以太网,从而可以实现远程带外调试,大大提高了故障的解决效率,最小程度影响客户的使用。Specifically, the baseboard management controller performs remote debugging on the network card based on the obtained status information. It should be noted that because the baseboard management controller can access the Ethernet, remote out-of-band debugging can be achieved, which greatly improves the efficiency of troubleshooting. Minimally impact customer usage.
本发明实施例中,通过在网卡中增加复杂可编程逻辑器件CPLD芯片,用CPLD充当中转站连接基板管理控制器和网卡芯片,从而基板管理控制器仅需访问CPLD,经CPLD中转至网卡芯片即可实现网卡的带外调试,无需拆卸服务器,避免在现场机柜上操作破坏服务器的故障现场的问题,实现网卡的远程带外调试,大大提高了网卡的调试效率。In the embodiment of the present invention, a complex programmable logic device CPLD chip is added to the network card, and the CPLD is used as a transfer station to connect the baseboard management controller and the network card chip. Therefore, the baseboard management controller only needs to access the CPLD and relay it to the network card chip through the CPLD. It can realize out-of-band debugging of the network card without dismantling the server, avoiding the problem of on-site cabinet operation and damaging the server at the fault site. It can realize remote out-of-band debugging of the network card, which greatly improves the debugging efficiency of the network card.
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,An embodiment of the present invention also provides an electronic device, as shown in Figure 6, including a processor 601, a communication interface 602, a memory 603, and a communication bus 604. The processor 601, the communication interface 602, and the memory 603 communicate through the communication bus 604. complete mutual communication,
存储器603,用于存放计算机程序;Memory 603, used to store computer programs;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:The processor 601 is used to execute the program stored in the memory 603 to implement the following steps:
响应于基板管理控制器下发的配置指令,确定复杂可编程逻辑器件和网卡芯片互联的目标调试接口;其中,配置指令用于指示网卡芯片的带外调试接口类型;In response to the configuration instruction issued by the baseboard management controller, determine the target debugging interface for interconnection between the complex programmable logic device and the network card chip; wherein the configuration instruction is used to indicate the out-of-band debugging interface type of the network card chip;
通过目标调试接口读取网卡芯片的状态信息;Read the status information of the network card chip through the target debugging interface;
响应于基板管理控制器下发的调试信号,获取网卡芯片的状态信息,以使基板管理控制器根据状态信息对网卡进行调试。In response to the debugging signal sent by the baseboard management controller, the status information of the network card chip is obtained, so that the baseboard management controller debugs the network card based on the status information.
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The communication bus mentioned in the above terminal may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The communication bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
通信接口用于上述终端与其他设备之间的通信。The communication interface is used for communication between the above terminal and other devices.
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。The memory may include random access memory (RAM) or non-volatile memory (non-volatile memory), such as at least one disk memory. Optionally, the memory may also be at least one storage device located far away from the aforementioned processor.
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (Digital Signal Processing, DSP). , Application Specific Integrated Circuit (ASIC for short), Field-Programmable Gate Array (FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的网卡调试方法。In yet another embodiment provided by the present invention, a computer-readable storage medium is also provided. The computer-readable storage medium stores instructions, which when run on a computer, cause the computer to execute any one of the above embodiments. The described network card debugging method.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with the embodiments of the present invention are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., the computer instructions may be transferred from a website, computer, server, or data center Transmission to another website, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more available media integrated. The available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), etc.
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that these entities or operations are mutually exclusive. any such actual relationship or sequence exists between them. Furthermore, the terms "comprises," "comprises," or any other variations thereof are intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus that includes a list of elements includes not only those elements, but also those not expressly listed other elements, or elements inherent to the process, method, article or equipment. Without further limitation, an element defined by the statement "comprises a..." does not exclude the presence of additional identical elements in a process, method, article, or apparatus that includes the stated element.
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a related manner. The same and similar parts between the various embodiments can be referred to each other. Each embodiment focuses on its differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For relevant details, please refer to the partial description of the method embodiment.
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。The above descriptions are only preferred embodiments of the present invention and are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention are included in the protection scope of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311099793.2A CN117312067A (en) | 2023-08-29 | 2023-08-29 | Network card debugging system, method, equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311099793.2A CN117312067A (en) | 2023-08-29 | 2023-08-29 | Network card debugging system, method, equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312067A true CN117312067A (en) | 2023-12-29 |
Family
ID=89248829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311099793.2A Pending CN117312067A (en) | 2023-08-29 | 2023-08-29 | Network card debugging system, method, equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312067A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118069551A (en) * | 2024-04-23 | 2024-05-24 | 苏州元脑智能科技有限公司 | Communication topology structure and communication control method of network management control equipment |
-
2023
- 2023-08-29 CN CN202311099793.2A patent/CN117312067A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118069551A (en) * | 2024-04-23 | 2024-05-24 | 苏州元脑智能科技有限公司 | Communication topology structure and communication control method of network management control equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10127170B2 (en) | High density serial over LAN management system | |
CN114116378B (en) | Method, system, terminal and storage medium for acquiring PCIe (peripheral component interconnect express) equipment temperature | |
CN105182210B (en) | A kind of general-purpose interface and its implementation of computation chip test device | |
CN107423180A (en) | A kind of solid state hard disc and its diagnostic method | |
US20180357193A1 (en) | Computing device and operation method | |
CN103412836B (en) | Hot plug processing method, device and system | |
CN116126613A (en) | A method, device, electronic device, and storage medium for detecting the position of a PCIe device | |
CN105843718A (en) | Test board card as well as management card test system and method | |
CN108363477A (en) | Server power-up state monitors system and method, computer storage and equipment | |
CN117312067A (en) | Network card debugging system, method, equipment and storage medium | |
CN102253845A (en) | Server system | |
CN118708519B (en) | Server expansion module, server, configuration method, device and medium | |
CN114185603B (en) | Control method of intelligent accelerator card, server and intelligent accelerator card | |
CN118626428B (en) | Bandwidth allocation method, server, device, medium and program product | |
CN115221015A (en) | Hard disk failure early warning method, system, terminal and storage medium | |
CN100383544C (en) | Method and apparatus for real-time monitoring level signal | |
CN113434442A (en) | A switch and data access method | |
CN108847997A (en) | A kind of method and device thereof communicated by api interface | |
CN115599617B (en) | Bus detection method, device, server and electronic equipment | |
CN103793180A (en) | Disk collocation method and server rack system | |
CN114201439B (en) | Server signal recognition optimization method, system and storage medium | |
CN113835762B (en) | Method and system for updating default configuration of hard disk backboard | |
CN211787062U (en) | MCTP equipment testing arrangement | |
KR100814436B1 (en) | Web-based monitoring module, hardware system including the same, and web-based monitoring module monitoring method | |
CN115129552A (en) | I2C bus transmission state monitoring method, device, equipment and storage medium |
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 |