CN113220544B - 一种服务器NVMe硬盘点灯的方法、系统及介质 - Google Patents
一种服务器NVMe硬盘点灯的方法、系统及介质 Download PDFInfo
- Publication number
- CN113220544B CN113220544B CN202110485084.2A CN202110485084A CN113220544B CN 113220544 B CN113220544 B CN 113220544B CN 202110485084 A CN202110485084 A CN 202110485084A CN 113220544 B CN113220544 B CN 113220544B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- lighting
- hard disks
- cpld
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/325—Display of status information by lamps or LED's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Circuit Arrangement For Electric Light Sources In General (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种服务器NVMe硬盘点灯的方法、系统及介质,所述方法包括以下步骤:获取硬盘点灯信息,根据所述硬盘点灯信息获取基准硬盘数量和主板的配置信息,将所述配置信息与所述基准硬盘数量进行比对并构建点灯数据,将所述点灯数据传输至背板CPLD;所述背板CPLD解析所述点灯数据,并发送硬盘在位信息数据包;选择解析方案,解析所述硬盘在位信息数据包,构建回传数据,并将所述回传数据发送至CPU;通过上述方式,本发明能够通过CPLD对CPU信号的解析,实现既支持传统上一代最多支持16块硬盘的背板的硬盘点灯,也支持新一代最多支持40块硬盘的背板的硬盘点灯。
Description
技术领域
本发明涉及服务器硬盘点灯技术领域,特别是涉及一种服务器NVMe硬盘点灯的系统、方法及介质。
背景技术
传统服务器CPU最多可支持16块硬盘,而现在新一代服务器CPU已经扩充至最多支持40块硬盘,所以传统的硬盘点灯方案已经不再适用。
现有新一代的硬盘点灯方案是:服务器的CPU中一组I2C最多支持16块硬盘的点灯,由于新一代服务器CPU最多支持40块硬盘,需要至少三组I2C信号,因此服务器CPU将三组I2C信号合并,并通过连接I2C多路转换器的方式分三组实现40块硬盘的点灯;具体的实现方案是:如图1所示,服务器CPU的I2C信号通过电压转换芯片转换为CPLD的输入输入电平,再通过I2C多路转换器将I2C信号转换成三组I2C信号,再通过cable连接主背板,将三组I2C信号传输至背板CPLD,实现主背板之间的I2C通信。
现有新一代的硬盘点灯方案无法使用新一代的主板搭配上一代的硬盘背板使用;现有新一代的硬盘点灯方案将I2C数量扩展到三个,会占用主板的走线空间,增加主板的复杂度,维护困难,同时因为I2C数量的扩展,也会增加主背板Header引脚的数量与背板CPLD引脚的数量。
发明内容
本发明主要解决的是现有新一代硬盘点灯方案无法兼容传统上一代背板,以及现有新一代硬盘点灯方案增加了主板复杂度,增加主背板Header引脚数量与背板CPLD引脚数量的问题。
为解决上述问题,本发明采用的一个技术方案是:提供一种服务器NVMe硬盘点灯的系统,包括以下步骤:
处理点灯数据:获取硬盘点灯信息,获取基准硬盘数量和主板的配置信息,将所述配置信息与所述基准硬盘数量进行比对并构建点灯数据,将所述点灯数据传输至背板CPLD;所述背板CPLD解析所述点灯数据,并发送硬盘在位信息数据包;
处理回传数据:选择解析方案,解析所述硬盘在位信息数据包,构建回传数据,并将所述回传数据发送至CPU。
进一步,所述处理点灯数据的步骤进一步包括:
主板CPLD获取所述CPU发送的所述硬盘点灯信息;
所述主板CPLD根据所述硬盘点灯信息获取基准硬盘数量和所述主板上的实际硬盘数量,将所述实际硬盘数量与基准硬盘数量进行比较,根据比较结果构建所述点灯数据;
将所述点灯数据通过线缆传输至所述背板CPLD;
所述背板CPLD根据所述比较结果解析所述点灯数据,并发送所述硬盘在位信息数据包至所述主板CPLD。
进一步,所述点灯数据包括第一点灯数据和第二点灯数据,所述根据比较结果构建所述点灯数据的步骤进一步包括:
若所述实际硬盘数量不大于所述基准硬盘数量,则执行第一打包策略,将所述硬盘点灯信息打包构建第一点灯数据;
若所述实际硬盘数量大于所述基准硬盘数量,则执行第二打包策略,将所述硬盘点灯信息打包构建第二点灯数据。
进一步,所述所述背板CPLD根据所述比较结果解析所述点灯数据的步骤进一步包括:
若所述实际硬盘数量不大于所述基准硬盘数量,则执行第一数据解析策略;
若所述实际硬盘数量大于所述基准硬盘数量,则执行第二数据解析策略;
通过所述第一数据解析策略和所述第二数据解析策略将所述点灯数据中的所述硬盘点灯信息解析至所述背板CPLD。
进一步,所述选择解析方案的步骤进一步包括:
所述主板CPLD根据所述比较结果,选择解析方案;
若所述实际硬盘数量不大于所述基准硬盘数量,则选择第一回传解析方案;
若所述实际硬盘数量大于所述基准硬盘数量,则选择第二回传解析方案。
进一步,所述构建回传数据的步骤进一步包括:
根据所述第一回传解析方案和所述第二回传解析方案将所述硬盘在位信息数据包解析至所述主板CPLD,得到硬盘在位信息,所述主板CPLD对所述硬盘在位信息执行组装操作,构建所述回传数据。
一种服务器NVMe硬盘点灯的系统,其特征在于,包括:处理点灯数据模块及处理回传数据模块;
所述处理点灯数据模块用于获取硬盘点灯信息,根据所述硬盘点灯信息获取基准硬盘数量和主板的配置信息,将所述配置信息与所述基准硬盘数量进行比对并构建点灯数据,并将所述点灯数据传输至背板CPLD;所述背板CPLD解析所述点灯数据,并发送硬盘在位信息数据包;
所述处理回传数据模块用于选择解析方案,解析所述硬盘在位信息数据包,构建回传数据,并将所述回传数据发送至CPU。
进一步,所述处理点灯数据模块包括:获取点灯信息单元、构建点灯数据单元、传输点灯数据单元及解析点灯数据单元;
所述获取点灯信息单元用于获取所述CPU发送的所述硬盘点灯信息;
所述构建点灯数据单元用于获取所述主板上的实际硬盘数量,将所述实际硬盘数量与所述基准硬盘数量进行比较,根据比较结果构建所述点灯数据;
所述传输点灯数据单元用于将所述点灯数据通过线缆传输至所述背板CPLD;
所述解析点灯数据单元用于根据所述比较结果解析所述点灯数据,并回传所述硬盘在位信息数据包。
进一步,所述处理回传数据模块包括:构建回传数据单元及传输回传数据单元;
所述构建回传数据单元用于根据所述比较结果,选择解析方案,解析所述硬盘在位信息数据包,构建回传数据;
所述传输回传数据单元用于将所述回传数据发送至所述CPU。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的一种服务器NVMe硬盘点灯的方法的步骤。
本发明的有益效果是:
1、本发明所述的服务器NVMe硬盘点灯系统,可以实现通过使用CPLD对服务器CPU的I2C信号进行解析,节省电压转换芯片,支持新一代背板点灯,同时实现了对上一代背板的复用;
2、本发明所述的服务器NVMe硬盘点灯方法,可以实现支持新一代背板点灯的同时,节省了主背板Header引脚的数量和背板CPLD引脚的数量;
3、本发明所述的服务器NVMe硬盘点灯介质,可以实现使用CPLD对服务器CPU的I2C信号解析,并根据不同数量的硬盘配置进行打包。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的硬盘点灯方案的架构图;
图2是本发明一种服务器NVMe硬盘点灯方法的架构图;
图3是本发明一种服务器NVME硬盘点灯方法的流程图;
图4是本发明实施例1所述的服务器NVMe硬盘点灯的方法的流程图;
图5是本发明实施例1所述的服务器NVMe硬盘点灯的方法的处理点灯数据步骤的流程图;
图6是本发明实施例2所述的服务器NVMe硬盘点灯的系统的示意图;
图7是本发明实施例2所述的服务器NVMe硬盘点灯的系统的处理点灯数据模块的示意图;
图8是本发明实施例2所述的服务器NVMe硬盘点灯的系统的处理回传数据模块的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“阴角”、“主板”、“背板”、“点灯数据”、“点灯信息”、“硬盘在位信息”等术语应做广义理解。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
需要说明的是,在本发明的描述中,
NVMe(Non-Volatile Memory express)是是非易失性内存主机控制器接口规范;
CPU(Central Processing Unit)是中央处理器;
I2C(Inter-Integrated Circuit)是一种串行总线;
PCIe(Peripheral Component Interconnect-express)是高速串行计算机扩展总线;
CPLD(Complex Programmable Logic Device)是复杂可编程逻辑器件;
bit(binary digit)是信息的最小单位;
Header是跳帽。
首先,需要说明的是,如图2所示,服务器中包括主板和背板,主板上设置有CPU、主板CPLD及主板Header,主板CPLD通过I2C分别与CPU和主板Header连接,主板CPLD与CPU相连采用CPU电压bank;背板上设置有背板CPLD及背板Header,背板CPLD与背板Header通过I2C连接,主板CPLD与背板CPLD相连采用背板CPLD电压bank,主板Header与背板Header通过线缆连接,进而串联主板与背板。
实施例1
本发明实施例提供一种服务器NVMe硬盘点灯的方法,请参阅图3至图5,包括以下步骤:
S100、处理点灯数据:
S101、获取点灯信息:
服务器每次开机时NVMe硬盘会初始化一个初始值,若NVMe硬盘正常运行时,会保持该初始值不变,若当服务器运维人员或者用户对主板上的NVMe硬盘进行热拔插时,主板CPLD会检测到该初始值发生变化,此时主板CPLD会发送一个报警信号至服务器CPU,服务器CPU接收到报警信号后,会通过I2C向主板CPLD发送硬盘点灯信息,主板CPLD获取CPU发送的硬盘点灯信息。
S102、构建点灯数据:
主板CPLD通过I2C接收到硬盘点灯信息并解析,主板CPLD获取主板上硬盘的配置信息,主要是获取到主板上实际硬盘数量信息,此处设有一个基准硬盘数量为16块,需要说明的是,此处设置的16块是因为传统上一代硬盘点灯方案最大支持的硬盘数量为16块,仅用作对本实施例的解释说明,并不代表本发明中基准硬盘的数量仅限于16块。
将实际硬盘数量与基准硬盘数量进行比较,若实际硬盘数量小于等于基准硬盘数量16块,则执行第一打包策略,即将硬盘点灯信息按照传统上一代硬盘点灯方案进行打包,生成第一点灯数据;此处为了更清楚的解释说明第一打包策略,将实际硬盘数量设定为16块,但是这并不带便本发明中实际硬盘的数量仅限于16块,每块盘包含16bit信息,主板CPLD将每块盘点灯信息串联至一组I2C中,一组I2C包含8个可配置地址,主板CPLD将16块硬盘共128bit信息打包至一组I2C中,构成第一点灯数据,第一点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令等信息;
若实际硬盘的数量大于基准硬盘数量16块,则执行第二打包策略,将所有硬盘点灯信息打包,生成第二点灯数据;此处为了更清楚的解释说明第二打包策略,将实际硬盘数量设定为40块,但是这并不代表本发明中实际硬盘的数量仅限于40块,因为一组I2C包含8个可配置地址,最对可以存储128bit的信息数据,所以主板CPLD将每块盘的信息压缩为3bit,40块盘的信息被压缩至120bit,主板CPLD将120bit的40块硬盘信息串联存储至一组I2C中,I2C的最后8bit舍弃不用,构成第二点灯数据,第二点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令等信息;
在满足用户对服务器存储性能的要求增加NVMe硬盘数量后,不需要额外在主板上增加走线,也不需要增加主板Header引脚数量,提升服务器的适用性。
S103、传输点灯数据:
将经过主板CPLD打包压缩后生成的第一打包数据或者第二打包数据通过线缆传输至背板CPLD。
S104、解析点灯数据:
背板CPLD接收到主板传输过来的点灯数据,根据实际硬盘的数量与基准硬盘数量的比较结果,对点灯数据执行不同的解析策略;
若实际硬盘数量小于等于基准硬盘数量16块,则执行第一数据解析策略,即模拟输入输出扩展器9555的解析方式,此处为了更清楚的解释说明第一数据解析策略,将实际硬盘数量设定为16块,但是这并不带便本发明中实际硬盘的数量仅限于16块,I2C中的128bit硬盘信息数据,第0到15位的16bit数据为第一第二块盘信息,第16到31位的16bit数据为第三第四块盘信息,以此类推,将I2C中128bit的数据全部解析为16块盘的信息,其中涉及到点灯的信息只有前3bit,每块盘的后5bit数据舍弃,由背板CPLD解析的I2C信息转换为GPIO信号;
若实际硬盘的数量大于基准硬盘数量16块,则执行第二数据解析策略;此处为了更清楚的解释说明第二数据解析策略,将实际硬盘数量设定为40块,但是这并不代表本发明中实际硬盘的数量仅限于40块,I2C中存储的有120bit的硬盘信息,第0到2位的3bit数据为第一块盘的信息,第3到5为的3bit数据为第二块盘的信息,以此类推,将I2C中的12bit数据解析为40块硬盘的信息,由背板CPLD解析的I2C信息转换为GPIO信号;
背板CPLD获取服务器硬盘的在位信息,并将硬盘在位信息组合打包成硬盘在位信息数据包,即将每块盘的3bit信息中的第三位转换为在位信息,将组合后的硬盘信息存储至I2C的8个可配置地址中,并发送给主板CPLD。
S200、处理回传数据:
主板CPLD接收到背板CPLD通过I2C的回传的硬盘在位信息数据包后,根据实际硬盘的数量与基准硬盘数量的比较结果,对硬盘在位信息数据包执行不同的解析策略;
若实际硬盘数量小于等于基准硬盘数量16块,则选择第一解析方案;此处为了更清楚的解释说明第一解析方案,将实际硬盘数量设定为16块,但是这并不代表本发明中实际硬盘的数量仅限于16块,主板CPLD对I2C中存储的128bit硬盘在位信息数据包进行解析,I2C中有8个可配置地址,那么每个地址上存储16bit数据信息,主板CPLD模拟出I2C多路转换器9544和8个输入输出扩展器9555,主板CPLD将I2C中8个可配置地址中的16bit信息保存至模拟出8个输入输出扩展器9555中,主板CPLD将8个携带16bit信息的输入输出扩展器9555挂载在模拟出的I2C多路转换器9544的第一通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据;
若实际硬盘的数量大于基准硬盘数量16块,则选择第二解析方案;此处为了更清楚的解释说明第二解析方案,将实际硬盘数量设定为40块,但是这并不代表本发明中实际硬盘的数量仅限于40块,主板CPLD对I2C中存储的120bit硬盘在位信息数据包进行解析,主板CPLD先将I2C中8个可配置地址中存储的数据信息补全,按照40块盘,每块盘8bit数据,则补齐320bit数据信息,其中每块盘的后5bit按照默认补齐,然后主板CPLD模拟出I2C多路转换器9544和20个输入输出扩展器9555,主板CPLD将320bit数据信息按序分为20块,并分别存入20个输入输出扩展器9555中,主板CPLD将20个输入输出扩展器9555按照8+8+4的分配模式分别挂载在模拟的I2C多路转换器9544的第一至第三通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据。
主板CPLD将解析构建出的回传数据通过I2C回传给服务器CPU,CPU读取硬盘点灯信息。
通过本实施例方法,使用主板CPLD对I2C信号进行解析,并根据硬盘数量配置进行不同打包,实现了既对传统上一代背板的复用,又支持新一代的硬盘点灯,节省了电压转换芯片,也节省了Header引脚和背板CPLD引脚数量,降低成本,提升服务器的适用性。
实施例2
本发明实施例还提供一种服务器NVMe硬盘点灯的系统,请参阅图6至图8,包括:发送点灯信息模块、处理点灯数据模块及处理回传数据模块;
处理点灯数据模块:
处理点灯数据模块用于获取硬盘点灯信息,根据所述硬盘点灯信息获取基准硬盘数量和主板的配置信息,将所述配置信息与所述基准硬盘数量进行比对并构建点灯数据,并将所述点灯数据传输至背板CPLD;所述背板CPLD解析所述点灯数据,并发送硬盘在位信息数据包,包括获取点灯信息单元、构建点灯数据单元、传输点灯数据单元及解析点灯数据单元;
获取点灯信息单元用于获取CPU发送的硬盘点灯信息;
具体地,服务器每次开机时NVMe硬盘会初始化一个初始值,若NVMe硬盘正常运行时,会保持该初始值不变,若当服务器运维人员或者用户对主板上的NVMe硬盘进行热拔插时,主板CPLD会检测到该初始值发生变化,此时主板CPLD会发送一个报警信号至服务器CPU,服务器CPU接收到报警信号后,会通过I2C向主板CPLD发送硬盘点灯信息。
构建点灯数据单元用于获取主板上的硬盘数量,将硬盘数量与基准硬盘数量进行比较,根据比较结果构建点灯数据;
具体地,主板CPLD通过I2C接收到硬盘点灯信息并解析,主板CPLD获取主板上硬盘的配置信息,主要是获取到主板上实际硬盘数量信息,此处设有一个基准硬盘数量为16块,需要说明的是,此处设置的16块是因为传统上一代硬盘点灯方案最大支持的硬盘数量为16块,仅用作对本实施例的解释说明,并不代表本发明中基准硬盘的数量仅限于16块。
将实际硬盘数量与基准硬盘数量进行比较,若实际硬盘数量小于等于基准硬盘数量16块,则执行第一打包策略,即将硬盘点灯信息按照传统上一代硬盘点灯方案进行打包,生成第一点灯数据;此处为了更清楚的解释说明第一打包策略,将实际硬盘数量设定为16块,但是这并不带便本发明中实际硬盘的数量仅限于16块,每块盘包含16bit信息,主板CPLD将每块盘点灯信息串联至一组I2C中,一组I2C包含8个可配置地址,主板CPLD将16块硬盘共128bit信息打包至一组I2C中,构成第一点灯数据,第一点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令等信息;
若实际硬盘的数量大于基准硬盘数量16块,则执行第二打包策略,将所有硬盘点灯信息打包,生成第二点灯数据;此处为了更清楚的解释说明第二打包策略,将实际硬盘数量设定为40块,但是这并不代表本发明中实际硬盘的数量仅限于40块,因为一组I2C包含8个可配置地址,最对可以存储128bit的信息数据,所以主板CPLD将每块盘的信息压缩为3bit,40块盘的信息被压缩至120bit,主板CPLD将120bit的40块硬盘信息串联存储至一组I2C中,I2C的最后8bit舍弃不用,构成第二点灯数据,第二点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令等信息;
在满足用户对服务器存储性能的要求增加NVMe硬盘数量后,不需要额外在主板上增加走线,也不需要增加主板Header引脚数量,提升服务器的适用性。
传输点灯数据单元用于将点灯数据传输至背板CPLD;
具体地,将经过主板CPLD打包压缩后生成的第一打包数据或者第二打包数据通过线缆传输至背板CPLD。
解析点灯数据单元用于根据比较结果解析点灯数据,并回传硬盘在位信息数据包;
具体地,背板CPLD接收到主板传输过来的点灯数据,根据实际硬盘的数量与基准硬盘数量的比较结果,对点灯数据执行不同的解析策略;
若实际硬盘数量小于等于基准硬盘数量16块,则执行第一数据解析策略,即模拟输入输出扩展器9555的解析方式,此处为了更清楚的解释说明第一数据解析策略,将实际硬盘数量设定为16块,但是这并不带便本发明中实际硬盘的数量仅限于16块,I2C中的128bit硬盘信息数据,第0到15位的16bit数据为第一第二块盘信息,第16到31位的16bit数据为第三第四块盘信息,以此类推,将I2C中128bit的数据全部解析为16块盘的信息,其中涉及到点灯的信息只有前3bit,每块盘的后5bit数据舍弃,由背板CPLD解析的I2C信息转换为GPIO信号;
若实际硬盘的数量大于基准硬盘数量16块,则执行第二数据解析策略;此处为了更清楚的解释说明第二数据解析策略,将实际硬盘数量设定为40块,但是这并不代表本发明中实际硬盘的数量仅限于40块,I2C中存储的有120bit的硬盘信息,第0到2位的3bit数据为第一块盘的信息,第3到5为的3bit数据为第二块盘的信息,以此类推,将I2C中的12bit数据解析为40块硬盘的信息,由背板CPLD解析的I2C信息转换为GPIO信号;
背板CPLD获取服务器硬盘的在位信息,并将硬盘在位信息组合打包成硬盘在位信息数据包,即将每块盘的3bit信息中的第三位转换为在位信息,将组合后的硬盘信息存储至I2C的8个可配置地址中,并发送给主板CPLD。
处理回传数据模块:
处理回传数据模块用于选择解析方案,解析硬盘在位信息数据包,构建回传数据,并将回传数据发送至CPU,包括构建回传数据单元及传输回传数据单元;
构建回传数据单元用于根据比较结果,选择解析方案,解析硬盘在位信息数据包,构建回传数据;
具体地,主板CPLD接收到背板CPLD通过I2C的回传的硬盘在位信息数据包后,根据实际硬盘的数量与基准硬盘数量的比较结果,对硬盘在位信息数据包执行不同的解析策略;
若实际硬盘数量小于等于基准硬盘数量16块,则选择第一解析方案;此处为了更清楚的解释说明第一解析方案,将实际硬盘数量设定为16块,但是这并不代表本发明中实际硬盘的数量仅限于16块,主板CPLD对I2C中存储的128bit硬盘在位信息数据包进行解析,I2C中有8个可配置地址,那么每个地址上存储16bit数据信息,主板CPLD模拟出I2C多路转换器9544和8个输入输出扩展器9555,主板CPLD将I2C中8个可配置地址中的16bit信息保存至模拟出8个输入输出扩展器9555中,主板CPLD将8个携带16bit信息的输入输出扩展器9555挂载在模拟出的I2C多路转换器9544的第一通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据;
若实际硬盘的数量大于基准硬盘数量16块,则选择第二解析方案;此处为了更清楚的解释说明第二解析方案,将实际硬盘数量设定为40块,但是这并不代表本发明中实际硬盘的数量仅限于40块,主板CPLD对I2C中存储的120bit硬盘在位信息数据包进行解析,主板CPLD先将I2C中8个可配置地址中存储的数据信息补全,按照40块盘,每块盘8bit数据,则补齐320bit数据信息,其中每块盘的后5bit按照默认补齐,然后主板CPLD模拟出I2C多路转换器9544和20个输入输出扩展器9555,主板CPLD将320bit数据信息按序分为20块,并分别存入20个输入输出扩展器9555中,主板CPLD将20个输入输出扩展器9555按照8+8+4的分配模式分别挂载在模拟的I2C多路转换器9544的第一至第三通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据。
传输回传数据单元用于将回传数据发送至CPU;
具体地,主板CPLD将解析构建出的回传数据通过I2C回传给服务器CPU,CPU读取硬盘点灯信息。
实施例3
本实施例3具有一种计算机可读存储介质,所述存储介质用于储存将上述实施例1所述的服务器NVMe硬盘点灯的方法实现所用的计算机软件指令,其包含用于服务器NVMe硬盘点灯的方法所设置的程序;具体地,该可执行程序可以内置于服务器NVMe硬盘点灯的系统100中,这样,服务器NVMe硬盘点灯的系统100就可以通过执行内置的可执行程序实现所述实施例1的服务器NVMe硬盘点灯的方法。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (4)
1.一种服务器NVMe硬盘点灯的方法,其特征在于,包括以下步骤:
S100、处理点灯数据:主板CPLD获取CPU发送的硬盘点灯信息;
所述主板CPLD根据所述硬盘点灯信息获取基准硬盘数量和主板上的实际硬盘数量,将所述实际硬盘数量与基准硬盘数量进行比较,根据比较结果构建点灯数据;
所述点灯数据包括第一点灯数据和第二点灯数据,所述根据比较结果构建所述点灯数据的步骤进一步包括:当所述基准硬盘数量为16块时,若所述实际硬盘数量不大于所述基准硬盘数量16块,则执行第一打包策略,将所述硬盘点灯信息打包构建第一点灯数据;若所述实际硬盘数量大于所述基准硬盘数量16块,则执行第二打包策略,将所述硬盘点灯信息打包构建第二点灯数据;
所述第一打包策略包括:当实际硬盘数量为16块,每块盘包含16bit信息,主板CPLD将每块盘点灯信息串联至一组I2C中,一组I2C包含8个可配置地址,主板CPLD将16块硬盘共128bit信息打包至一组I2C中,构成第一点灯数据,第一点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令信息;
所述第二打包策略包括:当实际硬盘数量为40块,因为一组I2C包含8个可配置地址,最多可以存储128bit的信息数据,所以主板CPLD将每块盘的信息压缩为3bit,40块盘的信息被压缩至120bit,主板CPLD将120bit的40块硬盘信息串联存储至一组I2C中,I2C的最后8bit舍弃不用,构成第二点灯数据,第二点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令信息;
将所述点灯数据通过线缆传输至背板CPLD;
所述背板CPLD根据所述比较结果解析所述点灯数据,并发送硬盘在位信息数据包至所述主板CPLD;
所述背板CPLD根据所述比较结果解析所述点灯数据的步骤进一步包括:当所述基准硬盘数量为16块时,若所述实际硬盘数量不大于所述基准硬盘数量16块,则执行第一数据解析策略;若所述实际硬盘数量大于所述基准硬盘数量16块,则执行第二数据解析策略;通过所述第一数据解析策略和所述第二数据解析策略将所述点灯数据中的所述硬盘点灯信息解析至所述背板CPLD;
所述第一数据解析策略包括:当实际硬盘数量为16块,I2C中的128bit硬盘信息数据中,第0到15位的16bit数据为第一第二块盘信息,第16到31位的16bit数据为第三第四块盘信息,以此类推,将I2C中128bit的数据全部解析为16块盘的信息,其中涉及到点灯的信息只有前3bit,每块盘的后5bit数据舍弃,由背板CPLD解析的I2C信息转换为GPIO信号;
所述第二数据解析策略包括:当实际硬盘数量为40块,I2C中存储有120bit的硬盘信息,第0到2位的3bit数据为第一块盘的信息,第3到5为的3bit数据为第二块盘的信息,以此类推,将I2C中的120bit数据解析为40块硬盘的信息,由背板CPLD解析的I2C信息转换为GPIO信号;
所述背板CPLD获取服务器硬盘的在位信息,并将硬盘在位信息组合打包成硬盘在位信息数据包,即将每块盘的3bit信息中的第三位转换为在位信息,将组合后的硬盘信息存储至I2C的8个可配置地址中,并发送给主板CPLD;
S200、处理回传数据:所述主板CPLD根据所述比较结果,选择解析方案,解析所述硬盘在位信息数据包,构建回传数据,并将所述回传数据发送至CPU;
所述选择解析方案的步骤进一步包括:当所述基准硬盘数量为16块时,若所述实际硬盘数量不大于所述基准硬盘数量16块,则选择第一回传解析方案;若所述实际硬盘数量大于所述基准硬盘数量16块,则选择第二回传解析方案;
所述第一回传解析方案包括:当实际硬盘数量为16块,主板CPLD对I2C中存储的128bit硬盘在位信息数据包进行解析,I2C中有8个可配置地址,每个地址上存储16bit数据信息,主板CPLD模拟出I2C多路转换器9544和8个输入输出扩展器9555,主板CPLD将I2C中8个可配置地址中的16bit信息保存至模拟出的8个输入输出扩展器9555中,主板CPLD将8个携带16bit信息的输入输出扩展器9555挂载在模拟出的I2C多路转换器9544的第一通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据;
所述第二回传解析方案包括:当实际硬盘数量为40块,主板CPLD对I2C中存储的120bit硬盘在位信息数据包进行解析,主板CPLD先将I2C中8个可配置地址中存储的数据信息补全,按照40块盘,每块盘8bit数据,则补齐320bit数据信息,其中每块盘的后5bit按照默认补齐,然后主板CPLD模拟出I2C多路转换器9544和20个输入输出扩展器9555,主板CPLD将320bit数据信息按序分为20块,并分别存入20个输入输出扩展器9555中,主板CPLD将20个输入输出扩展器9555按照8+8+4的分配模式分别挂载在模拟的I2C多路转换器9544的第一至第三通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据。
2.根据权利要求1所述的服务器NVMe硬盘点灯的方法,其特征在于:所述构建回传数据的步骤进一步包括:
根据所述第一回传解析方案和所述第二回传解析方案将所述硬盘在位信息数据包解析至所述主板CPLD,得到硬盘在位信息,所述主板CPLD对所述硬盘在位信息执行组装操作,构建所述回传数据。
3.一种服务器NVMe硬盘点灯的系统,其特征在于,包括:处理点灯数据模块及处理回传数据模块;
所述处理点灯数据模块用于获取硬盘点灯信息,根据所述硬盘点灯信息获取基准硬盘数量和主板的配置信息,将所述配置信息与所述基准硬盘数量进行比对并构建点灯数据,并将所述点灯数据传输至背板CPLD;所述背板CPLD解析所述点灯数据,并发送硬盘在位信息数据包;
所述处理回传数据模块用于选择解析方案,解析所述硬盘在位信息数据包,构建回传数据,并将所述回传数据发送至CPU;
所述处理点灯数据模块包括:获取点灯信息单元、构建点灯数据单元、传输点灯数据单元及解析点灯数据单元;
所述获取点灯信息单元用于获取所述CPU发送的所述硬盘点灯信息;
所述构建点灯数据单元用于获取所述主板上的实际硬盘数量,将所述实际硬盘数量与所述基准硬盘数量进行比较,根据比较结果构建所述点灯数据;
所述点灯数据包括第一点灯数据和第二点灯数据,所述根据比较结果构建所述点灯数据进一步包括:当所述基准硬盘数量为16块时,若所述实际硬盘数量不大于所述基准硬盘数量16块,则执行第一打包策略,将所述硬盘点灯信息打包构建第一点灯数据;若所述实际硬盘数量大于所述基准硬盘数量16块,则执行第二打包策略,将所述硬盘点灯信息打包构建第二点灯数据;
所述第一打包策略包括:当实际硬盘数量为16块,每块盘包含16bit信息,主板CPLD将每块盘点灯信息串联至一组I2C中,一组I2C包含8个可配置地址,主板CPLD将16块硬盘共128bit信息打包至一组I2C中,构成第一点灯数据,第一点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令信息;
所述第二打包策略包括:当实际硬盘数量为40块,因为一组I2C包含8个可配置地址,最多可以存储128bit的信息数据,所以主板CPLD将每块盘的信息压缩为3bit,40块盘的信息被压缩至120bit,主板CPLD将120bit的40块硬盘信息串联存储至一组I2C中,I2C的最后8bit舍弃不用,构成第二点灯数据,第二点灯数据中包括硬盘编号、硬盘槽位信息、灯控制指令信息;
所述传输点灯数据单元用于将所述点灯数据通过线缆传输至所述背板CPLD;
所述解析点灯数据单元用于根据所述比较结果解析所述点灯数据,并回传所述硬盘在位信息数据包,进一步包括:当所述基准硬盘数量为16块时,若所述实际硬盘数量不大于所述基准硬盘数量16块,则执行第一数据解析策略;若所述实际硬盘数量大于所述基准硬盘数量16块,则执行第二数据解析策略;通过所述第一数据解析策略和所述第二数据解析策略将所述点灯数据中的所述硬盘点灯信息解析至所述背板CPLD;
所述第一数据解析策略包括:当实际硬盘数量为16块,I2C中的128bit硬盘信息数据中,第0到15位的16bit数据为第一第二块盘信息,第16到31位的16bit数据为第三第四块盘信息,以此类推,将I2C中128bit的数据全部解析为16块盘的信息,其中涉及到点灯的信息只有前3bit,每块盘的后5bit数据舍弃,由背板CPLD解析的I2C信息转换为GPIO信号;
所述第二数据解析策略包括:当实际硬盘数量为40块,I2C中存储有120bit的硬盘信息,第0到2位的3bit数据为第一块盘的信息,第3到5为的3bit数据为第二块盘的信息,以此类推,将I2C中的120bit数据解析为40块硬盘的信息,由背板CPLD解析的I2C信息转换为GPIO信号;
所述背板CPLD获取服务器硬盘的在位信息,并将硬盘在位信息组合打包成硬盘在位信息数据包,即将每块盘的3bit信息中的第三位转换为在位信息,将组合后的硬盘信息存储至I2C的8个可配置地址中,并发送给主板CPLD;
所述处理回传数据模块包括:构建回传数据单元及传输回传数据单元;
所述构建回传数据单元用于根据所述比较结果,选择解析方案,解析所述硬盘在位信息数据包,构建回传数据;
所述传输回传数据单元用于将所述回传数据发送至所述CPU;
所述选择解析方案进一步包括:当所述基准硬盘数量为16块时,若所述实际硬盘数量不大于所述基准硬盘数量16块,则选择第一回传解析方案;若所述实际硬盘数量大于所述基准硬盘数量16块,则选择第二回传解析方案;
所述第一回传解析方案包括:当实际硬盘数量为16块,主板CPLD对I2C中存储的128bit硬盘在位信息数据包进行解析,I2C中有8个可配置地址,每个地址上存储16bit数据信息,主板CPLD模拟出I2C多路转换器9544和8个输入输出扩展器9555,主板CPLD将I2C中8个可配置地址中的16bit信息保存至模拟出的8个输入输出扩展器9555中,主板CPLD将8个携带16bit信息的输入输出扩展器9555挂载在模拟出的I2C多路转换器9544的第一通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据;
所述第二回传解析方案包括:当实际硬盘数量为40块,主板CPLD对I2C中存储的120bit硬盘在位信息数据包进行解析,主板CPLD先将I2C中8个可配置地址中存储的数据信息补全,按照40块盘,每块盘8bit数据,则补齐320bit数据信息,其中每块盘的后5bit按照默认补齐,然后主板CPLD模拟出I2C多路转换器9544和20个输入输出扩展器9555,主板CPLD将320bit数据信息按序分为20块,并分别存入20个输入输出扩展器9555中,主板CPLD将20个输入输出扩展器9555按照8+8+4的分配模式分别挂载在模拟的I2C多路转换器9544的第一至第三通道下,构建出回传数据,其中每个模拟出的输入输出扩展器9555中的第3位数据为硬盘在位数据。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1或2所述的一种服务器NVMe硬盘点灯的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485084.2A CN113220544B (zh) | 2021-04-30 | 2021-04-30 | 一种服务器NVMe硬盘点灯的方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485084.2A CN113220544B (zh) | 2021-04-30 | 2021-04-30 | 一种服务器NVMe硬盘点灯的方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220544A CN113220544A (zh) | 2021-08-06 |
CN113220544B true CN113220544B (zh) | 2022-09-20 |
Family
ID=77090621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110485084.2A Active CN113220544B (zh) | 2021-04-30 | 2021-04-30 | 一种服务器NVMe硬盘点灯的方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220544B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729220A (zh) * | 2017-09-27 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种实现多NVMe硬盘背板点灯的设计方法 |
CN108829567A (zh) * | 2018-05-29 | 2018-11-16 | 郑州云海信息技术有限公司 | 支持双重点灯的单块NVMe硬盘背板及硬盘背板的点灯方法 |
CN112069040A (zh) * | 2020-09-27 | 2020-12-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬盘点灯方法、装置及相关组件 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331535A (ja) * | 2005-05-26 | 2006-12-07 | Ricoh Co Ltd | ウォブル信号検出方法および装置、オフセット検出方法および回路、トラッキング誤差信号検出装置、クロック生成回路、ウォブル情報検出回路、情報記録/再生装置 |
CN107766213A (zh) * | 2017-09-29 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种实现nvme硬盘点灯的方法及系统 |
CN109446003A (zh) * | 2018-10-17 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种状态指示的方法、控制器及存储介质 |
CN110764978A (zh) * | 2019-10-12 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种硬盘点灯方法、装置及电子设备和存储介质 |
CN111090568A (zh) * | 2019-10-31 | 2020-05-01 | 苏州浪潮智能科技有限公司 | 一种背板cpld点灯的方法和设备 |
CN111198831A (zh) * | 2019-12-27 | 2020-05-26 | 苏州浪潮智能科技有限公司 | 一种基于卸载卡的nvme硬盘管理系统及方法 |
-
2021
- 2021-04-30 CN CN202110485084.2A patent/CN113220544B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729220A (zh) * | 2017-09-27 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种实现多NVMe硬盘背板点灯的设计方法 |
CN108829567A (zh) * | 2018-05-29 | 2018-11-16 | 郑州云海信息技术有限公司 | 支持双重点灯的单块NVMe硬盘背板及硬盘背板的点灯方法 |
CN112069040A (zh) * | 2020-09-27 | 2020-12-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬盘点灯方法、装置及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN113220544A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101745456B1 (ko) | HiL 시뮬레이션 환경에서 대용량 데이터를 전송하기 위한 전자제어 장치, 이를 포함하는 시스템 및 그 방법 | |
EP2928175A1 (en) | Image sensor, method for transmitting data from same, information processing device, information processing method, electronic device, and program | |
CN110837485B (zh) | 接口配置方法、装置、电子器件以及电子设备 | |
CN114116364A (zh) | 芯片的调试方法、存储介质、相关装置和系统 | |
CN115496018A (zh) | 一种SoC芯片多版本验证方法、装置及设备 | |
CN113220544B (zh) | 一种服务器NVMe硬盘点灯的方法、系统及介质 | |
US20150016471A1 (en) | Configurable quad byte framer | |
US20040260992A1 (en) | Test circuit, integrated circuit, and test method | |
CN211979671U (zh) | 平台芯片和芯片验证平台 | |
CN107239418B (zh) | 数据存储模块读写装置及i2c通讯方法 | |
US20230231940A1 (en) | Communication Method and System, Device, and Computer-Readable Storage Medium | |
CN113986817B (zh) | 运算芯片访问片内存储区域的方法和运算芯片 | |
CN110851162A (zh) | 兼容raid与非raid的ssd固件升级方法和装置 | |
CN113377597B (zh) | 仿真系统以及存储、读取仿真数据的方法 | |
CN112764673B (zh) | 高光谱线阵数据存储速率优化方法、装置和存储介质 | |
CN109327284B (zh) | 数据传输方法、装置及电子设备 | |
CN112699648B (zh) | 数据处理方法及装置 | |
KR20150078866A (ko) | 데이터 처리 장치 및 데이터 처리 방법 | |
CN112764777A (zh) | 低速总线设备的升级方法、装置、设备及可读存储介质 | |
CN109388531B (zh) | 基于dsp板卡的测试装置及其测试方法 | |
US8803714B2 (en) | Transmitting device and receiving device | |
CN117436405B (zh) | 一种仿真验证方法、装置及电子设备 | |
CN113535602A (zh) | 硬件单板的逻辑地址空间的配置方法、设备和存储介质 | |
US10444281B2 (en) | Microcontroller and method for testing a microcontroller | |
JP2004334551A (ja) | シリアル通信システム及びシリアル通信用ローカル端末 |
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 |