本发明实施例涉及服务器领域,尤其涉及一种服务器、服务器多cpld信号的管理方法及存储介质。
背景技术:
1、随着云计算、大数据等技术应用,数据在近几年呈指数型增长,作为数据承载设备的服务器也不断发展,同时服务器的类型和配置也在多样化,为了满足大规模ai训练应用算力需求,匹配csp、互联网、iva、金融、教科研和大型ai企业客户的多种ai应用场景下的需求,越来越多的高性能ai服务器在各行各业被广泛应用。
2、在服务器的设计中,cpu、gpu和pcie设备等部件需要考虑功耗和散热问题,因此要用大功率的程序存储单元(program storage unit,psu)和风扇,还需要考虑各板卡之间重要关键信号的通信和管理问题,因此需要应用多种总线如i2c、sgpio、usb、spi等。在服务器系统中,一般会设计一个bmc来控制和管理整个服务器系统,并设计一个cpld来控制服务器系统的电源时序,因此cpu、psu、风扇等多种部件的管理都离不开cpld。随着intel平台升级和ocp dc-dcm规范的应用,scm板一个cpld和主板一个cpld的设计广为使用,而在ai服务器中,因为需要兼容的部件繁多,功能多且设计复杂,一个bmc和两个cpld也无法满足整个系统的管理需求,因此ai服务器的设计中需要考虑多种板卡和模块之间的管理通信问题。
3、因ai服务器架构庞大,需要有对主板进行供电、散热的psu和风扇,和对gpu板进行供电、散热的psu和风扇,这样的话整个机箱会分成上几u的cpu计算单元--主板和下几u的gpu计算单元—gpu板(如nvidia新一代gpu板delta-next或自研的基于ubb规范的ubbbaseboard)。在这种架构下,scm板需要一个cpld控制时序和管理,mb板需要一个cpld控制整机时序和记录服务器告警信息,若mb cpld的逻辑资源或gpio不够用还需要再加一个fancpld控制和管理给上几u散热的风扇,风扇板有一个cpld控制和管理给下几u散热的风扇,电源板有一个cpld控制和管理psu相关信号。目前服务器的bmc与主板的cpld主要是通过i2c来做信息的传输,在系统架构比较庞大和复杂时,重要信息可能会传递不及时,导致系统故障或异常处理不及时导致系统奔溃。
4、目前服务器的bmc与cpld主要是通过i2c来做信息的传输,一般需要设计独立的i2c通道到不同板卡的cpld做信息传递,bmc通过i2c读写cpld的寄存器对系统进行管理的同时还要兼顾cpld的fw升级。当系统中有6个cpld要和bmc通信时,需要6路i2c接到6个cpld的update和w/r通道,如图1。除i2c外,bmc与cpld之间还可以通过gpio信号来通信,如图2,bmc和cpld的gpio可以配置成输入或者输出接口,提供额外的控制和监控功能。这种bmc与cpld之间通过i2c、gpio传输的方式,传输速度较慢,传输数据有限,不能实现bmc与cpld之间信息的同步。多个cpld采集到的信息,不能实时传输给bmc,并且占用的bmc与cpld的pin脚比较多。
5、目前服务器cpld与bmc通信管理方法,存在以下问题:因板卡类型多样,需要管理通信的设备会很多,多个cpld的i2c通道容易占用i2c链路;板卡i2c和gpio信号容易引来串扰或因走线问题影响信号质量;由于bmc管理的系统结构较大,导致硬件异常时需要逐步确认哪一路i2c无法控制或者是i2c总线上有哪一个设备有异常导致的整个链路出现问题;i2c总线的时钟频率一般采用100k,cpld采集到的信息不能实时传输给bmc;缺乏灵活性,系统架构复杂庞大时,有些板卡的cpld无法直接传递重要关键信号不利于整机调控;gpio占用的bmc与cpld的pin脚比较多,不利于信号走线,板卡间互联的连接器也会因信号多而选型较大;制作成本较高、使用不方便。
技术实现思路
1、鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种服务器、服务器多cpld信号的管理方法及存储介质。
2、第一方面,本发明实施例提供一种服务器,包括:bmc以及与bmc通信连接的多个硬件板卡;
3、所述多个硬件板卡中的每个硬件板卡至少设置有一个cpld,通过所述cpld与所述bmc进行通信连接;
4、所述多个硬件板卡中至少包括一个中备板卡,用于控制其他硬件板卡与所述bmc的通信连接。
5、在一个可能的实施方式中,所述多个硬件板卡还包括电源板、风扇板、ubb板和mb板;
6、所述电源板、风扇板、ubb板和mb板通过sgpio信号逐级传递到所述scm板卡的cpld,再通过所述cpld传递到所述bmc。
7、在一个可能的实施方式中,所述中备板卡设置有mux芯片;
8、基于所述mux芯片控制所述多个硬件板卡的sgpio链路的接通或关闭。
9、在一个可能的实施方式中,所述多个硬件板卡还包括scm板卡;
10、所述bmc设置于所述scm板卡上。
11、在一个可能的实施方式中,所述电源板用于传递psu_prsnt、ac_ok、dc_ok、psu_alert信号;
12、所述风扇板用于传递风扇的在位信息和转速信息;
13、所述ubb板用于传递oam gpu在位、oamalert oampwrgd信号。
14、在一个可能的实施方式中,所述mb板设置有主cpld和fan cpld;
15、所述主cpld用于传递时序和异常监控信息;
16、所述fan cpld用于传递风扇的在位信息和转速信息。
17、在一个可能的实施方式中,所述mb板设置的主cpld分为多个sgpio域;
18、所述多个sgpio域将收集到的cpld信号通过金手指传输至scm板卡的cpld;
19、所述scm板卡的cpld将接收到的cpld信号传输至所述bmc。
20、在一个可能的实施方式中,所述bmc的内部寄存器分为多个模块,用于根据接收到的cpld信号对所述多个硬件板卡进行管理和调控。
21、第二方面,本发明实施例提供一种服务器多cpld信号的管理方法,包括:
22、接收多个硬件板卡传输的cpld信号;
23、将所述cpld信号按照对应的硬件板卡分别发送至对应的处理模块;
24、通过所述处理模块,基于所述多个硬件板卡传输的cpld信号分别对所述多个硬件板卡进行管理。
25、在一个可能的实施方式中,所述方法还包括:
26、通过所述处理模块,基于所述多个硬件板卡传输的cpld信号分别生成每个硬件板卡的管理信息;
27、将所述管理信息通过i2c总线发送至对应的硬件板卡。
28、第三方面,本发明实施例提供一种服务器,其特征在于,包括:存储器,所述存储器中存储的服务器多cpld信号的管理程序,以实现上述第二方面中所述的服务器多cpld信号的管理方法。
29、本发明实施例提供的服务器,包括bmc以及与bmc通信连接的多个硬件板卡;所述多个硬件板卡中的每个硬件板卡至少设置有一个cpld,通过所述cpld与所述bmc进行通信连接;所述多个硬件板卡中至少包括一个中备板卡,用于控制其他硬件板卡与所述bmc的通信连接。相比于目前服务器cpld与bmc通信管理方法通过i2c来做信息的传输,传输速度较慢,传输数据有限,不能实现bmc与cpld之间信息的同步,多个cpld采集到的信息,不能实时传输给bmc,并且占用的bmc与cpld的pin脚比较多的问题。由本服务器的sgpio信号的4路串行总线完成多路并行数据的传输,减少了bmc和cpld的占用i/o引脚,简化了板卡走线和传输线缆,节约了成本;不同板卡上的cpld芯片能完成很多块串并数据转换集成芯片的功能,节省了板上布局空间,又方便进行扩展,在相同时钟频率和相同传输长度的情况下,sgpio信号数据传输速率快于i2c串行总线;板卡cpld与cpld之间通过sgpio信号传递重要信号,加强了bmc对各个板卡重要关键信号的监控和管理,增加了系统控制的准确性和灵活性。
30、本发明实施例提供的服务器多cpld信号的管理方案,通过接收多个硬件板卡传输的cpld信号;将所述cpld信号按照对应的硬件板卡分别发送至对应的处理模块;通过所述处理模块,基于所述多个硬件板卡传输的cpld信号分别对所述多个硬件板卡进行管理。相比于目前服务器cpld与bmc通信管理方法通过i2c来做信息的传输,传输速度较慢,传输数据有限,不能实现bmc与cpld之间信息的同步,多个cpld采集到的信息,不能实时传输给bmc,并且占用的bmc与cpld的pin脚比较多的问题。由本方案,各板卡bmc与cpld之间、cpld与cpld之间通过sgpio信号传递重要信号;在cpld内部区分多个sgpio寄存器域,将重要关键信号分模块通过cpld传递至bmc,可以快速传输信息,并方便bmc进行管理和调控。