本发明涉及服务器技术领域,具体为一种扩展expander卡及expander卡的扩展方法。
背景技术:
随着互联网技术的快速发展,各种应用场合不断对服务器提出小型化、低功耗、高性能的要求。m.2接口硬盘的出现,极大改善了服务器机箱空间紧张的问题,它可以做的比sata硬盘还要小巧,又有丰富的可扩展性,可以提高ssd容量。m.2接口可以同时支持sata及pcie通道,m.2接口使用pcie通道更容易提高速度,大大提升了ssd性能潜力。m.2接口硬盘已经成为新一代高性能ssd的首选。通过m.2ssdexpander卡集中扩展m.2ssd,充分发挥了m.2结构优势节约机箱空间,同时ssd硬盘性能远优于传统hdd硬盘,在同样空间内提升服务器的性能。
但由于expander卡各器件设备状态信号及m.2i2c总线较多,且expander卡上有部分逻辑控制信号均不便于直接采用主板bmc去控制。现有技术中,主板bmc通常通过i2c总线实现对板载及扩展卡设备的访问及监控,bmc可以通过i2c总线监控及记录部分重要信号到日志中,但其所能监控的信号受限于硬件连接是有限的。
但是,若将bmc集成到expander卡上,可实现对expander卡的监控与管理,但增加系统的管理复杂度,且软硬件成本较高。
技术实现要素:
为了克服上述所指出的现有技术的缺陷,本发明人对此进行了深入研究,在付出了大量创造性劳动后,从而完成了本发明。
具体而言,本发明所要解决的技术问题是:提供一种扩展expander卡,旨在解决现有技术中若将bmc集成到expander卡上,可实现对expander卡的监控与管理,但增加系统的管理复杂度,且软硬件成本较高的技术问题。
为解决上述技术问题,本发明的技术方案是:
一种扩展expander卡,包括现场可编程门阵列fpga,所述fpga分别与i2c连接器、jtag接口以及集成在所述expander卡上的附件设备连接,其中,所述i2c连接器用于连接远端的基板管理控制器bmc;
所述fpga用于对所述expander卡上的附件设备进行信息配置和i2c总线的扩展,同时为所述bmc提供关键信息的安全访问;
所述fpga通过i2c_ext连接所述i2c连接器,通过i2c_0至i2c_n的n+1条总线与所述expander卡上的附件设备连接。
作为一种改进的方案,所述fpga包括总线切换模块、管理控制模块、配置控制模块以及信号监控模块;
所述管理控制模块,分别与远端bmc、总线切换模块以及配置控制模块连接,用于接收通过i2c_ext通过接收所述bmc发送的数据信息,并对所述数据进行解析处理,获取总线切换信息和设备配置信息,并将获取到的所述总线切换信息发送给所述总线切换模块,将获取到的所示设备配置信息发送给所述配置控制模块;
所述总线切换模块,用于接收所述管理控制模块发送总线切换信息,并依据所述总线切换信息控制在所述i2c_ext和i2c_0至i2c_n的n+1条总线之间建立对应连接;
所述配置控制模块,用于接收所述管理控制模块发送的设备配置信息,对所述expander卡上的附件设备进行信息配置;
所述信号监控模块,通过所述i2c_0与所述总线切换模块连接,用于对所述expander卡上的附件设备的异步信号进行同步处理,同时进行变压检测,并保存检测到的跳变信息,与bmc的读访问进行交互反馈。
作为一种改进的方案,所述信号监控模块包括信号同步模块、边沿检测模块、缓存模块以及交互模块,其中:
所述信号同步模块,用于对所述expander卡上受监控的附件设备的异步信号进行时钟域的同步处理;
所述边沿检测模块,与所述信号同步模块连接,用于对所述信号同步后的监控信号进行检测,检测所述监控信号是否发生信号高低电平的跳变;
所述缓存模块,与所述边沿检测模块连接,用于在所述边沿检测模块检测到信号跳变时,刷新一次监控信号的状态并进行跳变数据的缓存;
所述交互模块,与所述缓存模块连接,并通过所述i2c_0与总线切换模块连接,用于当接收到所述bmc的读访问时,读取所述缓存模块中的跳变数据信息,并将读取的跳变数据信息反馈给所述bmc。
作为一种改进的方案,所述fpga还包括时钟模块,所述时钟模块分别与所述总线切换模块、管理控制模块、配置控制模块、信号同步模块、边沿检测模块、缓存模块以及交互模块连接,用于为所述总线切换模块、管理控制模块、配置控制模块、信号同步模块、边沿检测模块、缓存模块以及交互模块提供时钟。
本发明的另一目的在于提供一种expander卡的扩展方法,其特征在于,所述方法包括下述步骤:
管理控制模块接收通过i2c_ext通过接收所述bmc发送的数据信息,并对所述数据进行解析处理,获取总线切换信息和设备配置信息,并将获取到的所述总线切换信息发送给所述总线切换模块,将获取到的所示设备配置信息发送给所述配置控制模块;
总线切换模块接收所述管理控制模块发送总线切换信息,并依据所述总线切换信息控制在所述i2c_ext和i2c_0至i2c_n的n+1条总线之间建立对应连接;
配置控制模块接收所述管理控制模块发送的设备配置信息,对所述expander卡上的附件设备进行信息配置;
信号监控模块对所述expander卡上的附件设备的异步信号进行同步处理,同时进行变压检测,并保存检测到的跳变信息,与bmc的读访问进行交互反馈。
作为一种改进的方案,所述信号监控模块对所述expander卡上的附件设备的异步信号进行同步处理,同时进行变压检测,并保存检测到的跳变信息,与bmc的读访问进行交互反馈的步骤具体包括下述步骤:
信号同步模块对所述expander卡上受监控的附件设备的异步信号进行时钟域的同步处理;
边沿检测模块对所述信号同步后的监控信号进行检测,检测所述监控信号是否发生信号高低电平的跳变;
在所述边沿检测模块检测到信号跳变时,缓存模块刷新一次监控信号的状态并进行跳变数据的缓存;
当接收到所述bmc的读访问时,交互模块读取所述缓存模块中的跳变数据信息,并将读取的跳变数据信息反馈给所述bmc。
在本发明实施例中,扩展expander卡包括现场可编程门阵列fpga,所述fpga分别与i2c连接器、jtag接口以及集成在所述expander卡上的附件设备连接,其中,所述i2c连接器用于连接远端的基板管理控制器bmc;fpga用于对所述expander卡上的附件设备进行信息配置和i2c总线的扩展,同时为所述bmc提供关键信息的安全访问;所述fpga通过i2c_ext连接所述i2c连接器,通过i2c_0至i2c_n的n+1条总线与所述expander卡上的附件设备连接,从而实现在expander卡的i2c总线和监控信号的扩展,充分利用pfga硬件电路灵活性可配置的特点,高效全面采集监控了expander卡上设备的有效重要信息,保证了设备可配置、关键信息可访问以及安全有效的运行。
附图说明
图1是本发明提供的扩展expander卡的结构示意图;
图2是本发明提供的fpga的结构示意图。
具体实施方式
下面结合具体的实施例对本发明进一步说明。但这些例举性实施方式的用途和目的仅用来例举本发明,并非对本发明的实际保护范围构成任何形式的任何限定,更非将本发明的保护范围局限于此。
图1示出了本发明提供的扩展expander卡的结构示意图,为了便于说明,图中仅给出与本发明实施例相关的部分。
扩展expander卡包括现场可编程门阵列fpga,所述fpga分别与i2c连接器、jtag接口以及集成在所述expander卡上的附件设备连接,其中,所述i2c连接器用于连接远端的基板管理控制器bmc;
所述fpga用于对所述expander卡上的附件设备进行信息配置和i2c总线的扩展,同时为所述bmc提供关键信息的安全访问;
所述fpga通过i2c_ext连接所述i2c连接器,通过i2c_0至i2c_n的n+1条总线与所述expander卡上的附件设备连接。
如图2所示,fpga包括总线切换模块、管理控制模块、配置控制模块以及信号监控模块;
所述管理控制模块,分别与远端bmc、总线切换模块以及配置控制模块连接,用于接收通过i2c_ext通过接收所述bmc发送的数据信息,并对所述数据进行解析处理,获取总线切换信息和设备配置信息,并将获取到的所述总线切换信息发送给所述总线切换模块,将获取到的所示设备配置信息发送给所述配置控制模块;
所述总线切换模块,用于接收所述管理控制模块发送总线切换信息,并依据所述总线切换信息控制在所述i2c_ext和i2c_0至i2c_n的n+1条总线之间建立对应连接;
所述配置控制模块,用于接收所述管理控制模块发送的设备配置信息,对所述expander卡上的附件设备进行信息配置;
所述信号监控模块,通过所述i2c_0与所述总线切换模块连接,用于对所述expander卡上的附件设备的异步信号进行同步处理,同时进行变压检测,并保存检测到的跳变信息,与bmc的读访问进行交互反馈。
在本发明实施例中,信号监控模块包括信号同步模块、边沿检测模块、缓存模块以及交互模块,其中:
所述信号同步模块,用于对所述expander卡上受监控的附件设备的异步信号进行时钟域的同步处理;
所述边沿检测模块,与所述信号同步模块连接,用于对所述信号同步后的监控信号进行检测,检测所述监控信号是否发生信号高低电平的跳变;
所述缓存模块,与所述边沿检测模块连接,用于在所述边沿检测模块检测到信号跳变时,刷新一次监控信号的状态并进行跳变数据的缓存;
所述交互模块,与所述缓存模块连接,并通过所述i2c_0与总线切换模块连接,用于当接收到所述bmc的读访问时,读取所述缓存模块中的跳变数据信息,并将读取的跳变数据信息反馈给所述bmc。
在本发明实施例中,fpga还包括时钟模块,所述时钟模块分别与所述总线切换模块、管理控制模块、配置控制模块、信号同步模块、边沿检测模块、缓存模块以及交互模块连接,用于为所述总线切换模块、管理控制模块、配置控制模块、信号同步模块、边沿检测模块、缓存模块以及交互模块提供时钟。
在本发明实施例中,通过采用fpga设计实现i2c总线及监控信号的扩展,充分利用了fpga硬件电路灵活可配置的特点,高效全面采集监控了expander卡上设备的有效重要信息,保证了设备可配置、关键信息可访问、安全有效的运行。
在本发明实施例中,基于图1和图2所示的扩展expander卡,其具体的扩展方法为:
(1)管理控制模块接收通过i2c_ext通过接收所述bmc发送的数据信息,并对所述数据进行解析处理,获取总线切换信息和设备配置信息,并将获取到的所述总线切换信息发送给所述总线切换模块,将获取到的所示设备配置信息发送给所述配置控制模块;
(2)总线切换模块接收所述管理控制模块发送总线切换信息,并依据所述总线切换信息控制在所述i2c_ext和i2c_0至i2c_n的n+1条总线之间建立对应连接;
(3)配置控制模块接收所述管理控制模块发送的设备配置信息,对所述expander卡上的附件设备进行信息配置;
(4)信号监控模块对所述expander卡上的附件设备的异步信号进行同步处理,同时进行变压检测,并保存检测到的跳变信息,与bmc的读访问进行交互反馈。
在本发明实施例中,所述信号监控模块对所述expander卡上的附件设备的异步信号进行同步处理,同时进行变压检测,并保存检测到的跳变信息,与bmc的读访问进行交互反馈的步骤具体包括下述步骤:
(1)信号同步模块对所述expander卡上受监控的附件设备的异步信号进行时钟域的同步处理;
(2)边沿检测模块对所述信号同步后的监控信号进行检测,检测所述监控信号是否发生信号高低电平的跳变;
(3)在所述边沿检测模块检测到信号跳变时,缓存模块刷新一次监控信号的状态并进行跳变数据的缓存;
(4)当接收到所述bmc的读访问时,交互模块读取所述缓存模块中的跳变数据信息,并将读取的跳变数据信息反馈给所述bmc。
在本发明实施例中,扩展expander卡包括现场可编程门阵列fpga,所述fpga分别与i2c连接器、jtag接口以及集成在所述expander卡上的附件设备连接,其中,所述i2c连接器用于连接远端的基板管理控制器bmc;fpga用于对所述expander卡上的附件设备进行信息配置和i2c总线的扩展,同时为所述bmc提供关键信息的安全访问;所述fpga通过i2c_ext连接所述i2c连接器,通过i2c_0至i2c_n的n+1条总线与所述expander卡上的附件设备连接,从而实现在expander卡的i2c总线和监控信号的扩展,充分利用pfga硬件电路灵活性可配置的特点,高效全面采集监控了expander卡上设备的有效重要信息,保证了设备可配置、关键信息可访问、安全有效的运行。
应当理解,这些实施例的用途仅用于说明本发明而非意欲限制本发明的保护范围。此外,也应理解,在阅读了本发明的技术内容之后,本领域技术人员可以对本发明作各种改动、修改和/或变型,所有的这些等价形式同样落于本申请所附权利要求书所限定的保护范围之内。