一种fru的读取/写入方法及读/写系统的制作方法
【技术领域】
[0001 ]本发明属于计算机技术领域,涉及一种读写方法,特别是涉及一种FRU的读取/写入方法及读/写系统。
【背景技术】
[0002]在标准服务器中,主板上的FRU(Field Replaceable Unit,现场可更换单元)都是通过BMC(Baseboard Management Controller,基板管理控制器)去读写、刷新的,在由24个ARM Node和一个CMM(Chassis Management Module,机架管理单元)Node组成的0TT(0verThe Top,通过互联网向用户提供各种应用服务)项目中,CMM Node上有一个FRU,其它24个ARM Node上各有两个FRU,总共有49个FRU,在这49个FRU(Field Replaceable Unit,现场可更换单元)中,除了CMM Node上的FRU可以利用读写标准服务器上FRU的方法来进行读写、刷新外,其它ARM Node上的48个FRU的读写刷新却没有现成的方法可以利用。
【发明内容】
[0003]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种FRU的读取/写入方法及读/写系统,用于解决现有读写标准服务器上FRU的方法无法实现0ΤΤ项目中ARM Node上的FRU的读写刷新的问题。
[0004]为实现上述目的及其他相关目的,本发明提供一种FRU的读取方法,适用于一服务器系统,所述FRU的读取方法包括:机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器;机架管理单元将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器;所述嵌入式处理器识别所述相关命令的类型为读时,读取所述FRU,并将读取结果反馈给所述机架管理单元。
[0005]可选地,所述嵌入式处理器通过I2C总线读取所述FRU;所述嵌入式处理器通过串口将读取结果反馈给所述机架管理单元。
[0006]本发明还提供一种FRU的写入方法,适用于一服务器系统,所述FRU的写入方法包括:机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器;机架管理单元将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器;所述嵌入式处理器识别所述相关命令的类型为写时,根据用户输入选取指定的FRU模板放入缓存中;所述嵌入式处理器将用户输入的字符串形式的各FRU字段转换成对应进制数据写入到缓存的FRU模板的对应字段中;所述嵌入式处理器将缓存中改写后的FRU模板写入到所述FRU中。
[0007]可选地,所述FRU的写入方法还包括:所述嵌入式处理器从头开始读取所述FRU中的数据,获得读回的FRU数据;所述嵌入式处理器比较所述读回的FRU数据与所述缓存中改写后的FRU模板中的数据是否一致;若一致,则所述FRU写入成功;否则,所述FRU写入失败;所述嵌入式处理器在所述FRU写入成功后,显示字符串形式的所述FRU。
[0008]可选地,所述对应进制数据包括16进制数据。
[0009]可选地,所述嵌入式处理器将缓存中改写后的FRU模板以8个字节为单位写入到所述FRU中;所述嵌入式处理器从头开始以8个字节为单位读取所述FRU中的数据。
[0010]可选地,FRU的写入方法还包括:预存至少2个遵循FRU规范的FRU模板;各FRU模板中的信息字段均初始化为0;各FRU模板中与信息字段相关的控制字段均初始化为默认值;各FRU模板的总长度不同。
[0011]本发明还提供一种FRU的读/写系统,适用于一服务器系统,所述FRU的读/写系统包括:至少1个ARM节点;每个ARM节点上设有2个FRU;机架管理单元,通过嵌入式处理器与所述ARM节点相连,控制各ARM节点上的FRU的读/写;所述机架管理单元通过RS485串行总线与所述嵌入式处理器通信相连,所述嵌入式处理器通过I2C总线与所述ARM节点通信相连。
[0012]可选地,所述FRU的读/写系统还包括:所述机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器,并将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器;所述嵌入式处理器识别所述相关命令的类型为读时,读取所述FRU,并将读取结果反馈给所述机架管理单元。
[0013]可选地,所述FRU的读/写系统还包括:所述机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器,并将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器;所述嵌入式处理器识别所述相关命令的类型为写时,根据用户输入选取指定的FRU模板放入缓存中,并将用户输入的字符串形式的各FRU字段转换成对应进制数据写入到缓存的FRU模板的对应字段中;所述嵌入式处理器将缓存中改写后的FRU模板写入到所述FRU中;所述嵌入式处理器从头开始读取所述FRU中的数据,获得读回的FRU数据,并比较所述读回的FRU数据与所述缓存中改写后的FRU模板中的数据是否一致;若一致,则所述FRU写入成功;否则,所述FRU写入失败;所述嵌入式处理器在所述FRU写入成功后,显示字符串形式的所述FRU。
[0014]可选地,所述FRU的读/写系统还包括:所述嵌入式处理器预存有至少2个遵循FRU规范的FRU模板;各FRU模板中的信息字段均初始化为0;各FRU模板中与信息字段相关的控制字段均初始化为默认值;各FRU模板的总长度不同。
[0015]如上所述,本发明所述的FRU的读取/写入方法及读/写系统,具有以下有益效果:
[0016]通过本发明,用户只需要以字符串的形式输入所要刷新指定FRU各个字段的内容,就可以很方便的完成刷新FRU的工作,并且,刷新单个FRU的过程总耗时在30秒以内,实现了Node FRU的超快速刷新。
【附图说明】
[0017]图1显示为本发明实施例所述的FRU的读取方法的一种实现流程示意图。
[0018]图2显示为本发明实施例所述的FRU的写入方法的一种实现流程示意图。
[0019]图3显示为本发明实施例所述的FRU的写入方法的另一种实现流程示意图。
[0020]图4显示为本发明实施例所述的FRU的读/写系统的一种实现结构示意图。
[0021]元件标号说明
[0022]400FRU的读/写系统
[0023]410机架管理单元
[0024]420嵌入式处理器
[0025]430ARM 节点
[0026]S101 ?S103 步骤
[0027]S201 ?S210 步骤
【具体实施方式】
[0028]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0029]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0030]请参阅图1,本发明实施例提供一种FRU的读取方法,适用于一服务器系统,所述FRU的读取方法包括:
[0031 ] S101,机架管理单元(Chassis Management Module,CMM)根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器。
[0032]S102,机架管理单元(Chassis Management Module,CMM)将所
述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器(CM4-ARM公司开发的一种嵌入式处理器Cortex_M4,简称CM4)。
[0033]S103,所述嵌入式处理器识别所述相关命令的类型为读时,读取所述FRU,并将读取结果反馈给所述机架管理单元。其中,所述嵌入式处理器可以通过12C总线读取所述FRU。所述嵌入式处理器可以通过串口将读取结果反馈给所述机架管理单元。所述嵌入式处理器可以从头开始以8个字节为单位读取所述FRU中的数据。
[0034]本发明所述的FRU的读取方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
[0035]请参阅图2,本发明实施例还提供一种FRU的写入方法,适用于一服务器系统,所述FRU的写入方法包括:
[0036]S201,机架管理单元(Chassis Management Module,CMM)根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器。
[0037]S202,机架管理单元(Chassis Management Module,CMM)将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器(CM4-ARM公司开发的一种嵌入式处理器Cortex_M4,简称CM4)。
[0038]S203,所述嵌入式处理器识别所述相关命令的类型为写时,根据用户输入选取指定的FRU模板放入缓存中。其中,所述嵌入式处理器可以预存至少2个遵循FRU规范的FRU模板;各FRU模板中的信息字段均初始化为0;各FRU模板中与信息字段相关的控制字段均初始化为默认值;各FRU模板的总长度不同;不同FRU模板的相同信息字段的长度可以不同,也可以相同。
[0039]S204,所述嵌入式处理器将用户输入的字符串形式的各FRU字段转换成对应进制数据写入到缓存的FRU模板的对应字段中。所述对应进制数据包括16进制数据。
[0040]S205,所述嵌入式处理器将缓存中改写后的FRU模板写入到所述FRU中。所述嵌入式处理器可以将缓存中改写后的FRU模板以8个字节为单位写入到所述FRU中。
[0041 ] 请参阅图3,所述FRU的写入方法还包括:
[0042]S206,所述嵌入式处理器从头开始读取所述FRU中的数据,获得读回的FRU数据;
[0043]S207,所述嵌入式处理器比较所述读回的FRU数据与所述缓存中改写后的FRU模板中的数据是否一致。
[0044]S208,若一致,则所述FRU写入成功;
[0045]S209,否则,所述FRU写入失败;
[0046]S210,所述嵌入式处理器在所述FRU写入成功后,显示字符串形式的所述FRU。
[0047]在标准服务器中,主板上FRU的读写是遵循IPMI(Intelligent PlatformManagement Interface,智能平台管理接口)协议规范的,FRU的读写首先以Device_id(简称ID)为先决条件,即判断该FRU是否存在,通常该Devicejd默认为0,接着以读写的offset以及要读的字节数或者是所要写入的字节数为基础,调用读写FRU函数并返回结果。在0ΤΤ(Over The Top,通过互联网向用户提供各种应用服务)项目中,共有49个FRU,CMM(ChassisManagement Module,机架管理单元)Node上的FRU由于其读写方法与标准服务器主板上FRU的读写方法相同,故可以设其Devicejd也为0,其它48个FRU,根据其宿主ARM Node在0ΤΤchassis中所处的位置,Devicejd位于1?48范围之内。
[0048]在0ΤΤ项目中,当用户输入的FRU Devicejd在1?48范围之内时,CMM根据该Devicejd识别出连接此FRU的是哪一个CM4,并将该devicejd以及读写FRU相关的命令通过串口一并发给对应的CM4。当CM4收到CMM从串口发来的命令时,首先识别该命令的类型,当识别到该命令为读/写ARM Node FRU时,通过I2C总线去读写对应的FRU,最后CM4将读写的结果通过串口返回给CMM。以上方法虽然已经可以通过CMM来读写ARM Node的FRU,但是用户在写入FRU时,需要写入的是特定字符对应的16进制格式。由于在刷新ARM Node的FRU时,需要按照FRU的规范格式写入512字节,如果全部手动输入这512个16进制数据的话,不仅麻烦,而且很容易出错。因此,本发明提供了一种快速方便的方法来刷新ARM Node的FRU。
[0049]首先,本发明保有数个遵循FRU规范的模板,每个模板中,对应FRU相关信息的字段(即信息字段)都初始化为0,其它与FRU信息字段相关的控制字段(比如各个信息字段的长度)都已设好默认值。各模板之间的区别在于,模板的总长度不一致,或为256字节,或为512字节;同一字段不同模板之间的长度也可以不一致。用户在刷新FRU时可以根据需要选择不同的FRU模板。
[0050]其次,当用户需要刷新FRU时,只需在程序的特定位置,按照FRU对应的各个字段填入相应的字符即可。
[0051]最后,用户运行程序(即本发明所述的FRU的写入方法),程序首先会找到用户设定的模板,然后将用户在某个字段写入的字符转换成16进制数据,并将这些16进制数据重新写入用户选择的模板的对应字段位置,如此循环,直至将用户输入的各个字段改写完成。当程序将用户输入的各个字段都改写完成后,会开始调用ARM Node FRU的写命令,从选定模板改写后的头部开始,每次写入8个字节到用户指定的FRU,直到模板中的数据全部写完。当FRU模板中的数据写完后,程序还可以从对应的FRU中读回写入的数据,每次读回8个数据,并与改写后的模板的同一位置的8个数据进行比较,如此循环直到读完所有写入的数据。当比较完写入的数据无误后,再读取整个FRU,并将写入FRU各个字段的内容以字符串的形式显示出来。至此,ARM Node FRU的刷新就完成了。
[0052]通过本发明,用户只需要以字符串的形式输入所要刷新指定FRU各个字段的内容,就可以很方便的完成刷新FRU的工作,并且,刷新单个FRU的过程总耗时在30秒以内,实现了Node FRU的超快速刷新。
[0053]本发明所述的FRU的写入方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
[0054]本发明还提供一种FRU的读/写系统,所述FRU的读/写系统可以实现本发明所述的FRU的读取/写入方法,但本发明所述的FRU的读取/写入方法的实现装置包括但不限于本实施例列举的FRU的读/写系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
[0055]请参阅图4所示,所述FRU的读/写系统400适用于一服务器系统。所述FRU的读/写系统400包括:机架管理单元(Chassis Management Module,CMM)410,嵌入式处理器(CM4-ARM公司开发的一种嵌入式处理器Cortex-M4,简称CM4)420,至少1个ARM节点430。其中,每个ARM节点430上设有2个FRU;所述机架管理单元410通过嵌入式处理器420与所述ARM节点430相连,控制各ARM节点上的FRU的读/写。进一步,所述机架管理单元410可以通过RS485串行总线与所述嵌入式处理器420通信相连,所述嵌入式处理器420可以通过I2C总线与所述ARM节点430通信相连。
[0056]其中,所述FRU的读/写系统读取FRU的过程包括:
[0057]所述机架管理单元410根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器,并将所述FRU的ID和读写FRU的相关命令通过串口发送给所述F
RU对应连接的嵌入式处理器。
[0058]所述嵌入式处理器420识别所述相关命令的类型为读时,读取所述FRU,并将读取结果反馈给所述机架管理单元。所述嵌入式处理器可以从头开始以8个字节为单位读取所述FRU中的数据。
[0059]其中,所述FRU的读/写系统写入FRU的过程包括:
[0060]所述机架管理单元410根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器,并将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器。
[0061]所述嵌入式处理器识别所述相关命令的类型为写时,根据用户输入选取指定的FRU模板放入缓存中,并将用户输入的字符串形式的各FRU字段转换成对应进制数据写入到缓存的FRU模板的对应字段中。其中,所述嵌入式处理器420可以预存有至少2个遵循FRU规范的FRU模板;各FRU模板中的信息字段均初始化为0;各FRU模板中与信息字段相关的控制字段均初始化为默认值;各FRU模板的总长度不同。所述对应进制数据包括16进制数据。
[0062]所述嵌入式处理器将缓存中改写后的FRU模板写入到所述FRU中;所述嵌入式处理器从头开始读取所述FRU中的数据,获得读回的FRU数据,并比较所述读回的FRU数据与所述缓存中改写后的FRU模板中的数据是否一致;若一致,则所述FRU写入成功;否则,所述FRU写入失败;所述嵌入式处理器在所述FRU写入成功后,显示字符串形式的所述FRU。所述嵌入式处理器可以将缓存中改写后的FRU模板以8个字节为单位写入到所述FRU中。
[0063]在0ΤΤ项目中,24个ARM Node上的48个FRU分别通过I2C总线与3个CM4相连,这3个CM4又是通过RS485串行总线与CMM相连的,由于CM4没有网络模块,无法与外界通信,而CMM具有网络模块,并能通过IPMI协议与外界通信,因此,本发明所述的FRU的读取/写入方法及读/写系统实现了通过CMM控制CM4来读写、刷新这48个FRU。
[0064]综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0065]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种FRU的读取方法,适用于一服务器系统,其特征在于,所述FRU的读取方法包括: 机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器; 机架管理单元将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器; 所述嵌入式处理器识别所述相关命令的类型为读时,读取所述FRU,并将读取结果反馈给所述机架管理单元。2.根据权利要求1所述的FRU的读取方法,其特征在于:所述嵌入式处理器通过I2C总线读取所述FRU;所述嵌入式处理器通过串口将读取结果反馈给所述机架管理单元。3.一种FRU的写入方法,适用于一服务器系统,其特征在于,所述FRU的写入方法包括: 机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器; 机架管理单元将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器; 所述嵌入式处理器识别所述相关命令的类型为写时,根据用户输入选取指定的FRU模板放入缓存中; 所述嵌入式处理器将用户输入的字符串形式的各FRU字段转换成对应进制数据写入到缓存的FRU模板的对应字段中; 所述嵌入式处理器将缓存中改写后的FRU模板写入到所述FRU中。4.根据权利要求3所述的FRU的写入方法,其特征在于,所述FRU的写入方法还包括: 所述嵌入式处理器从头开始读取所述FRU中的数据,获得读回的FRU数据; 所述嵌入式处理器比较所述读回的FRU数据与所述缓存中改写后的FRU模板中的数据是否一致;若一致,则所述FRU写入成功;否则,所述FRU写入失败; 所述嵌入式处理器在所述FRU写入成功后,显示字符串形式的所述FRU。5.根据权利要求3或4所述的FRU的写入方法,其特征在于:所述对应进制数据包括16进制数据。6.根据权利要求4所述的FRU的写入方法,其特征在于:所述嵌入式处理器将缓存中改写后的FRU模板以8个字节为单位写入到所述FRU中;所述嵌入式处理器从头开始以8个字节为单位读取所述FRU中的数据。7.根据权利要求3所述的FRU的写入方法,其特征在于:FRU的写入方法还包括: 预存至少2个遵循FRU规范的FRU模板;各FRU模板中的信息字段均初始化为0;各FRU模板中与信息字段相关的控制字段均初始化为默认值;各FRU模板的总长度不同;不同FRU模板的相同信息字段的长度不同。8.—种FRU的读/写系统,适用于一服务器系统,其特征在于,所述FRU的读/写系统包括: 至少1个ARM节点;每个ARM节点上设有2个FRU; 机架管理单元,通过嵌入式处理器与所述ARM节点相连,控制各ARM节点上的FRU的读/写;所述机架管理单元通过RS485串行总线与所述嵌入式处理器通信相连,所述嵌入式处理器通过I2C总线与所述ARM节点通信相连。9.根据权利要求8所述的FRU的读/写系统,其特征在于,所述FRU的读/写系统还包括: 所述机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器,并将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器; 所述嵌入式处理器识别所述相关命令的类型为读时,读取所述FRU,并将读取结果反馈给所述机架管理单元。10.根据权利要求8所述的FRU的读/写系统,其特征在于,所述FRU的读/写系统还包括: 所述机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器,并将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器; 所述嵌入式处理器识别所述相关命令的类型为写时,根据用户输入选取指定的FRU模板放入缓存中,并将用户输入的字符串形式的各FRU字段转换成对应进制数据写入到缓存的FRU模板的对应字段中;所述嵌入式处理器将缓存中改写后的FRU模板写入到所述FRU中;所述嵌入式处理器从头开始读取所述FRU中的数据,获得读回的FRU数据,并比较所述读回的FRU数据与所述缓存中改写后的FRU模板中的数据是否一致;若一致,则所述FRU写入成功;否则,所述FRU写入失败; 所述嵌入式处理器在所述FRU写入成功后,显示字符串形式的所述FRU。11.根据权利要求8所述的FRU的读/写系统,其特征在于,所述FRU的读/写系统还包括: 所述嵌入式处理器预存有至少2个遵循FRU规范的FRU模板;各FRU模板中的信息字段均初始化为0;各FRU模板中与信息字段相关的控制字段均初始化为默认值;各FRU模板的总长度不同。
【专利摘要】本发明提供一种FRU的读取/写入方法及读/写系统,所述FRU的读取方法包括:机架管理单元根据用户输入的FRU的ID识别出所述FRU对应连接的嵌入式处理器;机架管理单元将所述FRU的ID和读写FRU的相关命令通过串口发送给所述FRU对应连接的嵌入式处理器;所述嵌入式处理器识别所述相关命令的类型为读时,读取所述FRU,并将读取结果反馈给所述机架管理单元。通过本发明,用户只需要以字符串的形式输入所要刷新指定FRU各个字段的内容,就可以很方便的完成刷新FRU的工作,并且,刷新单个FRU的过程总耗时在30秒以内,实现了Node?FRU的超快速刷新。
【IPC分类】G06F13/42, G06F9/445
【公开号】CN105488009
【申请号】CN201510880708
【发明人】陈钊
【申请人】英业达科技有限公司, 英业达股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月3日