一种跨节点的带内散热控制方法和装置与流程

文档序号:22400349发布日期:2020-09-29 18:12阅读:166来源:国知局
一种跨节点的带内散热控制方法和装置与流程

本发明涉及散热控制领域,更具体地,特别是指一种跨节点的带内散热控制方法和装置。



背景技术:

在服务器整机柜的开发中,计算节点加存储节点搭配使用的方案越来越普及,相应的散热管控方法也逐渐引起重视。目前,服务器通常采用风冷的方式进行散热,通过一个管理芯片实现风扇调控策略,以满足散热需求。

在计算节点搭配存储节点的架构中,计算节点通常采用bmc来实现风扇的管控,而存储节点的散热就成了问题。一种方法是在存储节点增加bmc来实现管控,但会增加很多的成本;另一种方法是将存储节点的散热管控交由计算节点的bmc管理,采用将bmc的pwm等管理信号拉到存储节点的方式或用bmc-i2c-存储节点cpld的方式,但这种方法需要增加额外的管理线缆,且在bmc挂死时难以实现实时散热调控。

针对现有技术中跨节点散热控制成本高、线缆多、稳定性低、自主能力差的问题,目前尚无有效的解决方案。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种跨节点的带内散热控制方法和装置,能够降低额外成本、避免使用额外线缆、提高工作稳定性和存储节点自主控制能力。

基于上述目的,本发明实施例的第一方面提供了一种跨节点的带内散热控制方法,包括执行以下步骤:

由计算节点的基板管理控制器向主机总线适配器发送用于获取存储节点的温度信息的第一指令的内部集成电路信号;

由计算节点的主机总线适配器将内部集成电路信号转化为scsi机柜服务信号,并通过串行连接scsi数据链路发送到存储节点的串行连接scsi扩展器芯片;

由串行连接scsi扩展器芯片从scsi机柜服务信号中解析出第一指令,通过临时内部集成电路链路访问存储节点的传感器以获得存储节点的温度信息,并原路反馈给基板管理控制器;

由基板管理控制器根据存储节点的温度信息确定用于控制存储节点的风扇的工作强度的第二指令,并将第二指令以与第一指令相同的方式传递到串行连接scsi扩展器芯片;

由串行连接scsi扩展器芯片将第二指令以内部集成电路信号的方式发送给存储节点的风扇复杂逻辑可编程器件,使得风扇复杂逻辑可编程器件根据第二指令来控制风扇的工作强度。

在一些实施方式中,还包括:

由风扇复杂逻辑可编程器件在第一次接收到第二指令之前将风扇的工作强度设置为最高强度;

响应于串行连接scsi扩展器芯片在预定时间内未获得来自基板管理控制器的第二指令,而由串行连接scsi扩展器芯片根据存储节点的温度信息确定第二指令;

响应于风扇复杂逻辑可编程器件在预定时间内未获得来自串行连接scsi扩展器芯片的第二指令,而由风扇复杂逻辑可编程器件将风扇的工作强度设置为最高强度。

在一些实施方式中,还包括:

由风扇复杂逻辑可编程器件采集风扇的转速信息和在位信息,并将转速信息和在位信息存储在风扇复杂逻辑可编程器件的寄存器中;

由串行连接scsi扩展器芯片访问寄存器和/或基板管理控制器通过串行连接scsi扩展器芯片访问寄存器以获取转速信息和在位信息以监控风扇的工作状态;

由串行连接scsi扩展器芯片和/或基板管理控制器根据风扇的工作状态和存储节点的温度信息来控制风扇的工作强度。

在一些实施方式中,还包括:

由存储节点的电源模块为所属风扇供电,由电源模块提供用于供电保护的电子保险丝;

由串行连接scsi扩展器芯片通过电源管理总线从电子保险丝获取风扇的功耗数据,将风扇的功耗数据缓存和/或反馈到基板管理控制器使得串行连接scsi扩展器芯片和/或基板管理控制器获得风扇的功耗信息。

在一些实施方式中,串行连接scsi扩展器芯片将通过串行连接scsi数据总线连接的固态硬盘用作缓存。

本发明实施例的第二方面提供了一种跨节点的带内散热控制装置,包括:

具有基板管理控制器和主机总线适配器的计算节点;和

具有串行连接scsi扩展器芯片、风扇复杂逻辑可编程器件、传感器、和风扇的存储节点;

其中,基板管理控制器、串行连接scsi扩展器芯片、和风扇复杂逻辑可编程器件各自存储有可运行的程序代码,上述程序代码在被运行时执行以下步骤:

由计算节点的基板管理控制器向主机总线适配器发送用于获取存储节点的温度信息的第一指令的内部集成电路信号;

由计算节点的主机总线适配器将内部集成电路信号转化为scsi机柜服务信号,并通过串行连接scsi数据链路发送到存储节点的串行连接scsi扩展器芯片;

由串行连接scsi扩展器芯片从scsi机柜服务信号中解析出第一指令,通过临时内部集成电路链路访问存储节点的传感器以获得存储节点的温度信息,并原路反馈给基板管理控制器;

由基板管理控制器根据存储节点的温度信息确定用于控制存储节点的风扇的工作强度的第二指令,并将第二指令以与第一指令相同的方式传递到串行连接scsi扩展器芯片;

由串行连接scsi扩展器芯片将第二指令以内部集成电路信号的方式发送给存储节点的风扇复杂逻辑可编程器件,使得风扇复杂逻辑可编程器件根据第二指令来控制风扇的工作强度。

在一些实施方式中,步骤还包括:

由风扇复杂逻辑可编程器件在第一次接收到第二指令之前将风扇的工作强度设置为最高强度;

响应于串行连接scsi扩展器芯片在预定时间内未获得来自基板管理控制器的第二指令,而由串行连接scsi扩展器芯片根据存储节点的温度信息确定第二指令;

响应于风扇复杂逻辑可编程器件在预定时间内未获得来自串行连接scsi扩展器芯片的第二指令,而由风扇复杂逻辑可编程器件将风扇的工作强度设置为最高强度。

在一些实施方式中,步骤还包括:

由风扇复杂逻辑可编程器件采集风扇的转速信息和在位信息,并将转速信息和在位信息存储在风扇复杂逻辑可编程器件的寄存器中;

由串行连接scsi扩展器芯片访问和/或基板管理控制器通过串行连接scsi扩展器芯片访问寄存器获取转速信息和在位信息以监控风扇的工作状态;

由串行连接scsi扩展器芯片和/或基板管理控制器根据风扇的工作状态和存储节点的温度信息来控制风扇的工作强度。

在一些实施方式中,步骤还包括:

由存储节点的电源模块为所属风扇供电,由电源模块提供用于供电保护的电子保险丝;

由串行连接scsi扩展器芯片通过电源管理总线从电子保险丝获取风扇的功耗数据,将风扇的功耗数据缓存和/或反馈到基板管理控制器使得串行连接scsi扩展器芯片和/或基板管理控制器获得风扇的功耗信息。

在一些实施方式中,串行连接scsi扩展器芯片将通过串行连接scsi数据总线连接的固态硬盘用作缓存。

本发明具有以下有益技术效果:本发明实施例提供的跨节点的带内散热控制方法和装置,通过由计算节点的基板管理控制器向主机总线适配器发送用于获取存储节点的温度信息的第一指令的内部集成电路信号;由计算节点的主机总线适配器将内部集成电路信号转化为scsi机柜服务信号,并通过串行连接scsi数据链路发送到存储节点的串行连接scsi扩展器芯片;由串行连接scsi扩展器芯片从scsi机柜服务信号中解析出第一指令,通过临时内部集成电路链路访问存储节点的传感器获得存储节点的温度信息,并原路反馈给基板管理控制器;由基板管理控制器根据存储节点的温度信息确定用于控制存储节点的风扇的工作强度的第二指令,并将第二指令以与第一指令相同的方式传递到串行连接scsi扩展器芯片;由串行连接scsi扩展器芯片将第二指令以内部集成电路信号的方式发送给存储节点的风扇复杂逻辑可编程器件,使得风扇复杂逻辑可编程器件根据第二指令来控制风扇的工作强度的技术方案,能够降低额外成本、避免使用额外线缆、提高工作稳定性和存储节点自主控制能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的跨节点的带内散热控制方法的流程示意图;

图2为本发明提供的跨节点的带内散热控制装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了一种能够降低额外成本、避免使用额外线缆、提高工作稳定性和存储节点自主控制能力的跨节点的带内散热控制方法的一个实施例。图1示出的是本发明提供的跨节点的带内散热控制方法的流程示意图。

所述的跨节点的带内散热控制方法,如图1所示,包括执行以下步骤:

步骤s101:由计算节点的基板管理控制器向主机总线适配器发送用于获取存储节点的温度信息的第一指令的内部集成电路信号;

步骤s103:由计算节点的主机总线适配器将内部集成电路信号转化为scsi机柜服务信号,并通过串行连接scsi数据链路发送到存储节点的串行连接scsi扩展器芯片;

步骤s105:由串行连接scsi扩展器芯片从scsi机柜服务信号中解析出第一指令,通过临时内部集成电路链路访问存储节点的传感器以获得存储节点的温度信息,并原路反馈给基板管理控制器;

步骤s107:由基板管理控制器根据存储节点的温度信息确定用于控制存储节点的风扇的工作强度的第二指令,并将第二指令以与第一指令相同的方式传递到串行连接scsi扩展器芯片;

步骤s109:由串行连接scsi扩展器芯片将第二指令以内部集成电路信号的方式发送给存储节点的风扇复杂逻辑可编程器件,使得风扇复杂逻辑可编程器件根据第二指令来控制风扇的工作强度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

在一些实施方式中,方法还包括:由风扇复杂逻辑可编程器件在第一次接收到第二指令之前将风扇的工作强度设置为最高强度;

响应于串行连接scsi扩展器芯片在预定时间内未获得来自基板管理控制器的第二指令,而由串行连接scsi扩展器芯片根据存储节点的温度信息确定第二指令;

响应于风扇复杂逻辑可编程器件在预定时间内未获得来自串行连接scsi扩展器芯片的第二指令,而由风扇复杂逻辑可编程器件将风扇的工作强度设置为最高强度。

在一些实施方式中,方法还包括:由风扇复杂逻辑可编程器件采集风扇的转速信息和在位信息,并将转速信息和在位信息存储在风扇复杂逻辑可编程器件的寄存器中;

由串行连接scsi扩展器芯片访问寄存器和/或基板管理控制器通过串行连接scsi扩展器芯片访问寄存器以获取转速信息和在位信息以监控风扇的工作状态;

由串行连接scsi扩展器芯片和/或基板管理控制器根据风扇的工作状态和存储节点的温度信息来控制风扇的工作强度。

在一些实施方式中,方法还包括:由存储节点的电源模块为所属风扇供电,由电源模块提供用于供电保护的电子保险丝;

由串行连接scsi扩展器芯片通过电源管理总线从电子保险丝获取风扇的功耗数据,将风扇的功耗数据缓存和/或反馈到基板管理控制器使得串行连接scsi扩展器芯片和/或基板管理控制器获得风扇的功耗信息。

在一些实施方式中,串行连接scsi扩展器芯片将通过串行连接scsi数据总线连接的固态硬盘用作缓存。

根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。

下面根据图2所示的具体实施例进一步阐述本发明的具体实施方式。

初始情况下,由存储节点风扇控制cpld控制风扇全速转;

当计算节点bmc(基板管理控制器)正常后,通过i2c(内部集成电路)发出获取存储节点温度信息的指令,hba(主机总线适配器)卡支持mctpoveri2c,由hba卡将bmci2c管理信息转换为sas(串行连接scsi数据)信号中的ses(scsi机柜服务信号)命令,通过sas数据链路给到存储节点sas_expander芯片,sas_expander芯片可实现对sas信号中ssp、smp及ses命令协议的解析及数据处理,expander解析ses协议中的bmc管理指令,expander芯片支持多路i2c输出,通过temp_i2c链路获取存储节点内各传感器温度信息,并转换为ses命令协议通过高速链路反馈给bmc。

存储节点中的sas-expander芯片除了实现sas信号的拓展,还可以作为i2cmaster支持多路i2c输出,expander芯片可以解析sas数据链路中的ses命令管理指令,并通过i2c收集存储节点的温度信息、风扇状态信息和功耗信息,并发送风扇控制信息给到存储节点风扇板的cpld(复杂可编程逻辑器件),并将通过i2c收集到的数据转换为ses命令通过数据链路传递到hba卡。

计算节点的hba卡需支持mctpoveri2c,与bmc通过i2c交互并将bmc的管理指令转换为sas协议中的ses命令下一,将存放在机柜的不同元素中的bmc控制指令和存储节点状态指令区分性的进行解析转换,以完成通过sas高速数据链路传递管理指令给存储节点的sas-expander芯片或接收expander发送的状态信息的功能。

bmc根据存储节点的散热需求,通过i2c发送风扇控制命令(主要是pwm(脉宽调制)占空比),经hba卡转换后由expander芯片解析为风扇控制i2c并给到cpld,由风扇控制cpld产生pwm信号实现风扇转速的调控。cpld接收风扇发出的tach(转速)信号和在位信号,并将转速信息和在位信息存储在寄存器中供bmc或expander芯片通过i2c获取,实现风扇状态的监控。

计算节点的bmc为风扇控制的最高控制级,通过i2c从hba卡获取expander通过数据链路传递的存储节点温度信息,发送风扇控制信息(pwm占空比信息)并接收风扇的状态信息(风扇在位信息,风扇转速信息),结合tach信号和pwm信号判断风扇状态,并下达风扇状态灯的点灯指令。

风扇板cpld主要负责风扇控制信号的产生和状态信息获取,根据接收到的expander发出的i2c中的pwm占空比信息和风扇状态灯点灯信息,来输出pwm信号控制风扇转速,并点亮对应风扇的状态灯,cpld还需要通过接收风扇发出的tach信号将风扇的转速信息存储在寄存器中,转速信息可由expander通过i2c抓取。

风扇供电由存储节点电源模块产生,并通过efuse(电子保险丝)实现供电保护,且expander芯片可以通过pmbus获取风扇功耗信息并通过ses协议回传给计算节点bmc。

通过bmc-i2c-hba-sas(主要通过ses命令协议)-expander的带外带内转换的方式实现bmc与expander芯片的管理信息交互,通过设置响应时间阈值,当expander发出的ses命令状态信息长时间未得到bmc的响应或expander芯片无法检测到接收到的ses命令协议中bmc的有效控制指令,expander芯片便会判断为bmc工作异常,接管bmc的风扇管理工作,自行根据存储节点的温度来实现风扇调控,实现存储节点的自主散热管理。当风扇控制cpld接收到的风扇控制i2c挂死时,由cpld直接控制风扇全速转动或高速转动,以防止过温,作为第三级风扇控制保障。

当expander发出的状态信息长时间未得到bmc的响应或expander芯片无法检测到接收到的ses命令协议中bmc的有效控制指令,expander会切换模拟开关,由expander芯片接管bmc的风扇控制工作,包括通过监控到的机箱内各sensor的温度信息通过i2c发送风扇控制信息调控风扇转速,以及风扇状态的监控等,作为第二级控制,实现存储节点的自主管理。当风扇板cpld检测到由expander发出的i2c挂死时,由风扇板cpld接管风扇控制工作,控制风扇全速或高速运转,以满足节点的散热需求,防止出现过温问题。

从上述实施例可以看出,本发明实施例提供的跨节点的带内散热控制方法,通过由计算节点的基板管理控制器向主机总线适配器发送用于获取存储节点的温度信息的第一指令的内部集成电路信号;由计算节点的主机总线适配器将内部集成电路信号转化为scsi机柜服务信号,并通过串行连接scsi数据链路发送到存储节点的串行连接scsi扩展器芯片;由串行连接scsi扩展器芯片从scsi机柜服务信号中解析出第一指令,通过临时内部集成电路链路访问存储节点的传感器获得存储节点的温度信息,并原路反馈给基板管理控制器;由基板管理控制器根据存储节点的温度信息确定用于控制存储节点的风扇的工作强度的第二指令,并将第二指令以与第一指令相同的方式传递到串行连接scsi扩展器芯片;由串行连接scsi扩展器芯片将第二指令以内部集成电路信号的方式发送给存储节点的风扇复杂逻辑可编程器件,使得风扇复杂逻辑可编程器件根据第二指令来控制风扇的工作强度的技术方案,能够降低额外成本、避免使用额外线缆、提高工作稳定性和存储节点自主控制能力。

需要特别指出的是,上述跨节点的带内散热控制方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于跨节点的带内散热控制方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

基于上述目的,本发明实施例的第二个方面,提出了一种能够降低额外成本、避免使用额外线缆、提高工作稳定性和存储节点自主控制能力的跨节点的带内散热控制装置的一个实施例。跨节点的带内散热控制装置包括:

具有基板管理控制器和主机总线适配器的计算节点;和

具有串行连接scsi扩展器芯片、风扇复杂逻辑可编程器件、传感器、和风扇的存储节点;

其中,基板管理控制器、串行连接scsi扩展器芯片、和风扇复杂逻辑可编程器件各自存储有可运行的程序代码,上述程序代码在被运行时执行以下步骤:

由计算节点的基板管理控制器向主机总线适配器发送用于获取存储节点的温度信息的第一指令的内部集成电路信号;

由计算节点的主机总线适配器将内部集成电路信号转化为scsi机柜服务信号,并通过串行连接scsi数据链路发送到存储节点的串行连接scsi扩展器芯片;

由串行连接scsi扩展器芯片从scsi机柜服务信号中解析出第一指令,通过临时内部集成电路链路访问存储节点的传感器以获得存储节点的温度信息,并原路反馈给基板管理控制器;

由基板管理控制器根据存储节点的温度信息确定用于控制存储节点的风扇的工作强度的第二指令,并将第二指令以与第一指令相同的方式传递到串行连接scsi扩展器芯片;

由串行连接scsi扩展器芯片将第二指令以内部集成电路信号的方式发送给存储节点的风扇复杂逻辑可编程器件,使得风扇复杂逻辑可编程器件根据第二指令来控制风扇的工作强度。

在一些实施方式中,步骤还包括:由风扇复杂逻辑可编程器件在第一次接收到第二指令之前将风扇的工作强度设置为最高强度;

响应于串行连接scsi扩展器芯片在预定时间内未获得来自基板管理控制器的第二指令,而由串行连接scsi扩展器芯片根据存储节点的温度信息确定第二指令;

响应于风扇复杂逻辑可编程器件在预定时间内未获得来自串行连接scsi扩展器芯片的第二指令,而由风扇复杂逻辑可编程器件将风扇的工作强度设置为最高强度。

在一些实施方式中,步骤还包括:由风扇复杂逻辑可编程器件采集风扇的转速信息和在位信息,并将转速信息和在位信息存储在风扇复杂逻辑可编程器件的寄存器中;

由串行连接scsi扩展器芯片访问和/或基板管理控制器通过串行连接scsi扩展器芯片访问寄存器获取转速信息和在位信息以监控风扇的工作状态;

由串行连接scsi扩展器芯片和/或基板管理控制器根据风扇的工作状态和存储节点的温度信息来控制风扇的工作强度。

在一些实施方式中,步骤还包括:由存储节点的电源模块为所属风扇供电,由电源模块提供用于供电保护的电子保险丝;

由串行连接scsi扩展器芯片通过电源管理总线从电子保险丝获取风扇的功耗数据,将风扇的功耗数据缓存和/或反馈到基板管理控制器使得串行连接scsi扩展器芯片和/或基板管理控制器获得风扇的功耗信息。

在一些实施方式中,串行连接scsi扩展器芯片将通过串行连接scsi数据总线连接的固态硬盘用作缓存。

从上述实施例可以看出,本发明实施例提供的跨节点的带内散热控制装置,通过由计算节点的基板管理控制器向主机总线适配器发送用于获取存储节点的温度信息的第一指令的内部集成电路信号;由计算节点的主机总线适配器将内部集成电路信号转化为scsi机柜服务信号,并通过串行连接scsi数据链路发送到存储节点的串行连接scsi扩展器芯片;由串行连接scsi扩展器芯片从scsi机柜服务信号中解析出第一指令,通过临时内部集成电路链路访问存储节点的传感器获得存储节点的温度信息,并原路反馈给基板管理控制器;由基板管理控制器根据存储节点的温度信息确定用于控制存储节点的风扇的工作强度的第二指令,并将第二指令以与第一指令相同的方式传递到串行连接scsi扩展器芯片;由串行连接scsi扩展器芯片将第二指令以内部集成电路信号的方式发送给存储节点的风扇复杂逻辑可编程器件,使得风扇复杂逻辑可编程器件根据第二指令来控制风扇的工作强度的技术方案,能够降低额外成本、避免使用额外线缆、提高工作稳定性和存储节点自主控制能力。

需要特别指出的是,上述跨节点的带内散热控制装置的实施例采用了所述跨节点的带内散热控制方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述跨节点的带内散热控制方法的其他实施例中。当然,由于所述跨节点的带内散热控制方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述跨节点的带内散热控制装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1