扩充scsi机箱新功能的方法

文档序号:8905147阅读:467来源:国知局
扩充scsi机箱新功能的方法
【技术领域】
[0001]本发明涉及存储技术领域,尤其涉及一种扩充SCSI机箱新功能的方法。
【背景技术】
[0002]目前的机箱管理(Enclosure Management,EM),在背板的硬件控管上,一般使用 SCSI (Small Computer System Interface,小型计算机系统接口 )机箱服务(SCSIEnclosure Services, SES),通过标准的 SES 标准协议,在序列式 SCSI (Serial AttachedSCSI, SAS)的扩展器(Expander)中设有一个SCSI机箱处理器(SCSI Enclosureprocessor, SEP)来做硬设备监控。SES客户端通过SES标准协议来对扩展器发出SCSI命令,SES标准协议提供了多种的SCSI诊断页面,使其得以透过该些诊断页面通过SES标准协议来回报硬设备状态。SCSI机箱透过固件去达成监控和硬件控管的功能,并透过标准接口(SES诊断页面和控制页面)去执行EM功能。
[0003]传统技术中,SCSI机箱内部芯片已定义好可以执行那些功能,但当我们希望透过SES标准协议来执行未定义的功能时,SCSI机箱即无法执行该未定义的功能,如此于机箱管理应用上有其不便及缺失存在。

【发明内容】

[0004]基于此,有必要针对传统技术中只能通过扩展器芯片内部已定义的功能对机箱进行管理,机箱管理收到极大限制的问题,提供一种扩充SCSI机箱新功能的方法。
[0005]为实现本发明目的提供的一种扩充SCSI机箱新功能的方法,当SCSI机箱服务客户端要扩充扩展器未定义的新功能时,进行以下步骤:
[0006]S100,SCSI机箱服务客户端将所述新功能的信息编码成一诊断命令,并将该诊断命令写入SCSI机箱服务标准协议中的String out诊断页面;
[0007]S200,SCSI机箱服务客户端传送一诊断页面至SCSI机箱处理器端;
[0008]S300,SCSI机箱处理器端判断所接收的该诊断页面是否为String out诊断页面,若是,解码该诊断命令并产生一新功能定义值,并将所述新功能定义值写入缓存器后返回步骤S200 ;若否,进行步骤S400 ;
[0009]S400,SCSI机箱处理器端判断所接收的该诊断页面是否为String in诊断页面,若是,将所述缓存器中的所述新功能定义值写入该String in诊断页面,并将该Stringin诊断页面传回SCSI机箱服务客户端;若否,产生一错误消息,并将所述错误消息写入该String in诊断页面,并将该String in诊断页面传回SCSI机箱服务客户端。
[0010]作为一种扩充SCSI机箱新功能的方法的可实施方式,其中步骤S100中的诊断命令中至少包含有所述新功能的新功能名称及对应参数。
[0011]作为一种扩充SCSI机箱新功能的方法的可实施方式,其中步骤S200依序传送一String out诊断页面及一 String in诊断页面。
[0012]作为一种扩充SCSI机箱新功能的方法的可实施方式,其中步骤S200透过SCSI机箱服务标准协议进行String out诊断页面及String in诊断页面的传送。
[0013]作为一种扩充SCSI机箱新功能的方法的可实施方式,其中步骤S300更进一步包含:
[0014]S301,当SCSI机箱处理器端判断所接收的该诊断页面为String out诊断页面时,进行步骤S302 ;若否,进行步骤S400 ;
[0015]S302,解码该String out诊断页面中的该诊断命令,获得所述新功能的新功能名称及对应参数;
[0016]S303,执行一默认程序,导入所述对应参数产生对应于该新功能名称的一新功能定义值,并将该新功能定义值存储于一缓存器中,返回步骤S200。
[0017]作为一种扩充SCSI机箱新功能的方法的可实施方式,其中步骤S400更进一步包含:
[0018]S401,当SCSI机箱处理器端判断所接收的诊断页面为String in诊断页面时,进行步骤S402 ;若否,执行步骤S403 ;
[0019]S402、将该缓存器中的该定义值写入该String in诊断页面,并将该String in诊断页面传回SCSI机箱服务客户端;
[0020]S403,产生一个错误消息,并将该错误消息写入该String in诊断页面,并将该String in诊断页面传回SCSI机箱服务客户端。
[0021]本发明的有益效果包括:本发明提供的扩充SCSI机箱新功能的方法,将新功能的信息编码成诊断命令并写入到SES的诊断页面中,并通过SES客户端和SEP端之间的信息通讯完成新功能的定义。之后SEP端在执行SES诊断命令时,因为有了定义好的新功能,便可以直接透过该定义好的功能来执行,再透过String out诊断页面将输出参数回传。
【附图说明】
[0022]图1为本发明一种扩充SCSI机箱新功能的方法的一具体实施例的流程图;
[0023]图2为SES客户端和SEP端之间的执行过程示意图;
[0024]图3为本发明一种扩充SCSI机箱新功能的方法的一具体实施例中步骤S300具体执行过程示意图;
[0025]图4为本发明一种扩充SCSI机箱新功能的方法的一具体实施例中步骤S400具体执行过程示意图;
[0026]图5为扩充SCSI机箱的烧录扩展器SAS地址功能的执行流程图;
[0027]图6为扩充SCSI机箱的机箱排序功能的执行流程图。
【具体实施方式】
[0028]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的扩充SCSI机箱新功能的方法的【具体实施方式】进行说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0029]本发明一实施例的扩充SCSI机箱新功能的方法,如图1所示,包括以下步骤:
[0030]S100,SCSI机箱服务客户端将所述新功能的信息编码成一诊断命令,并将该诊断命令写入SCSI机箱服务标准协议中的String out诊断页面。
[0031]S200,SCSI机箱服务客户端传送一诊断页面至SCSI机箱处理器端。
[0032]在SES客户端需要新增SES标准协议未定义的功能,即新功能时,可将新功能在SCSI机箱服务客户端,也即SES客户端,编码成诊断命令,并透过SES标准协议发送到SCSI机箱处理器端,也即SEP端。且在编码的过程中可将新功能的新功能名称及对应参数编码到诊断命令中。当然诊断命令中还可以包含新功能的其他信息。
[0033]本发明实施例的方法通过SES客户端和SEP端之间的配合完成,步骤SlOO和步骤S200在SES客户端进行,后面的步骤是由SEP端进行,SEP客户端接收从SES客户端发出的诊断命令,并做处理及回应。其中,SES客户端传输的诊断页面可以是String out诊断页面,也可以是String in诊断页面。因此SEP端接收到SES客户端传输的信息后要按以下步骤执行。
[0034]S300,SCSI机箱处理器端判断所接收的该诊断页面是否为String out诊断页面,若是,解码该诊断命令并根据所述诊断命令产生一新功能定义值,并将所述新功能定义值写入缓存器后返回步骤S200,SES再次发送诊断页码;若否,进行步骤S400。
[0035]S400,SCSI机箱处理器端判断所接收的该诊断页面是否为String in诊断页面,若是,将所述缓存器中的所述新功能定义值写入该String in诊断页面,并将该Stringin诊断页面传回SCSI机箱服务客户端;若否,产生一错误消息,并将所述错误消息写入该String in诊断页面,并将该String in诊断页面传回SCSI机箱服务客户端。如此,因为该新功能定义值已写入SES标准协议的String in诊断页面中(即视为已定义),当SCSI机箱下次运行时,便可顺利执行该新功能。
[0036]此处需要说明的是,产生错误消息后,将错误消息写入到String out诊断页面回传至SCSI机箱服务客户端,告知SES客户端本次新功能添加失败,SES客户端收到该错误消息后,可发送相应的String in诊断页面,也可重新发送包含新功能的信息的String out诊断页面,完成新功能的添加。
[0037]较佳地,步骤S200依序传送一 String out诊断页面及一 String in诊断页面,即首先传送一个String out诊断页面到SEP端,收到SEP端的反馈消息后再传送一个Stringin诊断页面,如此可顺利的完成新功能的增加。
[0038]且本发明的方法中,SES客户端都可以透过SCSI机箱服务标准协议进行Stringout诊断页面及String in诊断页面的传送。
[0039]SES客户端和SEP端之间的具体执行过程如图2所示。简单的介绍为,SES客户端发送String out诊断页面到SEP端,SEP端调用并执行默认程序,并将结果存储到缓存器中,执行完成后返回完成信息(ack)给SES客户端;SES客户端接到完成信息后再发送String in诊断页面到SEP客户端,SEP端将执行默认程序的结果存储到String in诊断页面,并返回,SES客户端解码出String in诊断页面的输出结果。
[0040]SES客户端的执行过程包括:编码新功能的诊断命令,并存储到缓存器中;使用SES标准协议的String out诊断页面发送缓存器中的内容到SEP ;接收到SEP的反馈后,发送String in诊断页面;接收SEP端发送回的缓存器中的内容,解码,并获得缓存器中的结果O
[0041]其中,SES客户端和SEP端的编码及解码的方式如下:(可以采用CSV格式,也可以采用其他格式进行。)
[0042]1.编码:Strin
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1