指令传递机制的制作方法

文档序号:6334563阅读:193来源:国知局
专利名称:指令传递机制的制作方法
技术领域
本发明是有关于一种指令传递机制,且特别是有关于一种用于诊断串行连接小电脑系统接口扩展器(SAS Expander)的指令传递机制。
背景技术
串行连接小电脑系统接口(Serial Attached SCSI,SAS)是一种电脑集线的技术, 其功能主要是作为周边零件的数据传输,例如硬盘、CD-ROM等设备而设计的接口。串行连接小电脑系统接口由并行小电脑系统接口(small computersystem interface,SCSI)实体存储接口演化而来,是由ANSI INCITS TlO技术委员会(T10 committee)开发及维护的新的存储接口标准。与并行方式相比,串行方式能提供更快速的通讯传输速度以及更简易的配置。此外串行连接小电脑系统接口并支持与串行式ATA(SATA)设备相容,且两者可以使用相类似的电缆。串行连接小电脑系统接口扩展器(SAS expander,以下简称SAS扩展器)有助于众多SAS装置之间的交流。此扩展器包含两个或两个以上的外部扩展端口,而每一扩展器内部包含至少一个用于管理的SAS管理通讯协定装置(internal SMP装置)且其本身也可包含数个SAS装置其支持SSP协定(internal SSP装置)。就一储存系统而言,其具有数个 SAS扩展器,而每个SAS扩展器皆有一个可与外部连结的串行端口以及支持SSP协定且能识别诊断指令的OEM (original equipment manufacturer)操作码并可执行诊断指令的一固件。然而,当需要对储存系统的特定SAS扩展器做硬件/模块/基台(Enclosure)的诊断时,则必须借由一个切换装置切换至此特定SAS扩展器的串行端口,以便于传递诊断指令。 因此,这种储存系统架构不但造成制造成本提高,也使得储存系统的空间无法有效缩小,且不易在此种储存系统架构上进行诊断操作,更不易进行整合测试。

发明内容
本发明提供一种指令传递机制,可使储存系统仅需要一个的串行端口,以节省储存系统的空间,且易于进行诊断操作,更无须使用串行端口切换装置。本发明提出一种指令传递机制,适用于一储存系统,其中该储存系统具有一串行端口,且该储存系统包含一串行连接小电脑系统接口启动以及多个串行连接小电脑系统接口目标,此指令传递机制包括该串行连接小电脑系统接口启动从该串行端口接收以该些串行连接小电脑系统接口目标其中之一为一指令传递目的装置的一诊断指令。该串行连接小电脑系统接口启动将该诊断指令的一指令资料包装于一串行SCSI通讯协定指令框中, 并且根据相对应该指令传递目的装置的一串行连接小电脑系统接口地址,传递该串行SCSI 通讯协定指令框至该指令传递目的装置。作为该指令传递目的装置的该串行连接小电脑系统接口目标接收该串行SCSI通讯协定指令框之后,依序剖析该串行SCSI通讯协定指令框中的该指令资料、执行该指令资料而产生一诊断执行结果、包装该诊断执行结果于一回应框中,以及传递该回应框至该串行连接小电脑系统接口启动。该串行连接小电脑系统接口启动接收该回应框之后,剖析该回应框以获得一诊断指令执行结果并传递该诊断指令执行结果至该串行端口。在本发明的一实施例中,上述的指令传递机制,其中该指令资料至少包含一原始设备制造商操作码、一指令名称与一指令参数。在本发明的一实施例中,上述的指令传递机制,其中作为该指令传递目的装置的该串行连接小电脑系统接口目标执行该指令资料而产生该执行结果的步骤还包括剖析该原始设备制造商操作码是否为诊断指令操作码,若是则呼叫该指令名称以获得一指令名称程序并将该指令参数传入此指令名称程序,执行该指令名称程序。在本发明的一实施例中,上述的指令传递机制,其中该串行连接小电脑系统接口启动将该指令资料包装于该串行SCSI通讯协定指令框中的步骤还包括将该原始设备制造商操作码加入该串行SCSI通讯协定指令框中的一资料缓冲区(Command Data Buffer,CDB) 中的操作码栏位中。在本发明的一实施例中,上述的指令传递机制,其中该串行连接小电脑系统接口启动传递该串行SCSI通讯协定指令框的步骤之前,还包括该串行连接小电脑系统接口启动将该指令传递目的装置转换成相对应的该串行连接小电脑系统接口地址。在本发明的一实施例中,上述的指令传递机制,其中该串行连接小电脑系统接口启动执行一传递处理程序以进行将该指令资料包装于串行SCSI通讯协定指令框中,并且传递至该指令传递目的装置的步骤,以及剖析该回应框并传递该诊断指令执行结果至该串行端口的步骤。在本发明的一实施例中,上述的指令传递机制,其中该串行SCSI通讯协定指令框与该回应框均符合一串行SCSI通讯协定标准。在本发明的一实施例中,上述的指令传递机制,其中该串行连接小电脑系统接口启动包括一环境维修模块串行连接小电脑系统接口扩展器或一近端扩展器。在本发明的一实施例中,上述的指令传递机制,其中每一该些串行连接小电脑系统接口目标包括一串行连接小电脑系统接口扩展器或一远端扩展器。基于上述,本发明以一串行连接小电脑系统接口启动经由单一串行端口接收指令,并依照串行SCSI通讯协定经由指令传递机制传递此指令至串行连接小电脑系统接口目标,以执行指令中所包含的指令名称的程序。如此一来储存系统仅需要一个串行端口接收来自虚拟端的指令,串行连接小电脑系统接口启动即可将所接收到的指令传递至任何一个与其链接的串行连接小电脑系统接口目标,以执行串行连接小电脑系统接口目标的硬件 (例如扩展器)的验证(诊断)程序。因此可以节省储存系统的空间,降低储存系统的制造成本,降低进行诊断操作的复杂度,更无须使用串行端口切换装置。


为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式
作详细说明,其中图1是依照本发明的一实施例的一种指令传递机制流程简图。图2是依照本发明一实施例的储存系统的示意图。主要元件符号说明
SlOl S141 指令传递机制流程步骤10 传递处理程序20:固件200 储存系统202:串行端口204 串行连接小电脑系统接口启动206^204,2(^ 串行连接小电脑系统接口目标208、210 串行连接小电脑系统接口链接212 串行连接小电脑系统接口链接网络214 虚拟端
具体实施例方式图1是依照本发明的一实施例的一种指令传递机制流程简图。图2是依照本发明一实施例的储存系统的示意图。请参照图1与图2,本实施例的储存系统200具有一串行端口(serial port) 202,此外,此储存系统200包含一串行连接小电脑系统接口启动(serial attached small computer system interface initiator, SAS initiator,以下简禾尔 SAS 启动)204以及多个串行连接小电脑系统接口目标(serial attached small computer system interface target, SAS target,以下简称 SAS 目标)206! 201。其中,SAS 启动 204与每一 SAS目标分别经由串行连接小电脑系统接口链接(SAS link,以下简称SAS链接)208、210与串行连接小电脑系统接口链接网络(SAS link fabric,以下简称SAS链接网络)212相互链接。此外,上述SAS启动204例如是一串行连接小电脑系统接口扩展器(SAkxpander, SAS expander)。再者,上述SAS目标例如是一串行连接小电脑系统接口扩展器(SAS expander)。于步骤SlOl中,SAS启动204从串行端口 202接收由虚拟端214所下达,以SAS 目标其中之一为一指令传递目的装置的一诊断指令(diagnosticcommand)。其中,此诊断指令包括一原始设备制造商(original equipmentmanufacturer, OEM)操作码。也就是虚拟端214经由串行端口 202下达的诊断指令并非为符合后续所提到的串行SCSI通讯协定(serial SCSI protocol, SSP)的一指令。此外,必须注意的是,此诊断指令除了包括一 OEM操作码(OP code)夕卜,还至少包括一指令名称(command name)与一指令参数(command parameters)等指令资料以及一 SAS目标名称。另外,上述虚拟端214例如是一电脑系统且其上有虚拟终端机,包括笔记型电脑。值得注意得是,此OEM操作码必须是在保留给制造供应商(vendor)的范围内。依据SAS规格书,操作码COh至0! 及EOh至FFh的范围是保留给制造供应商使用。故可从中取任何一个当作诊断指令的OEM操作码。于后续实施例中, 例如以0! 为诊断指令的OEM操作码。举例而言,于一实施例中,虚拟端214下达一诊断指令为 PassTrough“SASExpander 3'T)Fh VpdShow Middl印lane。亦即,虚拟端 214 下上述的命令至SAS启动204,其目的是想得知SAS目标20 (例如其SAS地址为500605B00002727F的 SAS Expander 3)所连接的 middle plane 上的 VPD 资料(Vital Private Data)。因此,上述诊断指令至少包括OEM操作码(亦即上述诊断指令中的0冊)、指令名称(亦即上述诊断指令中的VpdShow)与一指令参数(亦即上述诊断指令中的Middl印lane)等指令资料以及 SAS目标名称(亦即上述诊断指令中的SAS Expander 3)。之后,于步骤S105中,SAS启动204将诊断指令的指令资料包装于一串行SCSI通讯协定指令框(SSP command frame,以下简称SSP指令框)中,也就是将诊断指令中的指令名称(例如是VpdShow)、指令参数(例如是Middl印lane)以及OEM操作码(例如是0! ) 包装至符合串行SCSI通讯协定的SSP指令框中。其中SAS启动204将指令资料包装于SSP 指令框中的步骤还包括将诊断指令中的OEM操作码加入SSP指令框中的一资料缓冲区中的操作码栏位中。值得注意的是,因上述实施例中所举例的诊断指令(“I^ssTrough "SAS Expander 3” DFh VpdShow Middl印lane”)中,DFh为OEM操作码,其将被放于SSP指令框内的操作码栏位中,而传递至标号为20 的SAS目标“SAS Expander 3”。另外,当标号为 20 的SAS目标“SAS Expander 3”收到此SSP指令框时会先检查此操作栏位,确认其是否为0冊,若是则表示此SSP指令框所携带的资料为诊断指令,则分析出此诊断指令名称及参数,并据此呼叫此诊断指令名称,以获得一指令名称程序。更进一步而言,来自虚拟端214 的诊断指令“PassTrough "SAS Expander 3"DFh VpdShow Middl印lane”,其中 OEM 操作码0! 是可被省略的。也就是因为所有诊断指令只用一个OEM操作码0冊,因此SAS启动 204会自动将0! 加入SSP指令框的操作码栏位中。另外,于一实施例中,SAS启动204将指令资料包装于SSP指令框中的步骤之前,还包括SAS启动204将指令传递目的装置(例如为“SAS Expander 3”)转换成相对应的一串行连接小电脑系统接口地址(SAS address,以下简称SAS地址,例如为 500605B00002727F)。其中,SAS启动204将指令传递目的装置转换成相对应的SAS地址的方法包括SAS启动根据指令传递目的装置的名称参照一 SAS装置-SAS地址对照表(例如表1所示的SAS装置名称与SAS地址对照表),而获得指令传递目的装置的相对应SAS地址。表1 SAS装置-SAS地址对照表
权利要求
1.一种指令传递机制,适用于一储存系统,其中该储存系统具有一串行端口,且该储存系统包含一串行连接小电脑系统接口启动以及多个串行连接小电脑系统接口目标,包括该串行连接小电脑系统接口启动从该串行端口接收以所述串行连接小电脑系统接口目标其中之一为一指令传递目的装置的一诊断指令;该串行连接小电脑系统接口启动将该诊断指令的一指令资料包装于一串行SCSI通讯协定指令框中,并且根据相对应该指令传递目的装置的一串行连接小电脑系统接口地址, 传递该串行SCSI通讯协定指令框至该指令传递目的装置;作为该指令传递目的装置的该串行连接小电脑系统接口目标接收该串行SCSI通讯协定指令框之后,依序剖析该串行SCSI通讯协定指令框中的该指令资料、执行该指令资料而产生一执行结果、包装该执行结果于一回应框中,以及传递该回应框至该串行连接小电脑系统接口启动;以及该串行连接小电脑系统接口启动接收该回应框之后,剖析该回应框以获得一诊断指令执行结果并传递该诊断指令执行结果至该串行端口。
2.如权利要求1所述的指令传递机制,其特征在于,该指令资料至少包含一原始设备制造商操作码、一指令名称与一指令参数。
3.如权利要求2所述的指令传递机制,其特征在于,作为该指令传递目的装置的该串行连接小电脑系统接口目标执行该指令资料而产生该执行结果的步骤还包括剖析该原始设备制造商操作码;以及呼叫该指令名称以获得一指令名称程序,并将该指令参数传入此指令名称程序,执行该指令名称程序。
4.如权利要求2所述的指令传递机制,其特征在于,该串行连接小电脑系统接口启动将该指令资料包装于该串行SCSI通讯协定指令框中的步骤还包括将该原始设备制造商操作码加入该串行SCSI通讯协定指令框中的一资料缓冲区中的一操作码栏位中。
5.如权利要求1所述的指令传递机制,其特征在于,该串行连接小电脑系统接口启动传递该串行SCSI通讯协定指令框的步骤之前,还包括该串行连接小电脑系统接口启动将该指令传递目的装置转换成相对应的该串行连接小电脑系统接口地址。
6.如权利要求1所述的指令传递机制,其特征在于,该串行连接小电脑系统接口启动执行一传递处理程序以进行将该指令资料包装于串行SCSI通讯协定指令框中,并且传递至该指令传递目的装置的步骤,以及剖析该回应框并传递该诊断指令执行结果至该串行端口的步骤。
7.如权利要求1所述的指令传递机制,其特征在于,该串行SCSI通讯协定指令框与该回应框均符合一串行SCSI通讯协定标准。
8.如权利要求1所述的指令传递机制,其特征在于,该串行连接小电脑系统接口启动包括一串行连接小电脑系统接口扩展器。
9.如权利要求1所述的指令传递机制,其特征在于,每一所述串行连接小电脑系统接口目标包括一串行连接小电脑系统接口扩展器。
全文摘要
一种指令传递机制,适用于具有一串行端口(Serial Port)的储存系统,且其包含一串行连接小电脑系统接口(SAS)启动(Initiator)以及多个SAS目标(Target)。SAS启动从串行端口接收一诊断指令,之后依序将诊断指令的指令资料包装于串行SCSI通讯协定(SSP)指令框(Command Frame)中,并且传递串行SCSI通讯协定指令框至指令传递目的装置。作为指令传递目的装置的SAS目标接收串行SCSI通讯协定指令框之后,依序剖析其中的指令资料、执行指令资料而产生执行结果、包装执行结果于回应框中,以及传递回应框至SAS启动。SAS启动剖析回应框以获得诊断指令执行结果并传递诊断指令执行结果至该串行端口。
文档编号G06F13/38GK102455986SQ20101052233
公开日2012年5月16日 申请日期2010年10月18日 优先权日2010年10月18日
发明者卢盈志, 李思贤 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1