CN114826489B - 一种链路纠错方法、系统、存储介质及设备 - Google Patents
一种链路纠错方法、系统、存储介质及设备 Download PDFInfo
- Publication number
- CN114826489B CN114826489B CN202210595397.8A CN202210595397A CN114826489B CN 114826489 B CN114826489 B CN 114826489B CN 202210595397 A CN202210595397 A CN 202210595397A CN 114826489 B CN114826489 B CN 114826489B
- Authority
- CN
- China
- Prior art keywords
- port information
- fpga
- sub
- information
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012937 correction Methods 0.000 title claims abstract description 45
- 230000015654 memory Effects 0.000 claims abstract description 86
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种链路纠错方法、系统、存储介质及设备,方法包括:响应于主节点和子节点通过多根线缆连接,由子FPGA通过I3C链路向每根线缆的存储器中写入第一端口信息,第一端口信息为每根线缆所在的子节点的接线端的端口信息;由主FPGA读取每个存储器中的第一端口信息以及默认配置信息,判断二者是否相符;响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由主FPGA向若干存储器中分别写入对应的第二端口信息,第二端口信息分别为若干存储器对应的线缆所在的主节点的接线端的端口信息;由子FPGA从若干存储器中分别读取相应的第二端口信息,并对子节点的下行链路进行调整,以实现服务器系统的链路纠错。本发明提高了线缆纠错的可靠性和效率。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种链路纠错方法、系统、存储介质及设备。
背景技术
伴随着云计算技术以及相关衍生技术与产品的不断兴起和发展,互联网行业的业务量逐渐呈现一种爆发式的增长。而作为虚拟数据的物理载体,服务器对于数据的存储能力、处理能力和交互能力从根本上决定了云计算的上限。随着互联网用户业务量的增长,网络实时数据吞吐量也呈现一种几何式的增长,随之而来的是对于整个机房服务器抗压能力的挑战。
在大基数及高负载的情况下,个别节点出现故障可以说是不可避免的。当出现的故障属于UCE(Uncorrectable Error,不可纠正错误)或者别的一些严重性错误的时候,不可避免地要对故障节点进行停机开盖维护。
节点内部、节点与节点之间以及节点和管理节点之间是需要使用线缆进行连接的,在实际设计及使用场景中,为了便于线缆物料的管控与管理,线缆尽量都是做成一样的。比如说A1-B1,A2-B2,...,An-Bn,这样的连接关系,如果因为误操作,在线缆长度允许的情况下,A1-B2,A2-B1,这样去连接也是可以的,但是由于整体的硬件链路拓扑相较于固件已经配置好的拓扑来说,发生了很大的变动,故而会造成致命性的错误。
除了业务维护的场景,在服务器进行生产的过程中也会出现误装配的情况,如果因为某些不可抗力未检测出错误而流入后端,对整体品牌形象也会造成影响。
在现有的服务器系统的设计、生产与维护中,为了实现线缆物料的可复用性、防呆性,线缆一般都被设计为支持Reverse Plugin(反插)的形态,同时针对A1-B1,A2-B2,...,An-Bn这样的连接场景,如果An和Bn的端子形态是一样的,且线缆长度可以满足的话,线缆通常会制作成同一批物料以便于物料管控。为了区分同样的线缆该插在哪个板上或者节点上的端子,会在板卡或者机箱的对应位置上打上丝印或者做上标记,然后由作业者人工去根据工艺文件安装线缆。
现有的作业模式是通过人工的方式去对线缆的安装进行操作,既然是人工操作,就存在很大的不确定性。如果因为作业者的原因,线缆未按照工艺文件去进行安装,在进行开机测试的时候就会产生各种报错,诸如检测不到设备,设备物理位置与系统下位置不对应,或者在系统环境下无法正常地卸载驱动并弹出等等。会产生这种报错的原因有很多,诸如单板质量问题导致的误码,又或者是因为EP(End Point,终端)部件本身故障导致。而线缆的错序同样可能导致这些问题。
在进行反修或者维护的时候,必须要将节点单独从机柜环境拆出再进行开盖以检查是否存在线缆错序的情况。如果是3U(Unit,表示服务器外部尺寸的单位,1U=4.445cm)及以下的机型,还是可以进行整机拆卸维护的,但如果是类似8U GPU Box(单独支持GPU的定制化节点)的话,整机的维护太过于费时费力,还存在维护过程中二次破坏的风险。所以,亟需一种对线缆错序进行纠错的高效的方法。
发明内容
有鉴于此,本发明的目的在于提出一种链路纠错方法、系统、存储介质及设备,用以解决现有技术中人工进行线缆错序检查存在风险且效率低的问题。
基于上述目的,本发明提供了一种链路纠错方法,包括以下步骤:
响应于在服务器系统中主节点和子节点通过多根线缆连接,由主节点的主FPGA通过I3C链路为子节点的子FPGA分配第一控制权限,并由子FPGA基于第一控制权限通过I3C链路向每根线缆的存储器中写入相应的第一端口信息,第一端口信息为每根线缆所在的子节点的接线端的端口信息;
响应于相应的第一端口信息写入完成,由主FPGA收回第一控制权限,并读取每个存储器中的第一端口信息以及默认配置信息,且判断二者是否相符;
响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由主FPGA向若干存储器中分别写入对应的第二端口信息,第二端口信息分别为若干存储器对应的线缆所在的主节点的接线端的端口信息;
响应于第二端口信息写入完成,由主FPGA为子FPGA分配第二控制权限,并由子FPGA基于第二控制权限从若干存储器中分别读取相应的第二端口信息,并基于第二端口信息和对应的第一端口信息对子节点的下行链路进行调整,以实现服务器系统的链路纠错。
在一些实施例中,基于第二端口信息和对应的第一端口信息对子节点的下行链路进行调整包括:
由子FPGA将第二端口信息分别发送至与子节点相连的对应的PCIe资源扩展芯片;
判断PCIe资源扩展芯片中的第二端口信息与其预配置信息是否一致;
响应于不一致,由PCIe资源扩展芯片根据预配置信息对子节点的下行链路的资源进行配置。
在一些实施例中,由PCIe资源扩展芯片根据预配置信息对子节点的下行链路的资源进行配置包括:
由子FPGA基于预配置信息控制PCIe资源扩展芯片的切换开关,并使PCIe资源扩展芯片连接到对应的终端。
在一些实施例中,方法还包括:
响应于多根线缆的存储器中的第一端口信息分别与对应的默认配置信息相符,确认服务器系统中的根复合体与终端一一对应,并由根复合体进行PCIe枚举以得到PCIe拓扑信息。
在一些实施例中,方法还包括:
响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由主FPGA将报警信号发送至BMC,并由BMC记录关于报警信号的日志信息,且将日志信息发送至用户。
在一些实施例中,方法还包括:
响应于日志信息记录完成,由BMC向主FPGA下发点灯命令,并由主FPGA基于接收到的点灯命令对对应连接器的定位指示灯进行点灯。
在一些实施例中,主节点至少包括主控服务器,子节点至少包括GPU Box,存储器至少包括EEPROM。
本发明的另一方面,还提供了一种链路纠错系统,包括:
第一端口信息写入模块,配置用于响应于在服务器系统中主节点和子节点通过多根线缆连接,由主节点的主FPGA通过I3C链路为子节点的子FPGA分配第一控制权限,并由子FPGA基于第一控制权限通过I3C链路向每根线缆的存储器中写入相应的第一端口信息,第一端口信息为每根线缆所在的子节点的接线端的端口信息;
判断模块,配置用于响应于相应的第一端口信息写入完成,由主FPGA收回第一控制权限,并读取每个存储器中的第一端口信息以及默认配置信息,且判断二者是否相符;
第二端口信息写入模块,配置用于响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由主FPGA向若干存储器中分别写入对应的第二端口信息,第二端口信息分别为若干存储器对应的线缆所在的主节点的接线端的端口信息;以及
链路纠错模块,配置用于响应于第二端口信息写入完成,由主FPGA为子FPGA分配第二控制权限,并由子FPGA基于第二控制权限从若干存储器中分别读取相应的第二端口信息,并基于第二端口信息和对应的第一端口信息对子节点的下行链路进行调整,以实现服务器系统的链路纠错。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
本发明至少具有以下有益技术效果:
本发明的链路纠错方法,通过为线缆设置存储器,并使用I3C链路而非传统的I2C链路,可实现FPGA和存储器之间的通信,使主FPGA和子FPGA都可以对存储器进行线缆端口信息的读写,且每根线缆只需使用一颗存储器,从而降低成本;通过避免使用人工的方式对线缆安装关系进行检查,极大程度地减少了生产过程和维护过程中的人力成本,同时提高了产品的可靠性,提升了线缆纠错的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明实施例提供的链路纠错方法的示意图;
图2为根据本发明实施例提供的主控服务器搭配GPU Box的系统拓扑示意图;
图3为根据本发明实施例提供的带可读写EEPROM的线缆的结构示意图;
图4为根据本发明实施例提供的使用I3C链路的拓扑示意图;
图5为根据本发明实施例提供的链路纠错系统的示意图;
图6为根据本发明实施例提供的实现链路纠错方法的计算机可读存储介质的示意图;
图7为根据本发明实施例提供的执行链路纠错方法的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种链路纠错方法的实施例。图1示出的是本发明提供的链路纠错方法的实施例的示意图。如图1所示,本发明实施例包括以下步骤:
步骤S10、响应于在服务器系统中主节点和子节点通过多根线缆连接,由主节点的主FPGA通过I3C链路为子节点的子FPGA分配第一控制权限,并由子FPGA基于第一控制权限通过I3C链路向每根线缆的存储器中写入相应的第一端口信息,第一端口信息为每根线缆所在的子节点的接线端的端口信息;
步骤S20、响应于相应的第一端口信息写入完成,由主FPGA收回第一控制权限,并读取每个存储器中的第一端口信息以及默认配置信息,且判断二者是否相符;
步骤S30、响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由主FPGA向若干存储器中分别写入对应的第二端口信息,第二端口信息分别为若干存储器对应的线缆所在的主节点的接线端的端口信息;
步骤S40、响应于第二端口信息写入完成,由主FPGA为子FPGA分配第二控制权限,并由子FPGA基于第二控制权限从若干存储器中分别读取相应的第二端口信息,并基于第二端口信息和对应的第一端口信息对子节点的下行链路进行调整,以实现服务器系统的链路纠错。
本发明实施例的链路纠错方法,通过为线缆设置存储器,并使用I3C链路而非传统的I2C链路,可实现FPGA和存储器之间的通信,使主FPGA和子FPGA都可以对存储器进行线缆端口信息的读写,且每根线缆只需使用一颗存储器,从而降低成本;通过避免使用人工的方式对线缆安装关系进行检查,极大程度地减少了生产过程和维护过程中的人力成本,同时提高了产品的可靠性,提升了线缆纠错的效率。
在一些实施例中,基于第二端口信息和对应的第一端口信息对子节点的下行链路进行调整包括:由子FPGA将第二端口信息分别发送至与子节点相连的对应的PCIe资源扩展芯片;判断PCIe资源扩展芯片中的第二端口信息与其预配置信息是否一致;响应于不一致,由PCIe资源扩展芯片根据预配置信息对子节点的下行链路的资源进行配置。
本实施例中,通过PCIe资源扩展芯片的下行链路资源分配,实现了下行链路的可调整性与自适应纠正性,减少了风险,且降低了人力成本。
在一些实施例中,由PCIe资源扩展芯片根据预配置信息对子节点的下行链路的资源进行配置包括:由子FPGA基于预配置信息控制PCIe资源扩展芯片的切换开关,并使PCIe资源扩展芯片连接到对应的终端。
在一些实施例中,方法还包括:响应于多根线缆的存储器中的第一端口信息分别与对应的默认配置信息相符,确认服务器系统中的根复合体与终端一一对应,并由根复合体进行PCIe枚举以得到PCIe拓扑信息。
在一些实施例中,方法还包括:响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由主FPGA将报警信号发送至BMC,并由BMC记录关于报警信号的日志信息,且将日志信息发送至用户。
在一些实施例中,方法还包括:响应于日志信息记录完成,由BMC向主FPGA下发点灯命令,并由主FPGA基于接收到的点灯命令对对应连接器的定位指示灯进行点灯。
在一些实施例中,主节点至少包括主控服务器,子节点至少包括GPU Box,存储器至少包括EEPROM。
以下为本发明的链路纠错方法的具体实施例:
图2示出了本实施例提供的主控服务器搭配GPU Box的系统拓扑示意图。如图2所示,服务器系统中包括主控服务器(Host Server)和GPU Box。GPU Box为GPU(graphicsprocessing unit,图形处理器)资源的整合单元,其PCIe(peripheral componentinterconnect express,一种高速串行计算机扩展总线标准)资源来自CPU(centralprocessing unit,中央处理器)资源的扩展,故而需要搭配主控服务器进行使用。
左边的主控服务器是2S(2路,指2CPU)机型,2颗CPU将PCIe资源给到主控服务器,然后给GPU Box的连接器A0,A1。A0和A1通过线缆将PCIe资源给到Box端的连接器B0,B1,进而对应给到SW(Switch,PCIe资源扩展芯片)1,SW2,SW再分出更多的PCIe资源给到下游的EP(End Point,终端)。
按照计划的PCIe拓扑,EP1_1/2/.../n是挂在RC(Root Complex,根复合体,此处指CPU)1下的,EP2_1/2/.../n是挂在RC2下的。当线缆接错的时候,如图2虚线所示,会造成PCIe拓扑错误,主控服务器端的BIOS(Basic Input Output System,基本输入输出系统)拿到的PCIe拓扑信息也和Fireware(固件)中预先写下的不同,最终便导致了各种报错。
本实施例中,在线缆的PCB(Print Circuit Board,印制电路板)上植入一颗可读写的EEPROM(Electrically Erasable Programmableread only memory,带电可擦可编程只读存储器)。
图3示出了本实施例提供的带可读写EEPROM的线缆的结构示意图。如图3所示,在线缆内部(比如端子PCB上)放置一颗EEPROM,可以记录线缆本身的一些资产信息,比如生产厂商、生产日期、长度等。同时这颗端子还会留出一部分存储空间用于主控服务器和GPUBox的FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)芯片进行读写。图3中的EEPROM为同一颗,为了方便后续理解Secondary Master的概念,画成两个。
这颗EEPROM和FPGA的连接关系如图2所示,具体硬件链路实现如图4所示。图4示出了本实施例提供的使用I3C链路的拓扑示意图。EEPROM和FPGA基于I3C(Improved InterIntegrated Circuit,一种集成电路总线,是I2C的改进版且兼容I2C)链路通过一根SDA和SCL进行通信,有VCC Pin对EEPROM进行供电。由于使用的是I3C,无需通过硬件固定EEPROM的地址,可以通过主控服务器的FPGA对EEPROM进行动态地址分配。主控服务器端的FPGA(即主FPGA)作为Main Master(主控端,拥有最高优先级),GPU Box端的FPGA(即子FPGA)作为Secondary Master(第二控制端,由Main Master通过命令对其进行权限分配)。
本实施例中,在主控服务器和GPU Box通过线缆连接并上电后,此时只有FPGA等管理芯片处于工作状态,主控服务器端的FPGA会先通过I3C链路给Box端的FPGA分配Secondary Master的权限。之后Box的FPGA便可以通过I3C向每根线缆内部的EEPROM写入Box端每根线缆对应Port(端口)的信息,该信息可以通过每个Port进行硬件上的地址区分给到FPGA来获取。此时EEPROM内部已经有了Box端Port与线缆的对应关系。
接下来主控服务器的FPGA会回收Box端的FPGA作为Secondary Master的权限,并且读取EEPROM中Box端的信息(即第一端口信息),与默认配置信息进行比对。默认配置信息即正确的Port和线缆的对应关系,由工程师于开发阶段进行配置,可写入主控服务器端的寄存器并由主控服务器的FPGA在需要时读取。
如果实际连接关系与默认配置相同,无需进行报警及纠正,RC(Root Complex,根复合体)对整个链路进行枚举,得到PCIe Topology(拓扑),实现RC和EP的一一对应。
如果实际连接关系与默认配置不同,会进行以下动作:
主控服务器端的FPGA会将主控服务器端的Port信息(即第二端口信息)写入EEPROM,同步发送报警信号给到BMC(BaseBoard Management Controller,基板管理控制器),BMC会记录该日志信息并通过BMC Web等途径将此信息传递给用户。在完成日志记录后,BMC会通过I2C(Inter-Integrated Circuit,集成电路总线)链路给FPGA下达点灯命令,FPGA解析完该信息后会对对应连接器的定位指示灯进行点灯,通知用户此处存在问题。
完成这一系列动作后,主控服务器端的FPGA会再次给Box端FPGA分配SecondaryMaster权限,Box FPGA会从EEPROM读取主控服务器FPGA写入的信息,并将该信息给到Box的Switch芯片。
这个时候Switch芯片就有了自身Upstream(上游,即上行链路)的PCIe拓扑,为了实现按照预先配置的RC与EP的资源对应,Switch芯片会根据预配置信息对DownStream(下游,即下行链路)的资源进行配置。
例如,如图2所示,每颗Switch芯片后会有一颗小的切换开关,这颗切换开关同时起到切换选择和Buffer(缓冲器)的功能,在PCIe拓扑与预配置信息不相同的情况下,FPGA会使能开关芯片的OE引脚,如图2中虚线所示,这样Switch1的下行就由EP1_1/2/.../n变为了EP_2_1/2/.../n。
切换开关之后的线路可以通过在PCB板上做预留设计来实现,也可以通过外部线缆实现,或者通过外部转接实现,此处可进行多种拓展,不做限制。
此时已在硬件上实现了RC(Root Complex,根复合体)和EP(End Point,终端)的一一对应,再由RC对整个链路进行枚举,得到PCIe拓扑信息。
本发明实施例的第二个方面,还提供了一种链路纠错系统。图5示出的是本发明提供的链路纠错系统的实施例的示意图。如图5所示,一种链路纠错系统包括:第一端口信息写入模块10,配置用于响应于在服务器系统中主节点和子节点通过多根线缆连接,由主节点的主FPGA通过I3C链路为子节点的子FPGA分配第一控制权限,并由子FPGA基于第一控制权限通过I3C链路向每根线缆的存储器中写入相应的第一端口信息,第一端口信息为每根线缆所在的子节点的接线端的端口信息;判断模块20,配置用于响应于相应的第一端口信息写入完成,由主FPGA收回第一控制权限,并读取每个存储器中的第一端口信息以及默认配置信息,且判断二者是否相符;第二端口信息写入模块30,配置用于响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由主FPGA向若干存储器中分别写入对应的第二端口信息,第二端口信息分别为若干存储器对应的线缆所在的主节点的接线端的端口信息;以及链路纠错模块40,配置用于响应于第二端口信息写入完成,由主FPGA为子FPGA分配第二控制权限,并由子FPGA基于第二控制权限从若干存储器中分别读取相应的第二端口信息,并基于第二端口信息和对应的第一端口信息对子节点的下行链路进行调整,以实现服务器系统的链路纠错。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图6示出了根据本发明实施例提供的实现链路纠错方法的计算机可读存储介质的示意图。如图6所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现上述任意一项实施例的方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的链路纠错方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的链路纠错系统和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图7所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
如图7所示,为本发明提供的执行链路纠错方法的计算机设备的一个实施例的硬件结构示意图。以如图7所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图7中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与链路纠错系统的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的链路纠错方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储链路纠错方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的链路纠错方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (9)
1.一种链路纠错方法,其特征在于,包括以下步骤:
响应于在服务器系统中主节点和子节点通过多根线缆连接,由所述主节点的主FPGA通过I3C链路为所述子节点的子FPGA分配第一控制权限,并由所述子FPGA基于所述第一控制权限通过所述I3C链路向每根线缆的存储器中写入相应的第一端口信息,所述第一端口信息为所述每根线缆所在的所述子节点的接线端的端口信息;
响应于所述相应的第一端口信息写入完成,由所述主FPGA收回所述第一控制权限,并读取每个存储器中的第一端口信息以及默认配置信息,且判断二者是否相符,其中,所述默认配置信息即正确的Port和线缆的对应关系;
响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由所述主FPGA向所述若干存储器中分别写入对应的第二端口信息,所述第二端口信息分别为所述若干存储器对应的线缆所在的所述主节点的接线端的端口信息;
响应于所述第二端口信息写入完成,由所述主FPGA为所述子FPGA分配第二控制权限,并由所述子FPGA基于所述第二控制权限从所述若干存储器中分别读取相应的第二端口信息,并基于所述第二端口信息和对应的第一端口信息对所述子节点的下行链路进行调整,以实现所述服务器系统的链路纠错;
其中,基于所述第二端口信息和对应的第一端口信息对所述子节点的下行链路进行调整包括:
由所述子FPGA将所述第二端口信息分别发送至与所述子节点相连的对应的PCIe资源扩展芯片;
判断所述PCIe资源扩展芯片中的第二端口信息与其预配置信息是否一致,其中,所述预配置信息即预先设定的PCIe资源扩展芯片的配置信息;
响应于不一致,由所述PCIe资源扩展芯片根据所述预配置信息对所述子节点的下行链路的资源进行配置。
2.根据权利要求1所述的方法,其特征在于,由所述PCIe资源扩展芯片根据所述预配置信息对所述子节点的下行链路的资源进行配置包括:
由所述子FPGA基于所述预配置信息控制所述PCIe资源扩展芯片的切换开关,并使所述PCIe资源扩展芯片连接到对应的终端。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述多根线缆的存储器中的第一端口信息分别与对应的默认配置信息相符,确认所述服务器系统中的根复合体与终端一一对应,并由所述根复合体进行PCIe枚举以得到PCIe拓扑信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由所述主FPGA将报警信号发送至BMC,并由所述BMC记录关于所述报警信号的日志信息,且将所述日志信息发送至用户。
5.根据权利要求4所述的方法,其特征在于,还包括:
响应于所述日志信息记录完成,由所述BMC向所述主FPGA下发点灯命令,并由所述主FPGA基于接收到的所述点灯命令对对应连接器的定位指示灯进行点灯。
6.根据权利要求1所述的方法,其特征在于,所述主节点至少包括主控服务器,所述子节点至少包括GPU Box,所述存储器至少包括EEPROM。
7.一种链路纠错系统,其特征在于,包括:
第一端口信息写入模块,配置用于响应于在服务器系统中主节点和子节点通过多根线缆连接,由所述主节点的主FPGA通过I3C链路为所述子节点的子FPGA分配第一控制权限,并由所述子FPGA基于所述第一控制权限通过所述I3C链路向每根线缆的存储器中写入相应的第一端口信息,所述第一端口信息为所述每根线缆所在的所述子节点的接线端的端口信息;
判断模块,配置用于响应于所述相应的第一端口信息写入完成,由所述主FPGA收回所述第一控制权限,并读取每个存储器中的第一端口信息以及默认配置信息,且判断二者是否相符,其中,所述默认配置信息即正确的Port和线缆的对应关系;
第二端口信息写入模块,配置用于响应于若干存储器中的第一端口信息与对应的默认配置信息不符,由所述主FPGA向所述若干存储器中分别写入对应的第二端口信息,所述第二端口信息分别为所述若干存储器对应的线缆所在的所述主节点的接线端的端口信息;以及
链路纠错模块,配置用于响应于所述第二端口信息写入完成,由所述主FPGA为所述子FPGA分配第二控制权限,并由所述子FPGA基于所述第二控制权限从所述若干存储器中分别读取相应的第二端口信息,并基于所述第二端口信息和对应的第一端口信息对所述子节点的下行链路进行调整,以实现所述服务器系统的链路纠错;
其中,所述链路纠错模块进一步配置用于:
由所述子FPGA将所述第二端口信息分别发送至与所述子节点相连的对应的PCIe资源扩展芯片;
判断所述PCIe资源扩展芯片中的第二端口信息与其预配置信息是否一致,其中,所述预配置信息即预先设定的PCIe资源扩展芯片的配置信息;
响应于不一致,由所述PCIe资源扩展芯片根据所述预配置信息对所述子节点的下行链路的资源进行配置。
8.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任意一项所述的方法。
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210595397.8A CN114826489B (zh) | 2022-05-29 | 2022-05-29 | 一种链路纠错方法、系统、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210595397.8A CN114826489B (zh) | 2022-05-29 | 2022-05-29 | 一种链路纠错方法、系统、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114826489A CN114826489A (zh) | 2022-07-29 |
CN114826489B true CN114826489B (zh) | 2023-07-14 |
Family
ID=82520201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210595397.8A Active CN114826489B (zh) | 2022-05-29 | 2022-05-29 | 一种链路纠错方法、系统、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826489B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321255A (zh) * | 2018-03-29 | 2019-10-11 | 广达电脑股份有限公司 | 用以检查缆线错误的方法及系统 |
CN113688087A (zh) * | 2021-10-25 | 2021-11-23 | 苏州浪潮智能科技有限公司 | 一种pcie设备枚举方法、系统、存储介质及设备 |
CN114443552A (zh) * | 2021-12-30 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种自动检查通信线缆连接关系的系统、方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996778B2 (en) * | 2012-12-13 | 2015-03-31 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Cable adapter correlation in a cluster |
CN109815043B (zh) * | 2019-01-25 | 2022-04-05 | 华为云计算技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
-
2022
- 2022-05-29 CN CN202210595397.8A patent/CN114826489B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321255A (zh) * | 2018-03-29 | 2019-10-11 | 广达电脑股份有限公司 | 用以检查缆线错误的方法及系统 |
CN113688087A (zh) * | 2021-10-25 | 2021-11-23 | 苏州浪潮智能科技有限公司 | 一种pcie设备枚举方法、系统、存储介质及设备 |
CN114443552A (zh) * | 2021-12-30 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种自动检查通信线缆连接关系的系统、方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114826489A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598903B (zh) | 调节Redriver芯片参数的方法及装置 | |
CN105446657B (zh) | 一种监控raid卡的方法 | |
CN111258667A (zh) | 一种服务器的自适应配置方法、装置、设备及存储介质 | |
CN103999055A (zh) | 访问命令/地址寄存器装置中存储的数据 | |
CN112825011A (zh) | PCIe设备的上下电控制方法以及系统 | |
CN110580235B (zh) | 一种sas扩展器通信方法及装置 | |
WO2017032112A1 (zh) | 一种与无中央处理器单板通讯的方法及通讯设备 | |
CN115562738B (zh) | 一种端口配置方法、组件及硬盘扩展装置 | |
CN102750109A (zh) | 资料同步系统及方法 | |
CN111209241A (zh) | 整机柜服务器的管理系统 | |
CN101667133B (zh) | 固件更新方法和使用该方法更新固件的芯片 | |
CN114826489B (zh) | 一种链路纠错方法、系统、存储介质及设备 | |
CN109271096B (zh) | Nvme存储扩展系统 | |
CN102081526A (zh) | 基本输入/输出系统架构 | |
CN113259273A (zh) | 交换机的控制方法、交换机、计算机设备和存储介质 | |
CN104636271A (zh) | 访问命令/地址寄存器装置中存储的数据 | |
KR101249788B1 (ko) | 디스플레이 모듈 에이징 시스템의 통신 네트워크 구조 | |
US20170364368A1 (en) | Setting method of accessing system parameters and server using the same | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
CN116541026A (zh) | 一种自适应芯片厂商位流的烧录方法、装置、设备、介质 | |
CN115599424A (zh) | 一种采用cpu远程更新fpga固件的方法 | |
CN116126613A (zh) | 一种PCIe设备的位置检测方法、装置、电子设备及存储介质 | |
CN113961496A (zh) | 通信电路系统、方法、芯片以及存储介质 | |
CN111026428A (zh) | 能同时远程在线更新多个板卡中fpga固件程序的系统及方法 | |
CN114338358B (zh) | 一种数据交互方法、设备、存储介质及plc |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |