CN116643904A - 一种PCIe链路故障自动修复的系统、方法和一种服务器 - Google Patents

一种PCIe链路故障自动修复的系统、方法和一种服务器 Download PDF

Info

Publication number
CN116643904A
CN116643904A CN202310565005.8A CN202310565005A CN116643904A CN 116643904 A CN116643904 A CN 116643904A CN 202310565005 A CN202310565005 A CN 202310565005A CN 116643904 A CN116643904 A CN 116643904A
Authority
CN
China
Prior art keywords
pcie
link
unit
central processing
transfer unit
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
Application number
CN202310565005.8A
Other languages
English (en)
Inventor
田东顺
程子强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310565005.8A priority Critical patent/CN116643904A/zh
Publication of CN116643904A publication Critical patent/CN116643904A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提出了一种PCIe链路故障自动修复的系统、方法和一种服务器,该系统包括:中央处理器、链路管理单元、交换芯片和中转单元;中央处理器分别与交换芯片、中转单元和链路管理单元通信连接;链路管理单元分别与交换芯片和中转单元通信连接,且中转单元还与交换芯片通信连接;链路管理单元获取中央处理器和交换芯片所在主链路的设备工作状态,当获取到主链路故障时,将主链路设备切换至中转单元所在的备用链路,通过备用链路连接到中央处理器,基于该系统,还提出了一种PCIe链路故障自动修复的方法和一种服务器。本发明实现了当监控到物理故障时,立即禁用故障链路,并启动备用链路,同时将设备挂载到备用链路后,恢复系统业务运行。

Description

一种PCIe链路故障自动修复的系统、方法和一种服务器
技术领域
本发明属于PCIe链路故障修复技术领域,特别涉及一种PCIe链路故障自动修复的系统、方法和一种服务器。
背景技术
随着ChatGPT、高性能运算、云游戏、视频直播的迅速发展,异构运算设备的广泛应用。为了获取强大的异构计算能力和扩展性能,通常将CPU运算和GPU运算分成服务器和GPUBOX两个独立的设备,两个设备之间使用PCIe高速线缆连接通信。其中CPU:(CentralProcessing Unit/Processor),中央处理器;GPU:(Graphics Processing Unit)图形处理器。
由于CPU PCIe端口数量较少,为了能够连接更多数量的PCIe设备,会使用PCIeSwitch芯片扩展。CPU在服务器中,PCIe Switch芯片和PCIe设备在GPU Box装置中。CPU与PCIe Switch之间使用PCIe高速线缆连接,当两个芯片之间的连接出现物理故障时,Switch下行连接的全部PCIe设备都无法使用。设备停机后,人工维修故障链路,PCIe链路物理故障时,所连接的PCIe设备,无法被使用,需要在停机后,由运维人员维修。
发明内容
为了解决上述技术问题,本发明提出了一种PCIe链路故障自动修复的系统、方法和一种服务器,实现当监控到物理故障时,立即禁用故障链路,并启动备用链路。同时将PCIe设备挂载到备用PCIe链路后,恢复系统业务运行。
为实现上述目的,本发明采用以下技术方案:
一种PCIe链路故障自动修复的系统,包括中央处理器、链路管理单元、PCIe交换芯片和中转单元;
所述中央处理器分别与PCIe交换芯片、中转单元和链路管理单元通信连接;所述链路管理单元分别与PCIe交换芯片和中转单元通信连接,且中转单元还与PCIe交换芯片通信连接;
所述链路管理单元用于获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态,当获取到主链路故障时,停用主链路对应的上行接口,将主链路PCIe设备切换至中转单元所在的备用链路,通过备用链路连接到中央处理器。
进一步的,所述PCIe交换芯片为一个或者多个。
进一步的,所述中央处理器通过通信端口与PCIe交换芯片和中转单元连接;所述中转单元通过还通信端口与PCIe交换芯片连接。
进一步的,所述链路管理单元包括基板管理控制器和南桥;
所述中央处理器通过DMI总线南桥通信连接;南桥通过ESPI总线与基板管理控制器通信连接;所述基板管理控制器分别通过UART与PCIe交换芯片通信连接。
进一步的,链路管理单元获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态的过程为:南桥通过轮询中央处理器中PCIe引脚状态寄存器获取PCIe设备的连接状态。
进一步的,南桥在获取到PCIe设备工作状态之后,当发现主链路断开时,将所有丢失PCIe设备信息的标识符通过ESPI接口发送至基板管理控制器;
基板管理控制器在获取到所有丢失PCIe设备信息的标识符之后,根据所述标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后基板管理控制器通过UART接口向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元所在备用链路,通过备用链路连接到中央处理器。
进一步的,所述基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元的信息反馈至南桥。
本发明还提出了一种PCIe链路故障自动修复的方法,是基于一种PCIe链路故障自动修复的系统实现的,包括以下步骤:
南桥轮询中央处理器中PCIe引脚状态寄存器,获取主链路的连接状态,当发现主链路断开时,将所有丢失PCIe设备信息的标识符发送至基板管理控制器;
基板管理控制器接收丢失PCIe设备信息的标识符,根据所述标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元所在备用链路,通过备用链路连接到中央处理器。
进一步的,所述方法还包括:基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元的信息反馈至南桥。
本发明还提出了一种服务器,包括一种PCIe链路故障自动修复的系统。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提出了一种PCIe链路故障自动修复的系统、方法和一种服务器,该系统包括:中央处理器、链路管理单元、PCIe交换芯片和中转单元;中央处理器分别与PCIe交换芯片、中转单元和链路管理单元通信连接;链路管理单元分别与PCIe交换芯片和中转单元通信连接,且中转单元还与PCIe交换芯片通信连接;链路管理单元用于获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态,当获取到主链路故障时,停用主链路对应的上行接口,将主链路PCIe设备切换至中转单元所在的备用链路,通过备用链路连接到中央处理器。基于一种PCIe链路故障自动修复的系统,还提出了一种PCIe链路故障自动修复的方法和一种服务器。本发明实现了当监控到物理故障时,立即禁用故障链路,并启动备用链路。同时将PCIe设备挂载到备用PCIe链路后,恢复系统业务运行。
本发明在PCIe通信领域,主链路通道故障断开后,自动启动备用链路通道,并将原链路全部PCIe设备挂载到备用链路通道使用,可有效解决PCIe链路物理故障时,链路上全部PCIe设备无法被使用的问题。
附图说明
如图1为本发明实施例1提出的正常通信时PCIe拓扑连接示意图;
如图2为本发明实施例1提出的链路故障时PCIe通信拓扑示意图;
如图3为本发明实施例1提出的Switch带外管理拓扑示意图;
如图4为本发明实施例2提出的一种PCIe链路故障自动修复的方法流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
本发明实施例1提出了一种PCIe链路故障自动修复的系统,在PCIe通信领域,主链路通道故障断开后,自动启动备用链路通道,并将原链路全部PCIe设备挂载到备用链路通道使用,可有效解决PCIe链路物理故障时,链路上全部PCIe设备无法被使用的问题。
其中,PCIe:peripheral component interconnect express,一种高速串行通信总线;
Hot-Plug Controller:PCIe热插拔控制器;
PCIe Switch:一种扩展PCIE接口的芯片。
本发明实现基础是服务器已实现PCIe热插拔功能,即PCIe Hot-Plug,允许在系统运行时断开和插入PCIe设备,不影响系统运行。在此基础上,本发明通过联合控制南桥、基板管理控制器和PCIe交换芯片,实现在主PCIe链路发生链路故障时,切换PCIe设备挂载到备用PCIe链路并恢复系统业务运行。
本发明提出了一种PCIe链路故障自动修复的系统,包括:中央处理器、链路管理单元、PCIe交换芯片和中转单元;
中央处理器分别与PCIe交换芯片、中转单元和链路管理单元通信连接;链路管理单元分别与PCIe交换芯片和中转单元通信连接,且中转单元还与PCIe交换芯片通信连接;链路管理单元用于获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态,当获取到主链路故障时,停用主链路对应的上行接口,将主链路PCIe设备切换至中转单元所在的备用链路,通过备用链路连接到中央处理器
本申请中PCIe交换芯片为一个或者多个。
中转单元为能够实现信号传输中转的芯片,在本申请中中转单元可采用PCIe交换芯片。本发明保护的范围不局限于实施例中列举出的芯片类型,本领域人员在实施例的基础上选择的其他具有中转功能的单元均在保护范围之内。
在本申请中,中央处理器通过通信端口与PCIe交换芯片和中转单元连接;中转单元通过还通信端口与PCIe交换芯片连接。
链路管理单元包括基板管理控制器和南桥;中央处理器通过DMI总线南桥通信连接;南桥通过ESPI总线与基板管理控制器通信连接;基板管理控制器分别通过UART与PCIe交换芯片通信连接。其中,UART为通用异步收发传输器
如图1为本发明实施例1提出的正常通信时PCIe拓扑连接示意图;通常情况,当CPU与PCIe交换芯片之间的PCIe链路发生物理故障时,PCIe交换芯片所连接的PCIe设备均不能工作。
如图2为本发明实施例1提出的链路故障时PCIe通信拓扑示意图;当发生PCIe主链路故障(例port1_1),导致PCIe设备link down时,Hot-Plug Controller先检测到该信息,并置位CPU Root Complex对应的PCIe寄存器。同时通过MSI/MSI-X中断上报到Hot-PlugDriver驱动。上层的服务程序Hot-Plug service开始处理设备拔出的请求,通知设备驱动停用PCIe设备,通知CPU Root Complex关闭PCIe链路。这样原故障链路的PCIe设备,在发生链路故障后,被安全的卸载,其他的设备正常运行。
PCH:Platform Controller Hub,是intel公司的集成南桥芯片。
如图3为本发明实施例1提出的Switch带外管理拓扑示意图;南桥芯片(运行软件称为BIOS)分别连接着中央处理器和基板管理控制器,可以转发两者的通信数据。因此BIOS可以通过中央处理器寄存器获取PCIe设备的工作状态;也可以将PCIe状态信息传递给基板管理控制器分析使用。当BIOS捕获到中央处理器与PCIe设备链路断开时,通过ESPI接口通知到基板管理控制器。基板管理控制器通过UART接口控制PCIe交换芯片,停用故障链路对应的上行接口,将全部PCIe设备挂载到备用PCIe上行接口,通过中转单元的上行接口连接中央处理器。然后BIOS通知CPU Root complex重新训练PCIe设备、分配资源和枚举初始化。
结合图2和图3说明本发明实现一种PCIe链路故障自动修复系统的工作过程。
链路管理单元获取主链路PCIe设备工作状态的过程为:南桥通过轮询中央处理器中PCIe引脚状态寄存器获取PCIe设备的连接状态。
南桥在获取到PCIe设备工作状态之后,当发现主链路断开时,将所有丢失PCIe设备信息的标识符通过ESPI接口发送至基板管理控制器。
基板管理控制器在获取到所有丢失PCIe设备信息的标识符之后,根据标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后基板管理控制器通过UART接口向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元构成的备用链路,通过备用链路连接到中央处理器。
基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元信息反馈至南桥。
详细的过程为:当端口port1_1发生物理链路故障,此时中央处理器与PCIeSwitch1连接断开,无法通信。
由于服务器已支持PCIe热插拔功能,如技术方案中所述,在发生链路故障后,PCIeSwitch1下挂载的4个PCIe设备被安全的卸载,不影响服务器系统运行。
输入输出系统每隔2秒轮询一次CPU中PCIe Slot Status状态寄存器,获取PCIe设备的连接状态。当发现链路断开时,将所有丢失的PCIe设备信息BDF序号通过ESPI接口通知基板管理控制器。
每一个PCle设备可以只有一个功能(Function),即Fun0。也可以拥有最多8个功能,即多功能设备(Multi-Fun)。不管这个PCle设备拥有多少个功能,每一个功能都有一个唯一独立的配置空间(ConfigurationQ Space)与之对应。和PCIe总线一样,PCle总线中的每-一个功能(Function)都有一个唯一的标识符与之对应。这个标识符就是BDF(Bus,Device,Function),PCle的配置软件(即Root的应用层,一般是PC)应当有能力识别整个PCle总线系统的拓扑逻辑,以及其中的每一条总线(Bus),每一个设备(Device)和每一项功能(Function)。在BDF中,Bus Number用8位,Device Number占用5位,Function Number占用3位。显然,PCle总线最多支持256个子总线,每个子总线最多支持32个设备,每个设备最多支持8个功能。
基板管理控制器内置一份PCIe配置表,根据BDF序号查找到对应PCIe设备1/2/3/4,挂载在PCIe Switch1。基板管理控制器通过uart1接口向PCIe Switch1发送指令集,控制其关闭上行接口Port1_1,并修改上行接口为Port1_2。
基板管理控制器完成配置PCIe Switch1芯片之后,将配置成功状态和备用链路PCIe Port3信息反馈给到南桥芯片。此时输入输出系统解析信息后,通知Port3链路对应CPU Root complex重新训练PCIe设备、分配资源和枚举初始化。
后续按照PCIe卡热插入机制,操作系统kernel相关程序调用设备驱动完成PCIe设备初始化和业务恢复。
本发明实施例1提出的一种PCIe链路故障自动修复系统,实现了当监控到物理故障时,立即禁用故障链路,并启动备用链路。同时将PCIe设备挂载到备用PCIe链路后,恢复系统业务运行。
实施例2
基于本发明实施例1提出了一种PCIe链路故障自动修复系统,本发明实施例2提出了一种PCIe链路故障自动修复方法。如图4为本发明实施例2提出的一种PCIe链路故障自动修复的方法流程图。
在步骤S400中,南桥轮询中央处理器中PCIe引脚状态寄存器,获取主链路的连接状态,当发现主链路断开时,将所有丢失PCIe设备信息的标识符发送至基板管理控制器;
在步骤S410中,基板管理控制器接收丢失PCIe设备信息的标识符,根据所述标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元构成的备用链路,通过备用链路连接到中央处理器。
在步骤S420中,基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元的信息反馈至南桥。
所以在本发明实施例2中,当发生PCIe主链路故障(例port1_1),导致PCIe设备link down时,Hot-Plug Controller先检测到该信息,并置位CPU Root Complex对应的PCIe寄存器。同时通过MSI/MSI-X中断上报到Hot-Plug Driver驱动。上层的服务程序Hot-Plug service开始处理设备拔出的请求,通知设备驱动停用PCIe设备,通知CPU RootComplex关闭PCIe链路。这样原故障链路的PCIe设备,在发生链路故障后,被安全的卸载,其他的设备正常运行。
本发明实施例2提出的一种PCIe链路故障自动修复方法,是基于本发明实施例1提出的一种PCIe链路故障自动修复系统实现的,该系统包括:
中央处理器、链路管理单元、PCIe交换芯片和中转单元;
中央处理器分别与PCIe交换芯片、中转单元和链路管理单元通信连接;链路管理单元分别与PCIe交换芯片和中转单元通信连接,且中转单元还与PCIe交换芯片通信连接;链路管理单元用于获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态,当获取到主链路故障时,停用主链路对应的上行接口,将主链路PCIe设备切换至中转单元所在的备用链路,通过备用链路连接到中央处理器。
本申请中PCIe交换芯片为一个或者多个。
中转单元为能够实现信号传输中转的芯片,在本申请中中转单元可采用PCIe交换芯片。本发明保护的范围不局限于实施例中列举出的芯片类型,本领域人员在实施例的基础上选择的其他具有中转功能的单元均在保护范围之内。
在本申请中,中央处理器通过通信端口与PCIe交换芯片和中转单元连接;中转单元通过还通信端口与PCIe交换芯片连接。
链路管理单元包括基板管理控制器和南桥;中央处理器通过DMI总线南桥通信连接;南桥通过ESPI总线与基板管理控制器通信连接;基板管理控制器分别通过UART与PCIe交换芯片通信连接。其中,UART为通用异步收发传输器。
链路管理单元获取主链路PCIe设备工作状态的过程为:南桥通过轮询中央处理器中PCIe引脚状态寄存器获取PCIe设备的连接状态。
南桥在获取到PCIe设备工作状态之后,当发现主链路断开时,将所有丢失PCIe设备信息的标识符通过ESPI接口发送至基板管理控制器。
基板管理控制器在获取到所有丢失PCIe设备信息的标识符之后,根据标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后基板管理控制器通过UART接口向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元构成的备用链路,通过备用链路连接到中央处理器。
基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元信息反馈至南桥。
本发明实施例2提出的一种PCIe链路故障自动修复方法,实现了当监控到物理故障时,立即禁用故障链路,并启动备用链路。同时将PCIe设备挂载到备用PCIe链路后,恢复系统业务运行。
实施例3
本发明实施例3还提出了一种服务器,该服务器中包括本发明实施例1中提出的一种PCIe链路故障自动修复系统,包括:中央处理器、链路管理单元、PCIe交换芯片和中转单元;
中央处理器分别与PCIe交换芯片、中转单元和链路管理单元通信连接;链路管理单元分别与PCIe交换芯片和中转单元通信连接,且中转单元还与PCIe交换芯片通信连接;链路管理单元用于获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态,当获取到主链路故障时,停用主链路对应的上行接口,将主链路PCIe设备切换至中转单元所在的备用链路,通过备用链路连接到中央处理器
本申请中PCIe交换芯片为一个或者多个。
中转单元为能够实现信号传输中转的芯片,在本申请中中转单元可采用PCIe交换芯片。本发明保护的范围不局限于实施例中列举出的芯片类型,本领域人员在实施例的基础上选择的其他具有中转功能的单元均在保护范围之内。
在本申请中,中央处理器通过通信端口与PCIe交换芯片和中转单元连接;中转单元通过还通信端口与PCIe交换芯片连接。
链路管理单元包括基板管理控制器和南桥;中央处理器通过DMI总线南桥通信连接;南桥通过ESPI总线与基板管理控制器通信连接;基板管理控制器分别通过UART与PCIe交换芯片通信连接。其中,UART为通用异步收发传输器
如图1为本发明实施例1提出的正常通信时PCIe拓扑连接示意图;通常情况,当CPU与PCIe交换芯片之间的PCIe链路发生物理故障时,PCIe交换芯片所连接的PCIe设备均不能工作。
如图2为本发明实施例1提出的链路故障时PCIe通信拓扑示意图;当发生PCIe主链路故障(例port1_1),导致PCIe设备link down时,Hot-Plug Controller先检测到该信息,并置位CPU Root Complex对应的PCIe寄存器。同时通过MSI/MSI-X中断上报到Hot-PlugDriver驱动。上层的服务程序Hot-Plug service开始处理设备拔出的请求,通知设备驱动停用PCIe设备,通知CPU Root Complex关闭PCIe链路。这样原故障链路的PCIe设备,在发生链路故障后,被安全的卸载,其他的设备正常运行。
PCH:Platform Controller Hub,是intel公司的集成南桥芯片。
如图3为本发明实施例1提出的Switch带外管理拓扑示意图;南桥芯片(运行软件称为BIOS)分别连接着中央处理器和基板管理控制器,可以转发两者的通信数据。因此BIOS可以通过中央处理器寄存器获取PCIe设备的工作状态;也可以将PCIe状态信息传递给基板管理控制器分析使用。当BIOS捕获到中央处理器与PCIe设备链路断开时,通过ESPI接口通知到基板管理控制器。基板管理控制器通过UART接口控制PCIe交换芯片,停用故障链路对应的上行接口,将全部PCIe设备挂载到备用PCIe上行接口,通过中转单元的上行接口连接中央处理器。然后BIOS通知CPU Root complex重新训练PCIe设备、分配资源和枚举初始化。
结合图2和图3说明本发明实现一种PCIe链路故障自动修复系统的工作过程。
链路管理单元获取主链路PCIe设备工作状态的过程为:南桥通过轮询中央处理器中PCIe引脚状态寄存器获取PCIe设备的连接状态。
南桥在获取到PCIe设备工作状态之后,当发现主链路断开时,将所有丢失PCIe设备信息的标识符通过ESPI接口发送至基板管理控制器。
基板管理控制器在获取到所有丢失PCIe设备信息的标识符之后,根据标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后基板管理控制器通过UART接口向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元构成的备用链路,通过备用链路连接到中央处理器。
基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元信息反馈至南桥。
详细的过程为:当端口port1_1发生物理链路故障,此时中央处理器与PCIeSwitch1连接断开,无法通信。
由于服务器已支持PCIe热插拔功能,如技术方案中所述,在发生链路故障后,PCIeSwitch1下挂载的4个PCIe设备被安全的卸载,不影响服务器系统运行。
输入输出系统每隔2秒轮询一次CPU中PCIe Slot Status状态寄存器,获取PCIe设备的连接状态。当发现链路断开时,将所有丢失的PCIe设备信息BDF序号通过ESPI接口通知基板管理控制器。
每一个PCle设备可以只有一个功能(Function),即Fun0。也可以拥有最多8个功能,即多功能设备(Multi-Fun)。不管这个PCle设备拥有多少个功能,每一个功能都有一个唯一独立的配置空间(ConfigurationQ Space)与之对应。和PCIe总线一样,PCle总线中的每-一个功能(Function)都有一个唯一的标识符与之对应。这个标识符就是BDF(Bus,Device,Function),PCle的配置软件(即Root的应用层,一般是PC)应当有能力识别整个PCle总线系统的拓扑逻辑,以及其中的每一条总线(Bus),每一个设备(Device)和每一项功能(Function)。在BDF中,Bus Number用8位,Device Number占用5位,Function Number占用3位。显然,PCle总线最多支持256个子总线,每个子总线最多支持32个设备,每个设备最多支持8个功能。
基板管理控制器内置一份PCIe配置表,根据BDF序号查找到对应PCIe设备1/2/3/4,挂载在PCIe Switch1。基板管理控制器通过uart1接口向PCIe Switch1发送指令集,控制其关闭上行接口Port1_1,并修改上行接口为Port1_2。
基板管理控制器完成配置PCIe Switch1芯片之后,将配置成功状态和备用链路PCIe Port3信息反馈给到南桥芯片。此时输入输出系统解析信息后,通知Port3链路对应CPU Root complex重新训练PCIe设备、分配资源和枚举初始化。
后续按照PCIe卡热插入机制,操作系统kernel相关程序调用设备驱动完成PCIe设备初始化和业务恢复。
本发明实施例3提出的一种服务器,实现了当监控到物理故障时,立即禁用故障链路,并启动备用链路。同时将PCIe设备挂载到备用PCIe链路后,恢复系统业务运行。
本申请实施例3提供的一种服务器中相关部分的说明可以参见本申请实施例1提供的一种PCIe链路故障自动修复系统中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.一种PCIe链路故障自动修复的系统,其特征在于,包括中央处理器、链路管理单元、PCIe交换芯片和中转单元;
所述中央处理器分别与PCIe交换芯片、中转单元和链路管理单元通信连接;所述链路管理单元分别与PCIe交换芯片和中转单元通信连接,且中转单元还与PCIe交换芯片通信连接;
所述链路管理单元用于获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态,当获取到主链路故障时,停用主链路对应的上行接口,将主链路PCIe设备切换至中转单元所在的备用链路,通过备用链路连接到中央处理器。
2.根据权利要求1所述的一种PCIe链路故障自动修复的系统,其特征在于,所述PCIe交换芯片为一个或者多个。
3.根据权利要求1所述的一种PCIe链路故障自动修复的系统,其特征在于,所述中央处理器通过通信端口与PCIe交换芯片和中转单元连接;所述中转单元通过还通信端口与PCIe交换芯片连接。
4.根据权利要求1所述的一种PCIe链路故障自动修复的系统,其特征在于,所述链路管理单元包括基板管理控制器和南桥;
所述中央处理器通过DMI总线南桥通信连接;南桥通过ESPI总线与基板管理控制器通信连接;所述基板管理控制器分别通过UART与PCIe交换芯片通信连接。
5.根据权利要求4所述的一种PCIe链路故障自动修复的系统,其特征在于,链路管理单元获取中央处理器和PCIe交换芯片所在主链路的PCIe设备工作状态的过程为:南桥通过轮询中央处理器中PCIe引脚状态寄存器获取PCIe设备的连接状态。
6.根据权利要求5所述的一种PCIe链路故障自动修复的系统,其特征在于,南桥在获取到PCIe设备工作状态之后,当发现主链路断开时,将所有丢失PCIe设备信息的标识符通过ESPI接口发送至基板管理控制器;
基板管理控制器在获取到所有丢失PCIe设备信息的标识符之后,根据所述标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后基板管理控制器通过UART接口向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元所在备用链路,通过备用链路连接到中央处理器。
7.根据权利要求6所述的一种PCIe链路故障自动修复的系统,其特征在于,所述基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元的信息反馈至南桥。
8.一种PCIe链路故障自动修复的方法,是基于权利要求1至7任意一项所述的一种PCIe链路故障自动修复的系统实现的,其特征在于,包括以下步骤:
南桥轮询中央处理器中PCIe引脚状态寄存器,获取主链路的连接状态,当发现主链路断开时,将所有丢失PCIe设备信息的标识符发送至基板管理控制器;
基板管理控制器接收丢失PCIe设备信息的标识符,根据所述标识符在内置的PCIe配置表中查找对应的PCIe设备所挂载的PCIe交换芯片,然后向主链路的PCIe交换芯片发出关闭上行接口的指令,并将主链路PCIe设备切换至中转单元所在备用链路,通过备用链路连接到中央处理器。
9.根据权利要求8所述的一种PCIe链路故障自动修复的方法,其特征在于,所述方法还包括:基板管理控制器在将发生链路故障的PCIe设备切换备用链路之后,将中转单元的信息反馈至南桥。
10.一种服务器,其特征在于,包括权利要求1至7任意一项所述的一种PCIe链路故障自动修复的系统。
CN202310565005.8A 2023-05-18 2023-05-18 一种PCIe链路故障自动修复的系统、方法和一种服务器 Pending CN116643904A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310565005.8A CN116643904A (zh) 2023-05-18 2023-05-18 一种PCIe链路故障自动修复的系统、方法和一种服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310565005.8A CN116643904A (zh) 2023-05-18 2023-05-18 一种PCIe链路故障自动修复的系统、方法和一种服务器

Publications (1)

Publication Number Publication Date
CN116643904A true CN116643904A (zh) 2023-08-25

Family

ID=87642798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310565005.8A Pending CN116643904A (zh) 2023-05-18 2023-05-18 一种PCIe链路故障自动修复的系统、方法和一种服务器

Country Status (1)

Country Link
CN (1) CN116643904A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116881053A (zh) * 2023-09-06 2023-10-13 苏州浪潮智能科技有限公司 数据处理方法及交换板、数据处理系统、数据处理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116881053A (zh) * 2023-09-06 2023-10-13 苏州浪潮智能科技有限公司 数据处理方法及交换板、数据处理系统、数据处理装置
CN116881053B (zh) * 2023-09-06 2023-11-17 苏州浪潮智能科技有限公司 数据处理方法及交换板、数据处理系统、数据处理装置

Similar Documents

Publication Publication Date Title
US4999787A (en) Hot extraction and insertion of logic boards in an on-line communication system
CN101557379B (zh) 一种pcie接口的链路重组方法和装置
CN105718408A (zh) 可热插拔的计算系统、计算机实施方法及系统
US20060161714A1 (en) Method and apparatus for monitoring number of lanes between controller and PCI Express device
RU2614569C2 (ru) Стойка с функцией автоматического восстановления и способ автоматического восстановления для этой стойки
CN102724093B (zh) 一种atca机框及其ipmb连接方法
CN102446149A (zh) 一种能够实现紧凑型pci产品热插拔的处理方法以及系统
CN103136048A (zh) 计算机系统
CN116643904A (zh) 一种PCIe链路故障自动修复的系统、方法和一种服务器
JPH08115281A (ja) 情報処理システムと通信サービスボード
US6438639B1 (en) Computer system bus network providing concurrent communication and connection transition of peripheral devices
CN110968352A (zh) 一种pcie设备的复位系统及服务器系统
CN111417034B (zh) 一种交换机及其交换板卡热插拔方法、装置和系统
CN111158731A (zh) 一种基于cpld的网卡固件升级装置及方法
CN110908863A (zh) Arm引擎集群服务器
CN110764829A (zh) 一种多路服务器cpu隔离方法及系统
CN116089176A (zh) 一种用于auv的热备双冗余计算机控制系统
CN113867787A (zh) 一种服务器网卡之间的切换系统和方法
CN103838696B (zh) 一种插板管理及板间信令复用装置及方法
TWI704464B (zh) 資料備援系統
JP4906158B1 (ja) Kvm切替器、および切替時のusb入力装置接続維持方法
JP4915113B2 (ja) バスシステム、リセットイニシャライズ回路、及びバスシステムにおける障害復旧方法
CN105812172A (zh) 用户终端及其hsic从设备故障处理方法及装置
CN215300646U (zh) 旁路控制装置
CN100362503C (zh) 一种热插拔的实现方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination