连接设备、存储设备和用于连接设备的处理方法

文档序号:7864328阅读:138来源:国知局
专利名称:连接设备、存储设备和用于连接设备的处理方法
技术领域
本案涉及一种置于存储装置与用于控制该存储装置的多个控制器之间的连接设备、存储设备、用于连接设备的处理方法、以及处理程序。
背景技术
在存储设备结合有为SAS (串行连接的SCSI)准备的诸如HDD (硬盘驱动器)的大量装置的情况下,有时使用SAS扩展器(下文中称为EXP),其中SAS是SCSI (小型计算机系统接口)标准之一。EXP是用于扩展SAS连接的SAS开关。图7是示出了包括多个SAS装置700以及EXP 400和600的存储系统的配置示例的视图。具体地,图7示出了使用大量SAS装置700以及EXP 400和600的大规模存储系统的示例。如图7所示,存储系统包括存储设备100和主机800,存储设备100包括控制器外壳(下文中称为CE) 200和多个驱动器外壳(下文中称为DE) 500。应注意,在图7中,双线表示主机接口,而单线表示SAS连接。CE 200进行对数据访问请求的控制,该数据访问请求用于将数据等从主机800写入并读出到SAS装置700,并且CE 200包括控制器模块(下文中称为CM) 300和EXP 400。CM 300是如下模块:其管理下级(subordinate) SAS装置700并将适当的SAS装置700分配到从诸如服务器的主 机800到SAS装置700的数据访问请求。此外,CM 300用作SAS装置700以及EXP 400和600的启动器(initiator),并通过下级EXP 400和600进行对作为访问目标的SAS装置700的访问。EXP 400是用于扩展SAS连接的模块,并包括作为SAS控制装置的扩展器芯片以及作为SAS的物理端口的Phy (物理)。此外,EXP 400经由Phy连接到CM 300、以及下级DE 500中的EXP600,并将来自CM 300数据访问请求传送到作为访问目标的EXP 600。应注意,为了实现冗余,CE 200包括多个(图7所示的示例中为八个)CM 300,并且具有多启动器的配置。此外,为了实现冗余,CE 200包括多个(图7所示的示例中为两个)EXP 400。DE 500在其中结合有诸如HDD的多个SAS装置(SAS驱动器)700,并包括多个(图7所示的示例中为两个)EXP 600以实现冗余。应注意,在图7中,虽然为了简化说明该图而省略了一些SAS装置700的图示以及一些DE 500中的附图标记600和700的图示,但是所有DE 500均具有相似的配置。应注意,在从CM 300到DE 500的数据路径中,CM 300侧和DE 500侧在下文中分别被称为上侧和下侧。EXP 600具有与CE 200中的EXP 400相似的配置,并经由未示出的Phy (物理端口)连接到CE 200中的EXP 400和/或不同的DE 500中的EXP 600。EXP 600根据来自上侦仪即来自CM 300侧)的数据访问请求来进行处理。应注意,当需要在以下描述中指定CM 300中的一个时,如图7所示,使用CM 00至CM 07中的一个。此外,当需要在以下描述中指定EXP 400或EXP 600中的一个时,如图7所示,使用 EXP 00,EXP 10 至 EXP 17,EXP 20 至 EXP 27,EXP 30 至 EXP 37 和 EXP 40 至 EXP47中的一个。如图7所示,在存储设备100中,CM 00至CM 07连接到EXP 00和EXP 01的上侧。此外,EXP 10至EXP 13连接到EXP 00的下侧,而EXP 14至EXP 17连接到EXP 01的下侧。此外,EXP 20,30和40以串接方式级联连接(多级连接)到EXP 10 ;EXP 21,31和41以串接方式级联连接(多级连接)到EXP 11 ;EXP 22、32和42以串接方式级联连接(多级连接)到EXP 12;以及EXP 23、33和43以串接方式级联连接(多级连接)到EXP 13。类似地,EXP 24、34和44以串接方式级联连接(多级连接)到EXP 14 ;EXP 25、35和45以串接方式级联连接(多级连接)到EXP 15 ;EXP 26、36和46以串接方式级联连接(多级连接)到EXP16;以及EXP 27、37和47以串接方式级联连接(多级连接)到EXP 17。此外,每个DE 500中的两个EXP 600连接到包括在EXP本身所属的DE 500中的至少一个SAS装置700。以如上所述的方式配置的存储设备100可以使用EXP 400和600连接大量SAS装置 700。这里,在每个外壳中两个两个地设置EXP 400和EXP 600,用于冗余。在冗余的EXP400和EXP 600中,CE 200中的EXP 00和DE 500中的EXP 10至EXP 13中的每个相互连接的串接(series)在下文中被称作第一串接,而CE 200中的EXP 01和DE 500中的EXP14至EXP 17中的每个相互连接的串接在下文中被称作第二串接。应注意,第一串接中的各个`系统的EXP 10至13、EXP 20至23、EXP30至33和EXP40至43在下文中被统称为EXP 10至43。顺便提及,如果在图7的配置中的第一串接的EXP 10至43的下级SAS装置700之一中发生某一状态变化,则SAS装置700所连接的EXP600向上侧发布广播改变(下文中被称为BC(CHG))。应注意,SAS装置700的状态变化可以是例如SAS装置700的插入和拔出或装置障碍(disorder)。BC(CHG)是指示发生状态变化的通知,并且经由上侧的EXP 600和400从作为发布源的EXP 600传送到所有CM 300。作为启动器的CM 300在接收到BC(CHG)之后进行用于重新识别下级SAS装置700的发现处理。应注意,由于接收到BC (CHG)的EXP 400和600将BC (CHG)传送到所有SAS端口,即传送到所有Phy,所以BC(CHG)被传递到上侧,结果,所有CM 300在基本相同的定时开始发现处理。在发现处理中,CM 300向连接到下侧的所有EXP 400和600发布多个SMP (SAS管理协议)功能。SMP功能是由作为用于管理EXP的协议的SMP定义的命令,并且用于获取EXP的下级SAS装置700的信息、EXP的路由信息的构造、拓扑的构造、Phy的控制、用于SAS连接的链路协商等。例如,CM 300将五到十个SMP功能(命令)发布到EXP 400或EXP600中的每个,以获取想要用于发现处理的信息。接收到SMP功能的EXP 400和600向CM 300发布对应于命令类型的信息(例如其具有的Phy的数目和连接到Phy的SAS装置700的信息),作为图信息。CM 300使用从下侧的EXP 400和600向其发送的图信息来管理下侧的SAS装置700的信息。[专利文献I]日本公开专利公布第2006-279347号[专利文献2]日本公开专利公布第2009-540436号如上所述,在发现处理中,CM 300向所有EXP 400和600发布多个SMP功能。另一方面,EXP 400和600可以仅逐一地进行关于接收到的多个SMP功能的处理。因此,在图7所示的多启动器环境中,存在以下问题:当发生发现处理时,来自多个CM 300的SMP功能的访问会冲突,并且对EXP 400和600施加高负荷。

发明内容
根据一个方面,本发明的目的是:在经由连接设备向多个控制器发布指示存储部的状态变化发生的通知时,降低响应于该通知产生的到连接设备的处理负荷。应注意,除了上述目的之外,实现通过下文中描述的本发明的若干实施例的构成提供的而不是通过现有技术提供的这样的工作效率,也应被理解为本发明的其它目的之
O
根据实施例的一个方面,提供了一种连接设备,该连接设备置于包括至少一个存储部的存储装置与用于控制该存储装置的多个控制器之间,该连接设备包括:通知部,当从存储装置接收到指示与存储部有关的状态变化发生的通知时,该通知部向控制器中的至少一个传送通知;监视部,该监视部对经由连接设备从控制器中的通知已经传送到的至少一个控制器到存储装置的访问进行监视;以及通知控制部,当通过监视部检测到访问已经结束时,该通知控制部将通知部的通知的传送目的地转换为控制器中的通知尚未传送到的一个或更多个控制器。利用本实施例,当经由连接设备向多个控制器发布指示存储部的状态变化的发生的通知时,可以降低响应于该通知产生的到连接设备的处理负荷。


图1是示出了作为实施例的存储系统的配置示例的框图;图2是示出了根据本实施例的控制器外壳的配置示例的框图;图3是示出了根据本实施例的扩展器的配置示例的框图;图4是示出了根据本实施例的驱动器外壳的配置示例的框图;图5是具体示出了图1所示的存储设备的第一串接的控制器模块和扩展器的框图;图6是示出了根据本实施例的存储设备的操作示例的流程图;以及图7是示出了包括多个SAS驱动器和EXP的存储系统的配置示例的框图。
具体实施方式
下文中,参照附图描述了实施例。[I]实施例[1-1]存储系统的配置示例图1是示出了作为实施例的存储系统的配置示例的框图,并且图2是示出了根据本实施例的控制器外壳2的配置示例的框图。此外,图3是示出了根据本实施例的扩展器4和6的配置示例的框图,并且图4是示出了驱动器外壳5的配置示例的框图。如图1所示,根据本实施例的存储系统包括存储设备I和主机8,存储设备I包括CE 2和多个DE 5。应注意,在图1中,双线表示主机接口,而单线表示SAS连接。此外,在从CM 3至DE 5的数据路径中,CM 3侧在下文中有时被称作上侧,而DE 5侧在下文中有时被称作下侧。主机8是如下设备:该设备发布用于向存储设备I中包括的SAS装置7写入和读出数据的数据访问请求。作为主机8,诸如服务器的信息处理设备是可用的。

CE 2是用于进行与从主机8发布的数据访问请求有关的控制的控制设备,并且包括多个(图1所示的示例中为八个)CM 3和多个(图1所示的示例中为两个)EXP 4,以实现冗余。类似于上面描述的CM 300,CM (控制器)3进行对DE 5的控制,每个CM 3是如下模块:该模块管理下级SAS装置7并将适当的SAS装置7分配给从主机8发布的数据访问请求。如图2所示,每个CM 3具体包括主机适配器31、处理器32、存储器33和SAS IO(输入输出)控制器34。主机适配器31从主机8等接收诸如数据访问请求的信息,并向主机8发送来自EXP 4或DE 5的诸如数据、命令等的信息,并且经由主机接口连接到主机8。处理器32是用于进行各种控制处理和算术运算的诸如CPU(中央处理单元)或MPU(微处理单元)的处理设备,并且执行存储在ROM (只读存储器)(未示出)中的程序以实现CM3的各种功能。在本实施例中,处理器32进行与来自主机8的数据访问请求有关的处理,并且执行发现处理。存储器33是用于临时存储各种数据或程序的存储装置,并且在处理器32执行程序时,存储器33临时存储并开发数据或程序,以便使用该数据或程序。应注意,作为存储器33,例如,诸如RAM (随机存取存储器)的易失性存储器是可用的。SAS IO控制器34的控件是负责向下级EXP 4输入且从下级EXP 4输出的控制器,并且通过线缆等以SAS方式连接到EXP 4中的以下描述的Phy 44。另外,CM 3用作SAS装置7或EXP 4和6的启动器,并且经由下级EXP 4和6进行对作为访问目标的SAS装置7的访问。此外,类似于上文中描述的CM 300, CM 3经由EXP 4接收从DE 5 (EXP 6)发布的BC (CHG),即指示发生状态变化的通知,然后开始用于重新识别下级SAS装置7的发现处理。具体地,在发现处理中,CM 3经由EXP 4向通过SAS IO控制器34连接到下侧的所有EXP 4和DE 5 (EXP 6)发布SMP功能(控制信息)。应注意,如上所述,SMP功能是用于管理EXP的协议,并且用于EXP的下级SAS装置7的信息的获取、EXP的路由信息的构造、拓扑的构造、Phy的控制、SAS连接的链路协商等。
例如,SMP功能是用于请求图信息(连接信息)的控制信息,该图信息(连接信息)指示诸如与EXP 4或6的下级DE 5 (EXP 6)连接(即与EXP 4或EXP 6的下侧连接)的EXP6和SAS装置7的装置的连接状态等。以这种方式,SMP功能是用于响应于状态变化的发生而控制EXP 4和DE 5的信息。CM 3例如向每个EXP 4或6发布多个(例如,五个到十个)SMP功能,以获取想要用于如上所述的发现处理的这样的信息。此外,在发现处理中,CM 3可以将从EXP 4或DE 5 (EXP 6)接收的响应(响应信息)存储到诸如存储器33的存储装置中,并可以使用图信息来管理下侧的SAS装置7的信息。
在图1所示的示例中,CM 3可以根据来自针对EXP 4的对SMP功能的响应(响应信息)中的图信息,将SMP功能要被发布到的DE 5 (EXP6)识别为EXP 10至13。此外,CM3例如可以根据来自针对EXP 6的SMP功能的响应(响应信息)中的图信息,将EXP 10至13中的下级EXP6识别为EXP 20至23。具体地,CM 3可以根据图信息来识别出SMP功能要被发布到的DE5 (EXP 6)。应注意,从EXP 4和6发送的图信息包括作为发送源的每个EXP 4和6所拥有的Phy 44的数目、连接到Phy 44的SAS装置7的信息等。EXP (连接设备)4是置于DE 5与多个CM 3之间的并进行SAS连接的扩展的模块,并且向作为访问目标的DE 5 (EXP 6)传送来自CM 3的数据访问请求。具体地,如图3所示,EXP 4包括扩展器芯片41、电源46、PLD (可编程逻辑装置)47和开关48。扩展器芯片41是用于SAS的控制装置,并且包括处理器42、存储器43、Phy 44、以及串行端口 45a和以太端口 45b,串行端口 45a和以太端口 45b分别是用于串行连接和以太网(Ethernet,注册商标)连接的接口。处理器42是诸如CPU或MPU的处理设备,其进行各种控制和算术运算,并且执行存储在ROM (未示出)中的程序等以实现EXP 4的各种功能。在本实施例中,处理器42不仅进行对作为SAS的物理端口的Phy44的控制,而且还进行与SMP功能有关的处理,以作为SMP逻辑装置,并且处理器42作为SSP (串行SCSI协议)逻辑装置还进行与SCSI命令有关的处理。此外,根据本实施例的EXP 4具有作为下文描述的通知部40a、监视部40b、通知控制部40c和重置部40d的功能。这些功能通过处理器42来实现。存储器(保存部)43是用于临时存储各种数据和程序的存储装置。当处理器42要执行程序时,存储器43临时存储、开发并使用该数据或程序。应注意,作为存储器43,使用例如像RAM的易失性存储器。Phy 44是通过线缆等以SAS的方式连接到CM 3和DE 5中的EXP 6的物理端口,并且在图3所示的示例中包括端口 O至35。应注意,尽管未示出,但是也可以在CE 2中设置SAS装置7。在该实例中,EXP 4经由Phy 44而连接到CE 2中的SAS装置7。电源46利用来自外部电源(未示出)的电力对扩展器4供电,并且PLD 47利用来自电源46等的存留的供电进行操作,以进行对扩展器4的供电控制等。具体地,PLC 47通过对开关48的供电控制,来进行针对将来自电源46的电力提供给扩展器芯片41的控制。当从DE 5 (EXP 6)接收到BC(CHG)时,为了重新识别下级SAS装置7和EXP 6,EXP 4执行发现处理并向连接到下侧的EXP 6发布SMP功能。SMP功能是用于请求例如在连接到下侧的EXP 6中更新之后的DE5的状态信息(诸如路由表)的命令。然后,如果从连接到下侧的EXP 6接收到对SMP功能的响应,则EXP 4基于来自该响应中的状态信息来更新(产生)其自身的路由表(状态信息),并将更新的路由表存储到诸如存储器43的存储装置中。此外,如果EXP 4通过执行发现处理来获取状态信息,则EXP 4向CM 3传送BC(CHG)。然而,在向CM 3传送BC(CHG)时,根据本实施例的EXP 4通过通知部40a、监视部40b、通知控制部40c和重置部40d来进行下文描述的处理。应注意,当EXP 4从BC(CHG)已经传送到的CM 3接收SMP功能时,EXP 4响应于接收到的命令来进行处理,例如,用于获取其自身的Phy 44或连接到Phy 44的装置的信息的处理。然后,EXP 4将所获取的信息置于响应中,并使所获取的信息作为该响应中包括的图信息返回到CM 3。如图4所示,DE (存储装置)5包括至少一个SAS装置7并且包括多个(图4所示的示例中为两个)EXP 6,以实现冗余。应注意,虽然在图1中为了简化图1省略了 DE 5中的一些SAS装置7的图示以及一些附图标记6和7的图示,但是所有的DE 5均包括相似的配置。SAS装置(存储部7)是用于存储各种数据、程序等的硬件,例如像为SAS准备的HDD等的磁盘设备。应注意,作为S AS装置7,可以使用为SAS准备的不同的装置。EXP 6包括与图2所示的EXP 4的配置相似的配置,并且通过线缆等以SAS的方式连接到CE 2中的EXP 4和/或经由图3所示的Phy 44连接到其它不同的DE 5的EXP 6。EXP 6进行对应于来自上侧(即来自CM3侧)的数据访问请求的处理。此外,当DE 5中的状态变化(即与直接连接到EXP 6的SAS装置7有关)发生时,EXP 6更新(产生)路由表(状态信息),并将更新的路由表存储到诸如存储器43等的存储装置中,以便重新识别连接到Phy 44的SAS装置7。应注意,发生状态变化的情况例如可以是下述情况:其中,发生Phy44的上行链接/下行链接,或发生SAS装置7的插入和拔出。此外,EXP 6向所有Phy 44 (例如,向图1所示的连接到上侧的其它EXP 4或6)发布 BC (CHG)。此外,为了重新识别下级SAS装置7或EXP 6,从连接到下侧的EXP6接收到BC(CHG)的上侧的EXP 6执行发现处理,并向连接到下侧的EXP6发布SMP功能。SMP功能是下述命令:其用于请求例如在连接到下侧的EXP 6中更新之后的路由表的信息。然后,如果从连接到下侧的EXP 6接收到对SMP功能的响应,则上侧的EXP 6基于来自该响应中的状态信息来更新(产生)其自身的路由表(状态信息),并将更新的路由表存储到诸如存储器43的存储装置中。此外,上侧的EXP 6向所有Phy 44 (例如连接到上侧的EXP 4或6)传送BC(CHG)。此外,当EXP 6接收到从CM 3发布的SMP功能时,其响应于接收到的命令来进行处理,例如用于获取其自身的Phy 44或连接到Phy 44的装置的信息的处理,并将所获取的信息置于该响应中并使所获取的信息作为该响应中包括的图信息返回到CM 3。应注意,当需要在以下描述中指定CM 3中的一个时,如图1所示,使用CM 00至CM07中的一个。此外,当需要在以下描述中指定EXP 4或EXP 6中的一个时,如图1所示,使用 EXP 00、EXP 10 至 17、EXP 20 至 27、EXP 30 至 37 以及 EXP 40 至 47 中的一个。如图1所示,在存储设备I中,CM 00至07连接到EXP 00和01的上侧。此外,EXP10至13连接到EXP 00的下侧,而EXP 14至17连接到EXP 01的下侧。此外,EXP 20、30和40以串接的方式被级联连接(相继连接、多级连接)到EXP 10;EXP 21、31和41以串接的方式被级联连接(相继连接、多级连接)到EXP 11 ;EXP 22、32和42以串接的方式被级联连接(相继连接、多级连接)到EXP 12 ;以及EXP 23,33和43以串接的方式被级联连接(相继连接、多级连接)到EXP 13。类似地,EXP 24、34和44以串接的方式被级联连接(相继连接、多级连接)到EXP 14 ;EXP25、35和45以串接的方式被级联连接(相继连接、多级连接)到EXP 15 ;EXP 26,36和46以串接的方式被级联连接(相继连接、多级连接)到EXP 16 ;以及EXP 27,37和47以串接的方式被级联连接(相继连接、多级连接)到 EXP 17。此外,每个DE 5中的两个EXP 6连接到其自身的DE 5中包括的至少一个SAS装置7。这里,两个EXP 4和两个EXP 6被设置在每个外壳中,以实现冗余。在以下描述中,从冗余的EXP 4和6之中,CE 2中的EXP 00以及DE 5中的EXP 10至13中的每个彼此连接的串接被称作第一串接,而CE 2中的EXP 01以及DE 5中的EXP 14至17中的每个彼此连接的另外的串接被称作第二串接。如上所述,存储设备I具有下述配置:其中,在第一串接中,所有CM 3连接到一个EXP 4 (EXP 00),并且多个EXP 6以级联连接的方式被布置在单独用于EXP 00之下的多条线路的从EXP 00开始的串接中,如图1和5所示。具体地,各自包括至少一个SAS装置7的多个DE 5在多条线路中直接连接到EXP 4,或相继连接到直接相连的DE 5。应注意,多条线路包括从EXP 10开始的串接中连接的线路、从EXP 11开始的串接中连接的另一线路、从EXP12开始的串接中连接的再一线路、以及从EXP 13开始的串接中连接的又一线路。应注意,第一串接中的线路中的EXP 10至13、EXP 20至23、EXP 30至33以及EXP40至43在下文中被统称为EXP 10至43。[1-2]扩展器的描述现在,参照图5描述了作为扩展器4中的通知部40a、监视部40b、通知控制部40c和重置部40d的功能。如果如上所述EXP 4从连接到下侧的EXP 6接收到BC (CHG),其中BC (CHG)是指示与SAS装置7有关的状态变化发生的通知,则EXP 4执行发现处理以获取状态信息。然后,EXP 4通过发现处理从所有DE 5获取状态信息,并且当BC (CHG)被传送到CM 3时,EXP 4用作通知部40a、监视部40b、通知控制部40c和重置部40d。通知部40a将BC(CHG)传送到作为传送目的地的多个CM 3中的至少一个。应注意,所述多个CM 3中的至少一个意味着CM 3的数量等于或大于一、但是小于CE 2中的CM3的数量(图5所示的示例中为八个),并且在下面给出的示例中为一个CM 3。
具体地,通知部40a基于预先设置的连接配置信息来选择BC(CHG)要传送到的传送目的地的CM 3。例如,在图5所示的示例中,EXP 4从CM 00至07之中选择具有最小编号(最低编号)的CM 00作为BC(CHG)要传送到的CM 03。应注意,连接配置信息是指示存储设备I中的CM 3与EXP 4和6之间的连接关系的信息。此外,通知部40a对要传送到除了所选择的CM 3 (例如,CM 00)之外的CM 3的、指示发生状态变化的信息(即BC(CHG)的信息)进行排队以进入诸如存储器43的缓冲器。应注意,如上所述,BC(CHG)传送到的CM 3执行发现处理,并向EXP 4发布SMP功能,并且EXP 4将图信息置于针对EXP 4自身的对SMP功能的响应中,并使图信息返回到CM
3。然后,CM 3基于来自EXP4的图信息,针对EXP 4的下级DE 5执行发现处理。监视部40b监视由通知部40a经由EXP 4进行的从来自BC(CHG)已经传送到的CM3 (例如,CM 00)到EXP 4或DE 5的发现处理而引起的访问,并检测该访问已经结束。具体地,监视部40b监视从BC(CHG)已经传送到的CM 3向EXP 4或DE 5发布的并用于响应于状态变化的发生而控制EXP 4或DE 5的SMP功能、或从EXP 4或DE 5向CM3发布的对SMP功能的响应、或者它们的任意组合。然后,当被监视的SMP功能或响应或它们的任意组合的发布结束时,监视部40b检测由BC(CHG)已经传送到的CM 3进行的访问结束。应注意,在以下示例中,监视部40b监视从BC(CHG)已经传送到的CM 3向EXP 4或DE5发布的SAS帧,即SMP功能。应注意,监视部40b例如将作为至CM 3和/或至EXP 6 (已经向其传送BC(CHG))的SAS端口的Phy 44处于被监视状态,以监视通过Phy44的信息(SAS帧)来进行上面描述的对访问的监视。此外,当EXP 4具有如图5所示的多个下级DE 5 (EXP 6)时,如果从BC (CHG)已经传送到的CM 3到来自多个DE 5中的最后一个DE 5 (EXP 6)的访问结束,则监视部40b检测到来自CM 3的访问结束。例如,当在图5的示例中CM 3按照从EXP 10到EXP 43的顺序发布SMP功能时,如果从CM 3到EXP 43的访问结束,则监视部40b检测到来自CM 3的访问结束。应注意,监视部40b可以基于由EXP 4响应于SMP功能而获取的图信息来判定(检测)多个DE 5 (EXP 6)中的哪一个是最后一个DE 5。具体地,当CM 3基于通过针对EXP4的发现处理而获取的图信息来识别EXP 4的下级DE 5,并确定SMP功能到DE 5的发布顺序,监视部40b可以基于图信息来预测SMP功能最后被CM 3发布到的DE 5。当通过监视部40b检测到访问已经结束时,通知控制部40c将通知部40a的BC(CHG)的传送目的地转换(change over)为来自BC(CHG)尚未传送到的CM 3中的一个或更多个CM 3。应注意,在下面给出的示例中,所述一个或更多个CM 3表示一个CM 3。通知控制部40c进行对BC (CHG)的传送目的地的转换,直到通知部40a向所有CM3进行了对BC(CHG)的传送为止。具体地,如果通过监视部40b检测到来自CM 3 (例如CM 00)的访问结束,则通知控制部40c基于上面描述的连接配置信息,来按照预定顺序(例如,按照从具有最小编号的CM 3开始的顺序)选择作为下一个传送目的地的CM 3(例如CM 01)。然后,通知控制部40c在排队进入所选择的传送目的地的CM 3期间控制通知部40a传送BC(CHG)。应注意,预定顺序不限于上面描述 的顺序,并且例如可以应用从来自CM 00至07中的具有最大编号的CM开始的另一种顺序,或者可以应用基于要连接到CM 3的EXP 4的Phy 44的端口数量的另外的顺序。换言之,如果多个CM 3之间的排序是可以的,则可以使用任何息。然后,通知部40a将基于存储在诸如存储器43的缓冲器中的、指示发生状态变化的信息的BC(CHG)传送到由通知控制部40c选择的下一个传送目的地的CM 3。应注意,EXP 4使指示与BC(CHG)有关的处理结束的响应返回到BC(CHG)的发布源的EXP 6,其将来自预先设置的连接配置信息中的所有CM 3的发现处理(图信息请求)被处理视为时机。以这种方式,利用通知部40a、监视部40b和通知控制部40c,来自多个CM 3的发现处理并不集中于EXP 4上。因此,可以避免由EXP 4的性能瓶颈而导致的处理延迟、CM 3的图信息的获取延迟、超时的发生等。当从DE 5接收到指示与SAS装置7有关的状态变化发生的另一通知(即另一个BC(CHG))时,重置部40d重置通知部40a、监视部40b和通知控制部40c中的与先前的BC(CHG)有关的处理。具体地,当在所有CM 3中的发现处理没有结束的情形下,EXP 4接收到关于DE 5中的一个发生的另外的状态变化的BC(CHG)时,重置部40d停止通知部40a的操作,并使得在排队期间将BC(CHG)丢弃。此外,重置部40d使监视部40b取消Phy 44的监视状态,并停止通知控制部40c的操作。如果由重置部40d进行重置,则类似于上面描述的操作,通知部40a将另外的新生成的BC(CHG)传送到多个CM 3中的一个。[1-3]存储设备的操作示例现在,参照图5和6描述了在根据本实施例的以如上所述的方式配置的存储设备I发布BC(CHG)时的操作示例。应注意,图6是示出了根据本实施例的存储设备I的操作示例的流程图。首先,如果在DE 5 (EXP 10至43)中的一个中发生SAS的变化(与SAS装置7有关的状态变化),则检测到发生状态变化的EXP 6将BC(CHG)发布到上侧的EXP 4或6 (步骤 SI)。例如,如果在图5所示的EXP 30中检测到发生状态变化,则EXP 30将BC(CHG)发布到上侧的EXP 20。接收到BC(CHG)的EXP 20执行发现处理,以更新与连接到其自身的EXP 20和下侧的EXP 30的SAS装置7有关的路由表(状态信息)并将BC(CHG)传送到上侧的EXP 10。类似地,BC(CHG)已经传送到的EXP 10也执行发现处理,以更新与下侧的以及EXP 20、30和40的SAS装置7有关的路由表(状态信息)并将BC(CHG)传送到上侧的EXP00。然后,由从下侧的EXP 6接收到BC(CHG)的EXP 4针对下侧的EXP6开始发现处理,并且从下侧的EXP 6收集诸如状态信息的信息(步骤S2)。例如,如果接收到从图5所示的EXP 30发布的BC(CHG),则EXP 4从连接到下侧的EXP 10至13 (以及SAS装置7)获取状态信息。

然后,通过EXP 4(监视部40b),将CM的编号确定为XX,并且初始值被设置为XX=OO(步骤S3),并且仅向作为具有最小编号的CM 3的CM 00发送BC(CHG)。应注意,针对其余的CM Ol至07的BC(CHG)没有被传送,而是通过通知部40a在EXP 4中排队。此外,通过EXP 4 (监视部40b),将作为至CM 00 (已经向CM 00传送了 BC(CHG))的SAS端口的Phy 44置于被监视状态,并且监视来自CM 00的SAS帧(步骤S4)。然后,从EXP 4接收到BC(CHG)的CM 00开始发现处理。首先,由CM 00向下级EXP 4发布SMP功能,并且接收到作为来自EXP 4的响应的图信息。然后,如果通过CM 00识别出存在EXP 4的下级EXP 10至13,则单独地向EXP 10至13发布SMP功能(步骤S5)。然后,通过CM 00,例如按照EXP 20至23、EXP 30至33和EXP 40至43的顺序发布SMP功能,如果识别了所有EXP 6,则由CM 00进行的发现处理结束(步骤S6)。应注意,当通过监视部40b对从CM 00发布的SMP功能进行监视来判定SMP功能到最低级的EXP 40至43的发布结束时,EXP 10判定由CM 00进行的发现处理结束。然后,通过EXP 4 (通知控制部40c)判定由所有CM 3进行的发现处理是否结束(步骤S7),如果发现处理没有结束(步骤S7处为“否”路径),则根据预定顺序将CM编号的XX设置为下一个CM编号(例如,XX=Ol,其是次小的编号)(步骤S8)。在该实例中,由通知部40a向CMOl传送已经排队的BC(CHG),并且由监视部40b将至CM 01的Phy 44置于被监视状态(步骤S4),然后处理进行到步骤S5。应注意,取消了由监视部40b进行的对至CM00的Phy 44的监视状态。如果针对所有CM 3进行了上面描述的步骤S4至S8处的处理,则在步骤S7处通过通知控制部40c判定由所有CM 3进行的发现处理结束(在步骤S7处为“是”路径)。换言之,所有CM 3已经识 到SAS的变化。应注意,当在步骤S4至S8的处理期间由EXP 4接收不同的新的BC(CHG)时,如上所述,由重置部40d将排队期间的在前的BC(CHG)丢弃,并且针对新的BC(CHG)进行开始于步骤S2的这些步骤的处理。如上所述,利用根据本实施例的EXP 4,当从下级EXP 6接收到BC (CHG)时,按照开始于具有最小编号的CM 3的顺序逐一地向CM 3传送BC(CHG),来替代同时向所有CM 3传送BC (CHG)的操作。更具体地,如果EXP 4从下级EXP 6接收BC (CHG),则EXP 4控制BC(CHG)的发送,使得针对上侧的所有CM 3中的每一个CM开始发现处理。因此,由于可以在CM 3的发现处理之间设置时间差并且不会发生CM 3的发现处理之间的冲突,所以可以降低到EXP 4和6的访问冲突。具体地,由于可以防止CM 3响应于从任意EXP 6向其发送的BC(CHG)而同时开始发现处理,所以可以防止来自大量CM 3的发现处理集中在EXP 4上。因此,可以防止EXP 4被置于拥塞状态,并且可以防止由于性能瓶颈而产生的处理延迟、CM 3对图信息的获取延迟、发生超时等。具体地,可以在图1和5所示的大规模存储系统的配置中实现显著的效果,在图1和5中多个启动器连接到每个EXP4。此外,利用根据本实施例的EXP 4,监视部40b监视从BC(CHG)已经传送到的CM 3到DE 5的访问。然后,当通过监视部40b检测到访问结束时,通知控制部40c将BC(CHG)的传送目的地转换为来自BC(CHG)尚未传送到的CM 3之中的一个或更多个CM 3。由于当通过CM 3的发现处理进行的访问结束时BC(CHG)被传送到下一个CM 3,所以EXP 4可以继续执行(follow up)发现处理的处理状态,以便灵活地控制下一个CM 3的发现处理的开始。因此,可以有效地利用资源。应注意,利用根据本实施例的监视部40b,BC(CHG)已经传送到的CM 3与DE 5之间的SMP功能(控制信息)和响应(响应信息)中的至少一个被监视。因此,当SMP功能或响应的发布结束时,EXP 4必然可以检测到与由CM 3进行的发现处理有关的访问结束。此外,利用根据本实施例的通知控制部40c,由于进行传送目的地的转换,直到通知部40a向所有CM 3进行了对BC(CHG)的传送为止,所有CM 3必然可以获取图信息,而不受发现处理的处理延迟、超时发生等的影响。此外,利用根据本实施例的重置部40d,当从DE 5接收到指示与SAS装置7有关的状态变化发生的不同的通知(即不同的BC(CHG))时,通知部40a、监视部40b和通知控制部40c中的与在前的通知有关的处理被重置。此外,通知部40a在重置之后向多个CM 3中的至少一个传送不同的BC(CHG)。因此,当在与在前的BC(CHG)有关的处理期间发布不同的BC(CHG)时,可以有效地(快速地)执行用于获取与存储设备I的最后的状态有关的信息的、与不同的BC(CHG)有关的发现处理。[2]其他虽然上面详细描述了本发明的优选实施例,但是本发明不限于上面具体描述的实施例,并且可以在不背离本发明的范围的情况下进行各种修改和变型。例如,虽然在上面描述的实施例中通知部40a选择多个CM 3中的一个作为BC (CHG)的传送目的地的CM 3,并且通知控制部40c选择BC (CHG)尚未传送到的CM 3中的一个作为下一个传送目的地的CM 3,但是本发明不限于此。例如,通知部40a和通知控制部40c可以同时选择两个或更多个CM3作为传送目的地,并且通知部40a可以向所述两个或更多个CM 3中的每个传送BC (CHG)。此外,在本实例中,由于与同时向 所有CM 3传送BC (CHG)的替选情况相比,可以降低到EXP 4和6的访问冲突,所以可以获得如上所述的这样的效果。此外,虽然在上面描述的实施例中,当通过监视部40b检测到CM 3与最后一个DE5 (EXP 6)之间的访问结束时,通知控制部40c转换BC(CHG)的传送目的地,但是本发明不限于此。例如,当在由监视部40b进行的监视中CM 3与预定的DE 5(EXP 6)之间的访问结束时,通知控制部40c可以转换传送目的地并且控制通知部40a传送BC (CHG)。具体地,可以在由在前的CM 3进行的发现处理结束之前进行BC(CHG)的传送。在该实例中,在部分时间段内并行地进行由BC(CHG)先前传送到的CM 3进行的发现处理以及由BC(CHG)稍后发送到的CM 3进行的发现处理。此外,在该本实例中,由于与同时向所有CM 3传送BC(CHG)的替选情况相比,可以降低到EXP 4和6的访问冲突,所以可以实现如上所述的这样的效果O此外,虽然在上面描述的实施例中描述了从EXP 6发布BC (CHG)的情形,但是本发明不限于此。例如,当CE 2用作包括SAS装置7的存储装置且EXP 4检测SAS装置7的状态变化发生时,EXP 4执行发现处理以获取与下级装置有关的状态信息。然后,如上所述,通知部40a发布BC(CHG),并且可以进行上面参照图6等描述的处理。应注意,虽然单独地使图1所示的CE 2中的EXP 4和每个DE 5中的EXP 6是冗余的,但是在实施例的前面描述中,对注意到如图5所示的第一串接的EXP 4给予描述。然而,当在任意DE 5中(例如,在包括EXP 30和34的DE 5中)检测到发生状态变化时,实际上从EXP 30和34两者发布BC (CHG)。例如,当从EXP 30和34发布BC(CHG)时,在第一和第二串接两者中,并行地进行上面描述的BC(CHG)的传递和发现处理。在该实例中,EXP 00和EXP 01可以基于连接配置信息来按照彼此不同的顺序选择BC(CHG)的传送目的地的CM 3。这可以防止一个CM 3同时针对第一和第二串接进行发现处理,并且可以抑制CM 3的处理延迟等。应注意,用于实现作为通知部40a、监视部40b、通知控制部40c和重置部40d的功能的程序(处理程序)以被记录在计算机可读记录介质上的形式来设置,所述计算机可读记录介质例如为软盘、CD (CD-ROM、CD-R、CD-RW 等)、DVD (DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW、HD DVD等)、蓝光盘、磁盘、光盘、或磁光盘。因此,计算机从记录介质读出程序,并将程序传送和存储到内部存储装置或外部存储装置,然后使用程序。此外,程序可以记录在存储装置(记录介质)上,所述存储装置例如为磁盘、光盘或磁光盘,使得经由通信线路将程序从存储装置提供到计算机。为了实现作为通知部40a、监视部40b、通知控制部40c和重置部40d的功能,由计算机的微处理器(在本实施例中由处理器42)来执行存储在内部存储装置(在本实施例中为未示出的ROM或存储器43)中的程序。此时,可以由计算机读出并执行记录在记录介质上的程序。应注意,本实施例中的计算机在概念上包括硬件和操作系统,并表示在操作系统的控制下进行操作的硬件。此外,当操作系统是不必要的并且硬件仅由应用程序操作时,硬件本身对应于计算机。硬件包括至少诸如CPU的微处理器以及用于读出记录在记录介质上的计算机程序的装置,并且在本实施例中,EXP 4具有作为计算机的功能。利用所公开的技术,当经由连接设备向多个控制器发布指示发生存储部的状态变化的通知时,可以降低响 应于该通知而产生的到连接设备的处理负荷。
权利要求
1.一种连接设备,所述连接设备置于包括至少一个存储部的存储装置与用于控制所述存储装置的多个控制器之间,所述连接设备包括: 通知部,当从所述存储装置接收到指示发生与所述存储部有关的状态变化的通知时,所述通知部向所述控制器中的至少一个控制器传送所述通知, 监视部,所述监视部对经由所述连接设备从所述控制器中的所述通知已经传送到的至少一个控制器到所述存储装置的访问进行监视,以及 通知控制部,当通过所述监视部检测到所述访问已经结束时,所述通知控制部将所述通知部的所述通知的传送目的地转换为所述控制器中的所述通知尚未传送到的一个或更多个控制器。
2.根据权利要求1所述的连接设备,其中,所述监视部监视控制信息、或对所述控制信息的响应信息、或所述控制信息和所述响应信息的任何组合,其中所述控制信息是从所述通知已经传送到的所述控制器向所述存储装置发布的并用于响应于状态变化的发生而控制所述存储设备,所述响应信息是从所述存储装置向所述控制器发布的,并且所述监视部检测到当所述监视的控制信息或响应信息或控制信息和响应信息的任何组合的发布结束时所述访问已经结束。
3.根据权利要求1所述的连接设备,其中,所述通知控制部进行所述转换,直到所述通知部向所有所述控制器进行了对所述通知的传送为止。
4.根据权利要求3所述的连接设备,还包括: 保存部,所述保存部保存包括在从所述存储装置发布的所述通知中并指示状态变化的发生的信息;并且其中, 所述通知部向作为传送目的地的 所述控制器传送基于保存在所述保存部中的并指示状态变化的发生的信息的通知,并且 当所述通知部向所有所述控制器进行了对所述通知的传送时,所述通知控制部丢弃由所述保存部保存的、指示状态变化的发生的信息。
5.根据权利要求1所述的连接设备,其中,各自包括至少一个存储部的多个存储装置直接连接到所述连接设备、或级联连接到所述存储装置中的与所述连接设备直接连接的一个存储装置;以及 所述监视部检测到当从所述通知已经传送到的所述控制器到所述存储装置中的最后一个存储装置的访问结束时所述访问已经结束。
6.根据权利要求5所述的连接设备,其中,当所述连接设备从所述存储装置接收到指示与所述存储部有关的状态变化发生的通知时,所述连接设备从连接到所述连接设备的存储装置获取所述存储装置的状态信息,并且 当所述通知部从所有所述存储装置获取所述状态信息时,所述通知部向所述控制器中的至少一个传送所述通知。
7.根据权利要求5所述的连接设备,其中,当所述连接设备在对所述存储装置的访问之前从所述通知已经传送到的控制器接收对连接信息的请求时,所述连接设备将连接信息发送到所述控制器,并且 所述通知部基于所发送的连接信息来检测所述最后一个存储装置。
8.根据权利要求1至7中的任一项所述的连接设备,还包括重置部,当所述连接设备从所述存储装置接收到指示与所述存储部有关的状态变化发生的不同的通知时,所述重置部重置所述通知部、所述监视部和所述通知控制部中的与在前通知有关的处理,并且其中, 所述通知部在由所述重置部进行重置之后将所述不同的通知传送到所述控制器中的至少一个。
9.根据权利要求1至7中的任一项所述的连接设备,其中,所述通知部基于预先设置的连接配置信息来选择所述控制器中的所述通知要传送到的至少一个,并且 所述通知控制部基于所述连接配置信息,根据预定顺序选择作为所述传送目的地的控制器中的一个或更多个。
10.根据权利要求1至7中的任一项所述的连接设备,其中,所述通知部将所述通知传送到所述控制器中的一个,并且 当通过所述监视部检测到所述访问已经结束时,所述通知控制部将所述通知部的所述通知的传送目的地转换为所述控制器中的所述通知尚未传送到的不同的控制器。
11.一种存储设备,包括: 包括至少一个存储部的存储装置; 用于控制所述存储装置的多个控制器;以及 置于所述存储装置与所述控制器之间的连接设备,所述连接设备包括:通知部,当从所述存储装置接收到指示与所述存储部有关的状态变化发生的通知时,所述通知部向所述控制器中的至少一个控制器传送所述通知;监视部,所述监视部对经由所述连接设备从所述控制器中的所述通知已经传送到的至少一个控制器到所述存储装置的访问进行监视;以及通知控制部,当通过所述监视部检测到所述访问已经结束时,所述通知控制部将所述通知部的所述通知的传送目的地转换为所述控制器中的所述通知尚未传送到的一个或更多个控制器。
12.一种用于连接设备的处理方法,所述连接设备置于包括至少一个存储部的存储装置与用于控制所述存储装置的多个控制器之间,所述处理方法包括: 当从所述存储装置接收到指示与所述存储部有关的状态变化发生的通知时,向所述控制器中的至少一个控制器传送所述通知, 对经由所述连接设备从所述控制器中的所述通知已经传送到的所述至少一个控制器到所述存储装置的访问进行监视,以及 当通过所述监视检测到所述访问已经结束时,将所述通知的传送目的地转换为所述控制器中的所述通知尚未传送到的一个或更多个控制器。
13.根据权利要求12所述的处理方法,其中,通过监视控制信息、或对所述控制信息的响应信息、或所述控制信息和所述响应信息的任何组合来进行对所述访问的监视,其中所述控制信息是从所述通知已经传送到的所述控制器向所述存储装置发布的并用于响应于状态变化的发生而控制所述存储设备,所述响应信息是从所述存储装置向所述控制器发布的,以及 检测到当所述监视的控制信息或响应信息或所述控制信息和所述响应信息的任何组合的发布结束时所述访问已经结束。
14.根据权利要求12所述的处理方法,其中,转换所述通知的传送目的地,直到向所有所述控制器进行了所述通知的传送为止。
15.根据权利要求12至14中的任一项所述的处理方法,其中,各自包括至少一个存储部的多个存储装置直接连接到所述连接设备、或级联连接到与所述连接设备直接连接的存储装置;以及 在所述监视中检测到当从所述通知已经传送到的所述控制器到所述存储装置中的最后一个存储装置的访问结束 时所述访问已经结束。
全文摘要
本发明公开了一种连接设备、存储设备和用于连接设备的处理方法。该连接设备置于包括至少一个存储部的存储装置与用于控制该存储装置的多个控制器之间,该连接设备包括通知部,当从存储装置接收到指示与存储部有关的状态变化发生的通知时,该通知部向控制器中的至少一个传送通知;监视部,该监视部对经由连接设备从控制器中的通知已经传送到的至少一个控制器到存储装置的访问进行监视;以及通知控制部,当通过监视部检测到访问已经结束时,该通知控制部将通知部的通知的传送目的地转换为控制器中的通知尚未传送到的一个或更多个控制器。
文档编号H04L29/08GK103227808SQ201210429449
公开日2013年7月31日 申请日期2012年10月31日 优先权日2011年12月27日
发明者片野笃, 大高敦弘, 本城信行 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1