组合多个sas扩展器以提供单一sas扩展器功能的制作方法

文档序号:6579607阅读:188来源:国知局
专利名称:组合多个sas扩展器以提供单一sas扩展器功能的制作方法
技术领域
本发明总体涉及串行连接SCSI领域,尤其涉及一种用于将多个SAS扩展器组合成 单一 SAS扩展器的系统、方法和产品。
背景技术
串行连接SCSI (SAS)是表示各种被设计为实现计算机设备之间的数据传递的技 术的术语。SAS协议是至平行小计算机系统接口的串行后继站。在SAS协议中,所有SAS设 备是发起设备、目标设备、或扩展设备。发起设备是开始SAS数据传递的设备,而目标设备 是发起设备传递数据至其的设备。发起设备和目标设备一起被认为是终端设备。
SAS扩展器是帮助在多个发起设备和多个目标设置之间数据传递的设备。SAS协 议使用点对点总线拓扑。因此,如果发起设备需要连接到多个目标设备,则在发起设备和每 个独立的目标设备之间必须直接连接以有助于在发起设备和每个独立目标设备之间的每 个独立数据传递。SAS扩展器管理多个发起设备和多个目标设备之间的连接和数据传递。 SAS扩展器可以包括SAS设备。

发明内容
—种用于组合多个串行连接小型计算机系统接口 (SAS)扩展器的方法,可以包括 但不限于将第一 SAS扩展器的至少一个第一编号的phy与和该第一 SAS扩展器物理分开 的第二 SAS扩展器的至少一个第二编号的phy分组到至少一个公用SAS宽端口 ;分配一相 同SAS地址给所述第一 SAS扩展器和所述第二 SAS扩展器,用于操作所述第一 SAS扩展器 和所述第二SAS扩展器以作为单一的、结合的SAS扩展器来动作和响应;以及直接连接所述 第一 SAS扩展器到所述第二 SAS扩展器,用于扩展器间通信 —种包括多个物理分开的SAS扩展器的单一的、结合的SAS扩展器,可以包括但不限于第一SAS扩展器,其包括至少一第一编号的phy ;第二SAS扩展器,其包括至少一第二 编号的phy,所述第二 SAS扩展器与所述第一 SAS扩展器物理分开,所述第一 SAS扩展器和 所述第二 SAS扩展器共享相同的SAS地址,用于操作所述第一 SAS扩展器和所述第二 SAS 扩展器以作为单一的、结合的SAS扩展器来动作和响应;以及至少一个公用SAS宽端口,用 于组合至少所述第一编号的phy和所述第二编号的phy,其中所述第一 SAS扩展器直接连接 到所述第二 SAS扩展器,用于扩展器间通信。 容易理解上述的一般描述和以下的具体描述都仅仅是示范性和解释性的,并不是 对本发明公开内容的强制限制。附图被结合并组成本说明书的一部分,解释了公开的主题。 上述描述和附图一起用来解释本发明所公开的原理。


本发明公开的多个优点可以参照下的附图更容易被本领域技术人员所理解 图1是示出SAS拓扑结构说明单一的、结合的SAS扩展器的方框图; 图2A至图2E是示出单一的、结合的SAS扩展器的多个配置的方框图; 图3是示出单一的、结合的SAS扩展器的刀片中心交换机结构的方框图; 图4示出单一的、结合的SAS扩展器的扩展器间链接的方框图; 图5示出单一的、结合的SAS扩展器内的故障内部链接的方框图; 图6示出用于将多个扩展器组合以作为单一的、结合的SAS扩展器操作的方法的
流程图; 图7示出在单一的、结合的SAS扩展器内发生链接故障时提供路径故障切换方法 的流程图; 图8示出了使用单一的、结合的SAS扩展器选择用于数据连接的SAS宽端口的线 路的框图; 图9示出了使用单一的、结合的SAS扩展器指定用于数据连接的SAS宽端口的线 路的方法的流程图; 图IO示出了配置为执行成对的减法路由的级联SAS拓扑的框图;
图11A至图11D是示出了成对减法端口的经销商特有函数、命令和描述符的表,图 11A表示SMP报告修改的phy路由属性列表请求,图11B表示SMP报告修改的phy路由属性 列表响应,图IIC表示修改的路由描述符;以及 图12是示出了在级联SAS拓扑中执行成对减法路由的方法的流程图。 具体实施方案 下面具体参考公开的主题内容,其在附图中示出。 示出了根据本公开的示例性实施例的特征在于单一的、结合的SAS扩展器的SAS 拓扑。拓扑100可以包括通过窄端口 115a... d连接到扩展器120的发起者110。扩展器 120可以通过窄端口 125a. ..d连接到单一的、结合的SAS扩展器200。单一的、结合的SAS 扩展器200可以包括多个物理分开的SAS扩展器202a. . . d。 SAS扩展器202a. . . d可以配 置为共享相同的SAS地址来组合窄端口 125a. . . d以作为单一公用宽端口 150。如在SAS拓 扑100中所示的,窄端口 125a. . . d可以组合以形成X4-宽端口 150。 SAS扩展器202a. . . d可以通过窄端口 135a. ..d连接到扩展器130。扩展器130可以通过窄端口 145a. . . d连接 到目标140。 SAS规范要求所有连接是点对点的。然而,SAS拓扑100是符合SAS规范的, 因为宽端口 150是真正的SAS宽端口。 参考图2A-2E,结合SAS扩展器200可以包括多个物理分开的SAS扩展器 202a. . . h。 SAS扩展器202a. . . h可以通过链路255a. . . h_294a. . . h连接到输出端口 205-244。根据SAS 202a. . . h的数量、SAS扩展器202a. . . h的端口的数量、输出端口 205-244的数量、输出端口 205-244的宽度以及在链路255a. . . h_294a. . . h中所使用的SAS 扩展器端口的数量,广泛变化的单一的、结合的SAS扩展器200的构造通过本公开被考虑。
输出端口 205-244可以是宽端口。输出端口 205-244可以配置为共享相同的SAS 地址。在SAS规范下,这就将输出端口 205-244定义为相同扩展器的单一宽端口 。每个输出 端口 205-244可以连接到每个SAS扩展器202a. . . h(未示出)。输出端口 205-244的宽度 可以取决于连接每个输出端口 205-244的链路255a. . . h_294a. . . h中使用多少SAS扩展器 端口。每个SAS扩展器202a. ..h可以具有多个连接到每个输出端口 205-244的SAS扩展 器端口 。例如,如果单一的、结合的SAS扩展器200包括两个通过链路255a. . . h_294a. . . h 使用 一 个SAS端口连接到每个输出端口 205-244的SAS扩展器202a_h,则输出端口 205-244将是X2宽端口。此外,如果单一的、结合的SAS扩展器200包括两个通过链路 255a. . .h-294a. . . h使用两个SAS端口连接到每个输出端口 205-244的SAS扩展器202a-h, 则输出端口 205-244将是X4宽端口。这些结构允许以全端口带宽来同时访问单一的、结 合的SAS扩展器200的任何端口和任何其他端口 。 提供了单一的、结合的SAS扩展器300的刀片中心交互机结构301。参考图3,多个 CPU刀片302可以连接到输入端口 305-320。输入端口 305-320可以是宽端口 。输入端口 305-320可以配置为共享相同的SAS地址。在SAS规范下,这就将输入端口 305-320定义为 相同扩展器的单一宽端口 。每个输入端口 305-320可以通过链路355a. . . b_375a. . . b (未 示出)连接到每个SAS扩展器202a... b。如刀片中心交换机结构301中所示,输入端口 305-320是通过链路355a. . . b_375a. . . b使用一个SAS扩展器端口连接到两个SAS扩展 器202&..丄的X2宽端口,但是其他结构是完全被这些公开所考虑的。每个SAS扩展器 202a. . .b可以通过链路255a. . . b_26a. . .b(未示出)连接到每个输出端口 205-218。如在 刀片中心交换机结构301中所示,输出端口 205-218是使用两个SAS扩展器端口通过链路 255a. . . b-268a. . . b连接到两个SAS扩展器202a. . . b的X 4宽端口 ,但是其他结构是完全 被当前公开所考虑的。输出端口 205-218可以连接到多数据存储装置303。
SAS扩展器202a. . . h可以被配置为共享相同的SAS地址。在SAS规范下,这就将 SAS扩展器202a. . . h定义为单一扩展器。固件可以在每个SAS扩展器202a. . . h上运行,因 此SAS扩展器202a. . . h作为单一扩展器动作和响应。如图4所示,每个SAS扩展器202a. . . h 可以通过扩展器间链路(IEL) 430-435连接到202a. h中的每一个。IEL 430-435可以允 许SAS扩展器202a. ..h通信并互相配合以作为单一扩展器动作和响应。IEL 430-435可 以通过SAS管理协议(SMP)或其他通信方法,例如内部集成电路总线协议(12C)、增强并行 端口 (EPP)、以太网、共享存储器等,来进行通信。IEL 430-435可以允许IEL域420从主交 换域410中分区。在IEL430-435中,广播可以被无效以消除任何SAS规范不适应的循环问 题。IEL430-435中被使用的phy可以从主交互域中完全隐藏。在SAS扩展器202a. . . h的主交换域中所使用的phy的编号可以被重新映射到单一的、逻辑编号。IEL430-435可以允许SAS扩展器的任何组合的故障,而保持任何操作的SAS扩展器202a. . . h之间的连接。此外,所有输入端口 305-320和输出端口 205-244可以在小于每个SAS扩展器202a. . . h故障的情况下,以减少的带宽维持连接。SMP目标处理可以由单一的、结合的SAS扩展器200的单一主SAS扩展器执行。对单一的、结合的SAS扩展器200连接请求可以通过IEL 430-435路由至该单一主SAS扩展器。SAS扩展器202a. . . h可以共享SMP目标处理。
大体上参考图6,示出了组合多个SAS扩展器的方法。例如,该方法可以实现如下所述(以及在图1, 2A至2E, 3和4中所示)的连接和组合SAS扩展器的技术。该方法600可以包括将第一 SAS扩展器的至少一个第一编号的phy和与该第一 SAS扩展器物理分开的第二 SAS扩展器的至少一个第二编号的phy分组成至少一个共用SAS宽端口的步骤602。例如,分组成至少一个共用SAS宽端口 (205-244)可以包括分配相同的SAS地址给所述至少一个共用宽端口 (205-244)。 所述方法600可以进一步包括分配相同SAS地址给第一 SAS扩展器和第二 SAS扩展器的步骤604。分配相同SAS地址给第一 SAS扩展器和第二 SAS扩展器可以允许第一 SAS扩展器和第二 SAS扩展器作为单一的、结合的SAS扩展器200动作和响应。该分配可以通过第一 SAS扩展器和第二 SAS扩展器上执行的固件来执行。此外,第一 SAS扩展器和第二SAS扩展器的phy编号可以被重新映射以显示为单一的、结合的SAS扩展器的单一的、逻辑排列的Phy编号。例如,第一 SAS扩展器的第一编号的phy可以重新映射在单一的、逻辑排列的Phy编号的第一范围内,以及第二 SAS扩展器的第二编号的phy可以重新映射在单一的、逻辑排列的编号的第二范围内。 所述方法600还可以包括将第一 SAS扩展器直接连接到第二 SAS扩展器用于扩展器间通信的步骤606。扩展器间通信可以使用SMP通信或其他通信方法,例如,内部集成电路总线协议(12C)、增强并行端口 (EPP)、以太网、共享存储器等。在其他实施例中,用于扩展器间通信(430-435)的第一SAS扩展器和第二SAS扩展器之间的连接可以通过第一SAS扩展器的phy和第二 SAS扩展器的phy来执行。此外,用于扩展器间通信的第一 SAS扩展器的phy和用于扩展器间通信的第二 SAS扩展器的phy可以从单一的、结合的SAS扩展器的主交换域(410)中隐藏。第一SAS扩展器的至少两个phy和第二SAS扩展器的至少两个phy可以用于第一 SAS扩展器和第二 SAS扩展器之间的扩展器间通信。此外,如果单一的、结合的SAS扩展器中的至少一个SAS扩展器保持操作(例如,在SAS扩展器故障期间),则所有共用SAS宽端口保持操作,所有共用SAS宽端口以减少的带宽操作。
所述单一的、结合的SAS扩展器500可以配置为在单一的、结合的SAS扩展器内发生内部链路故障时提供路径切换。参考图5以及如上所述,输入端口 502-508可以通过链路552a. . . d-558a. . . d连接到每个SAS扩展器202a. . . d。此外,输入端口 502-508可以是SAS宽端口 。输出端口 510-516可以通过链路560a. . . d_566a. . . d连接到每个SAS扩展器202a. ..d。此夕卜,输出端口 510-516可以是SAS宽端口。每个SAS扩展器202a. . . d可以通过用于扩展器间通信的SAS扩展器端口彼此连接。如在单一的、结合的SAS扩展器500中所示,SAS扩展器202c和输出端口 516之间的链路566b可能故障。例如,物理缺陷可能导致链路566b故障。作为另一示例,链路566b可以由于逻辑问题而故障。
想要通过故障链路566b发送的数据传输可以被重路由至连接到输出端口 516的另一 SAS扩展器。该数据传输可以通过用于在SAS扩展器之间的扩展器间通信的phy被重路由至另一 SAS扩展器。如在单一的、结合的SAS扩展器500中所示的,SAS扩展器202c和输出端口 516之间通过故障链路566b的数据传输可以通过扩展器间通信链路434重路由通过SAS扩展器202d。从SAS扩展器202d,数据传输可以通过链路566c被重路由到输出端口 516。因此,输出端口 516可以如原始期望的一样接收该数据传输,但是可能在不同的phy上接收该数据传输。此外,如果SAS扩展器202d已经具有至输出端口 516的已启用链路,则SAS扩展器202c可以使用调定进行中的判优(AIP)响应于该SAS发起者,如同通过SMP提供的。SAS发起者可以在接收到来自SAS扩展器202c的AIP或开启拒绝(重试)SMP响应之后一段时间尝试数据传输。 在本公开的另一方面,在SAS扩展器上执行的固件可以重新编写SAS扩展器路由表以重路由通过扩展器间链接(430-435)而不通过故障链路的连接。此外,连接到单一的、结合的SAS扩展器的SAS发起者可以通过接收CHANGE图元来知道链路566b已经故障。例如,SMP提供CHAGE图元,然后SAS发起者执行SAS发现,SAS发起者然后可以执行SAS发现,例如,如同通过SMP提供的。此外,SAS发起者可以注意到与目标保持活跃连接的数量,以及可以仅启动和与目标保持活跃连接的数量相等数量的同时数据传输。
大体上参考图7,示出了用于组合多个SAS扩展器以作为单一的、结合的SAS扩展器时提供路径切换的方法。例如,该方法可以实现图5中所示的技术。在当前发明的当前实施例中,方法700包括检测第一 SAS扩展器和装置702之间的故障链路的步骤。例如,检测到的故障链路可能由于物理问题而故障。检测到的故障链路可能由于逻辑问题而故障。
方法700可以进一步包括步骤将通过故障链路连接到装置的第一 SAS扩展器的数据传输重路由至通过起作用的链路连接到装置的第二 SAS扩展器704。例如,单一的、结合的SAS扩展器的故障链路可能由于故障链路中的物理问题而故障。在另一示例中,故障链路可能由于逻辑问题而故障。第一 SAS扩展器可以通过用于扩展器间通信的第一 SAS扩展器的phy和第二 SAS扩展器的phy连接到第二 SAS扩展器。在其他实施例中,将通过故障链路连接到装置的第一 SAS扩展器的数据传输重路由至通过起作用的链路连接到装置的第二 SAS扩展器可以通过用于扩展器间通信的第一扩展器的phy和用于扩展器间通信的第二 SAS扩展器的phy发生。在示例性实施例中,重路由数据传输可以包括重新编写第一 SAS扩展器的路由表,以将来自故障内部链路的数据传输通过用于扩展器间通信的第一SAS扩展器的phy和用于扩展器间通信的第二 SAS扩展器的phy重路由至之间的链路。例如,重新编写第一 SAS扩展器的路由表可以通过在第一 SAS扩展器上执行的固件来执行。
将来自单一的、结合的SAS扩展器中的故障链路的数据传输通过扩展器间通信的链路重路由至第二SAS扩展器的步骤可以不通知连接到该单一的、结合的SAS扩展器的SAS发起者和SAS目标发生这样的重路由。然而,如果第二SAS扩展器当前具有至装置的已启用链路并且数据从故障链路重路由至第二 SAS扩展器,则通过故障链路连接到装置的第一SAS扩展器可以用AIP响应来响应。在这样的情况下,接收到该AIP响应的SAS发起者可以稍后重发数据传输。连接到单一的、结合的SAS扩展器的SAS发起者可以通过接收到CHANGE图元而被告知故障。 一旦接收到CHANGE图元,SAS发起者可以执行SAS发现。例如,SMP提供SAS发现,其包括SAS发现和SAS发现响应。 提供了 SAS发起者指定数据连接结构800。参考图8, SAS发起者810可以通过SAS宽端口 880连接到SAS扩展器820。 SAS扩展器830的至少一个phy和SAS扩展器840的至少一个phy可以组合在共用SAS宽端口 890中。为了使SAS扩展器830和SAS扩展器840作为单一的、结合的SAS扩展器操作,SAS扩展器830可以与SAS扩展器840共享相同的SAS地址。SAS扩展器820可以通过共用SAS宽端口 890连接到SAS扩展器830和SAS扩展器840。扩展器830也可以由通过SAS扩展器830的phy和SAS扩展器840的phy的扩展器间通信直接连接到SAS扩展器840。 SAS扩展器830和SAS扩展器840可以不作为单一的、结合的SAS扩展器操作,但是可以为级联结构。多个SAS目标850-875可以通过SAS窄端口连接到SAS扩展器830和SAS扩展器840。 SAS目标850-875的数量可以大于SAS扩展器830或SAS扩展器840上的phy的数量。例如,SAS目标850-875可以是硬盘阵列,例如简单磁盘捆绑(JB0D)SAS阵列。 SAS发起者810可以指定将被用来创建从SAS发起者810至SAS目标850-875之一的数据连接的宽端口 880、890的线路。指定宽端口 880、890的线路可以用来公平控制,其中宽端口 880、890的一些线路可以用来访问SAS目标850-875,以及宽端口 880、890的其他线路可以用来经过至SAS结构的其他部分。SAS发起者810可以进一步确定连接请求的OPEN帧内的线路。这样的OPEN帧可以通过SMP连接请求来提供。SAS发起者810可以通过执行标准SAS发现处理而知道用于从SAS发起者810至SAS目标850-875之一的数据连接的最优化线路。SAS扩展器830和SAS扩展器840,连同SAS目标850-875可以配置为使用用于从SAS发起者810至SAS目标850-875之一的数据连接的最优化线路,通过SMP发现响应来进行响应。在发起者810和SAS目标850-875之一之间的数据连接中的每个SAS扩展器可以检测来自SAS发起者810的对允许的用于数据连接的线路的连接请求的OPEN帧,并仅在这些指定的线路上进行数据连接。 大体上参考图9,示出了根据本公开的示例性实施例的用于指定用于在SAS域中的在SAS发起者和SAS目标之间的数据连接的SAS宽端口的允许线路的方法。在本公开的当前实施例中,方法900包括发现用于数据连接的至少一个SAS宽端口的最优线路的步骤902。例如,SAS发起者810可以通过执行标准SAS发现处理来发现用于数据连接的最优线路。此外,SMP发现响应可以被用来将用于数据连接的最优线路传递给SAS发起者810。
方法900还可以包括指定在SAS域的每个级别的SAS宽端口内的用于数据连接的允许的线路的步骤904。例如,用于数据连接的允许线路可以通过SAS发起者连接请求来被指定。用于数据连接的允许线路可以在SAS发起者连接请求的OPEN帧中被进一步指定。
方法900还可以包括检测为数据连接指定的允许线路的步骤906。例如,当SAS扩展器(820-840)接收到SAS发起者连接请求的OPEN帧时,SAS扩展器可以检测用于指定的用于数据连接的允许线路的OPEN帧。 方法900还可以包括创建指定的允许线路的数据连接的步骤908。例如,SAS扩展器可以在指定的允许线路上创建数据连接。此外,SAS扩展器可以在检测对指定的允许线路的SAS发起者连接请求的OPEN帧之后,创建数据连接。 提供了使用成对减法路由的SAS级联拓扑。为了使用成对减法路由,SAS拓扑1000中的SAS装置可以检测通过如SMP提供的SMP报告制造商信息响应,以确定是否支持经销商特有SMP函数。如果支持,则SAS发起者1002-1004可以使用经销商特有SMP函数来请求SAS扩展器1010-1024的phy的列表,其具有用于使用成对减法路由的修改的路由属性。例如,SAS发起者1002-1004可发出SMP报告修改phy路由属性列表(REPORTMODIFIED PHY ROUTING ATTRIBUTELIST) i青求1100给SAS拓扑结构1000中SAS扩展器1010-1024中每一个。基于接收的SMPSMP报告修改phy路由属性列表(REPORT MODIFIEDTOY ROUTINGATTRIBUTE LIST)请求1100, SAS扩展器1010-1024中每一个可通过SMP报告修改phy路由属性列表(REPORT MODIFIED PHY ROUTING ATTRIBUTE LIST)请求1120用带有已修改路由属性的phy列表进行响应。在操作中,SMP报告修改phy路由属性列表(REPORTMODIFIED PHY ROUTING ATTRIBUTE LIST)请求1120可包括数个已修改路由描述符1140。已修改路由描述符1140中的每一个可指定SAS扩展器1010-1024的单个phy和提供给单个phy的已修改路由属性1160。例如,已修改路由属性1160可识别phy为自配置(SC)、表发起者仅输入(TIOI)或表发起者仅输出(TIOO)中的一个。TIOI可识别仅带有所述phy路由表中列出的SAS发起者的输入phy。 TIOO可识别仅带有所述phy路由表中列出的SAS发起者的输出phy。 如果SMP报告修改的phy路由属性列表响应1120识别用于该phy的已修改路由属性1160,则SAS发起者1002-1004可以忽略用于由SMP发现响应提供的phy的路由属性。在本公开的实施例中,经销商特有SMP函数可以仅报告修改的路由属性TIOI、 TIOO和SC。SAS扩展器1010-1024可以具有多个端口,一些端口具有标准路由属性(D、S、T)以及一些端口具有修改的路由属性(TIOI、 TIOO、 SC)。 SAS扩展器1010-1024可以被配置为具有被定义为输入(IN)和输出(OUT)对的主减法端口 。减法端口的输入端口和输出端口都可以要求用于该端口的路由表中的SAS发起者1002-1004的地址。此外,SAS扩展器可以添加用于直接连接装置的次级减法端口。例如,如果OPEN的DEST如通过SMP所提供的不是直接连接装置(例如连接到具有D路由属性的端口的装置),或者如果OPEN的DEST不在用于该输入端口的路由列表中,则在输入端口接收到的OPEN可以被发送出用于该减法端口的输出端口 。例如,如果OPEN的DEST不是直接连接装置(例如连接到具有D路由属性的端口的装置)或者如果OPEN的DEST不是在用于该输出端口的列表中,则该输出端口上接收到的OPEN可以发送出用于该减法端口的输入端口。修改的路由属性TIOI可以表示减法端口的输入端口。修改的路由属性TIOO可以表示减法端口的输出端口 。 OPEN可以总是默认为主减法端口 。 SAS发起者1002-1004可以定位在级联SAS拓扑1000的顶部或底部。SAS发起者1002-1004可以仅将他们自己的SAS地址编写入级联SAS拓扑1000的SAS扩展器1010-1024的TIOI端口 1060和TIOO端口 1050的路由表。此夕卜,根据级联SAS拓扑1000中的SAS发起者1002-1004的位置,SAS发起者1002-1004可以仅将他们自己的SAS地址编写入级联SAS拓扑1000的SAS扩展器1010-1024的TIOI端口 1060的路由表或TIOO端口 1050的路由表。SAS扩展器1010-1024可以执行防止SAS发起者1002-1004在将地址编写入SAS扩展器路由表(例如位置无关的路由表编写)时彼此伤害的固件。
SAS目标1070可以发布0PEN给SAS扩展器1010-1024之一。SAS扩展器1010-1024之一可以在用于SAS扩展器1010-1024之一的路由表中定位OPEN的DEST地址。OPEN可以被发送给由DEST地址指定的SAS发起者。在另一实施例中,SAS发起者1002-1004之一可以发布OPEN至SAS扩展器1002-1004之一。SAS扩展器1002-1004之一可以首先在任何直接连接的装置中搜索OPEN的DEST地址。如果找到,则OPEN被发送给适当的直接连接的装置。如果OPEN的DEST地址没有在任何直接连接的装置中找到,则SAS扩展器1010-1024之一然后可以在SAS扩展器路由表中搜索OPEN的DEST地址。如果找到,则OPEN被路由至适当SAS发起者。如果OPEN的DEST地址不能在SAS扩展器路由表中找到,则SAS扩展器1010-1024之一然后可以发送OPEN至其成对的减法端口 。 此外,为了在SAS级联拓扑1000中执行SAS分区,仅拓扑中的末端扩展器可能需要检测。末端扩展器可以将用于直接连接的装置的phy的DEST和OPEN命令中的源区组进行比较。该比较作为减法进行直到到达该区的末端装置扩展器。 大体上参考图12,示出了在SAS级联拓扑中执行成对减法路由的方法。方法1200包括将输入端口分配给SAS扩展器装置的步骤1210。该方法1200可以进一步包括将输出端口分配给所述SAS扩展器装置的步骤1220。在示例性实施例中,方法1200可以进一步包括将所述输出端口和输入端口定义为彼此成对以作为成对的减法端口来操作的步骤1230。此外,方法1200还可以包括将第二输入端口和第二输出端口添加到SAS扩展器装置的步骤。所述第二输入端和第二输出端口可以彼此成对作为次级减法端口。
在示例性实施例中,方法1200可以进一步包括以下步骤如果OPEN命令的DEST不是SAS扩展器装置的直接连接装置,并且DEST不在SAS扩展器装置的路由表中,则一旦接收到进入输入端口的OPEN命令,就将OPEN命令发送出输出端口 1250。方法1200可以进一步包括以下步骤如果OPEN命令的DEST不是SAS扩展器装置的直接连接装置,并且DEST不在SAS扩展器装置的路由表中,则一旦接收到进入输出端口的OPEN命令,就将OPEN命令发送出输入端口 1260。此外,如果OPEN命令的DEST不是SAS扩展器装置的直接连接装置,并且DEST不在SAS扩展器装置的路由表中,则一旦接收到进入输入端口的OPEN命令,就将OPEN命令发送出输出端口 1250。方法1200可以进一步包括以下步骤如果OPEN命令的DEST不是SAS扩展器装置的直接连接装置,并且DEST不是在SAS扩展器装置的路由表中,则一旦接收到进入第二输出端口的OPEN命令,就将OPEN命令发送出第二输入端口 。方法1200可以进一步包括以下步骤如果OPEN命令的DEST不是SAS扩展器装置的直接连接装置,并且DEST不是在SAS扩展器装置的路由表中,则一旦接收到进入第二输入端口的OPEN命令,就将OPEN命令发送出第二输出端口 。进一步地,次级减法端口可用于与SAS扩展器装置的直接连接装置的通信进行操作。此外,OPEN命令可以默认为主减法端口。
在示例性实施例中,方法1200可以进一步包括通过经销商特有SMP函数的修改的路由属性指定SAS扩展器的减法端口的步骤。进一步,SAS发起者可以忽略减法端口的SMP发现响应属性,并可以在存在用于减法端口的修改的路由属性的情况下,使用经销商特有SMP的修改路由属性。 在示例性实施例中,方法1200可以进一步包括仅编写SAS扩展器的路由表中的SAS发起者地址的步骤1240。例如,仅编写SAS扩展器的路由表中的SAS发起者地址的步骤1240可以由SAS扩展器执行。此外,由SAS扩展器编写的SAS扩展器的路由表可以是用于自配置指定端口的路由表。仅编写SAS扩展器的路由表中的SAS发起者地址的步骤1240可以通过SAS路由拓扑中的每个SAS发起者执行,每个SAS发起者仅编写在该SAS扩展器的路由表中的SAS发起者的SAS地址。此外,每个SAS发起者可以仅编写一种类型的SAS扩展器的修改路由属性端口的路由表中的SAS发起者的SAS地址。该种类型的SAS扩展器的修改路由属性端口可以通过SAS路由拓扑中的SAS发起者的位置指定。SAS发起者可以定位在SAS路由拓扑的顶部或底部。 在本公开中,所公开的方法可以实现为装置可读的指令集或软件。这样的软件可
以是计算机程序产品,其采用计算机可读存储介质,包括用来为计算机编程以执行本发明
所公开的功能和过程的所存储的计算机代码。计算机可读介质包括但不限于如何类型的传
统软盘、光盘、CD-ROM、磁盘、硬盘驱动器、磁光盘、ROM、 RAM、 EPROM、 EEPROM、磁或光卡、或任
何用于存储电子指令的适当介质。此外,应该理解,所公开的方法中的步骤的特定顺序或层
次是示例性方法的示例。基于设计优选,应该理解在该方法中的步骤的特定顺序或层次可
以被重新布置,而仍保持在所公开的主题内容的范围内。所附的方法权利要求以示例顺序
呈现了各种步骤的要素,并且不必然意味着限制于所呈现的特定顺序或层次。 确信本公开和其伴随的优点将通过上述描述而能够被理解,并且在不背离本公开
的主题内容或不牺牲其所有材料优点的情况下,显然可以对部件的形式、结构和布置进行
各种修改。所描述的形式仅是示例性的,并且下面的权利要求旨在包括和包含这些改变。
权利要求
一种用于组合多个串行连接小型计算机系统接口(SAS)扩展器的方法,包括将一第一SAS扩展器的至少一个第一编号的phy与和所述第一SAS扩展器物理分开的一第二SAS扩展器的至少一个第二编号的phy分组到至少一个公用SAS宽端口;分配一相同SAS地址给所述第一SAS扩展器和所述第二SAS扩展器;及直接连接所述第一SAS扩展器到所述第二SAS扩展器,用于扩展器间通信。
2. 根据权利要求1所述的方法,其中,所述将一第一 SAS扩展器的至少一个第一编号的 phy与和所述第一 SAS扩展器物理分开的一第二 SAS扩展器的至少一个第二编号的phy分 组到至少一个公用SAS宽端口还包括分配第二个相同SAS地址给所述至少一个公用SAS 宽端口。
3. 根据权利要求1所述的方法,其中,所述分配一相同SAS地址给所述第一 SAS扩展器 和所述第二 SAS扩展器还包括通过在所述第一 SAS扩展器和所述第二 SAS扩展器上执行 的固件分配一相同SAS地址给所述第一 SAS扩展器和所述第二 SAS扩展器。
4. 根据权利要求1所述的方法,其中,所述分配一相同SAS地址给所述第一 SAS扩展 器和所述第二 SAS扩展器还包括重新映射所述第一 SAS扩展器和所述第二 SAS扩展器的 phy编号以显示为一单一的、结合的SAS扩展器的单一的、逻辑排列的phy编号。
5. 根据权利要求4所述的方法,其中,所述重新映射所述第一 SAS扩展器和所述第二 SAS扩展器的phy编号以显示为所述单一的、结合的SAS扩展器的单一的、逻辑排列的phy 编号还包括重新映射所述第一 SAS扩展器和所述第二 SAS扩展器的phy编号以显示为所述单一 的、结合的SAS扩展器的单一的、逻辑排列的phy编号,其中所述第一 SAS扩展器的所述第一编号的phy被重新映射在所述单一的、逻辑排列 的Phy编号的第一范围内,所述第二 SAS扩展器的所述第二编号的phy被重新映射在所述 单一的、逻辑排列的phy编号的第二范围内。
6. 根据权利要求1所述的方法,其中,所述扩展器间通信利用SAS管理协议。
7. 根据权利要求1所述的方法,其中,所述直接连接所述第一 SAS扩展器至所述第二 SAS扩展器用于扩展器间通信通过所述第一 SAS扩展器的所述phy和所述第二 SAS扩展器 的所述phy执行。
8. 根据权利要求7所述的方法,其中,所述直接连接所述第一 SAS扩展器至所述第二 SAS扩展器用于扩展器间通信通过所述第一 SAS扩展器的所述phy和所述第二 SAS扩展器 的所述phy执行还包括通过所述第一 SAS扩展器的所述phy和所述第二 SAS扩展器的所述phy直接连接所述 第一 SAS扩展器至所述第二 SAS扩展器以执行扩展器间通信,其中,用于扩展器间通信的所述第一 SAS扩展器的所述phy和用于扩展器间通信的所 述第二 SAS扩展器的所述phy在主交换域中隐藏。
9. 根据权利要求7所述的方法,其中,所述直接连接所述第一 SAS扩展器至所述第二 SAS扩展器用于扩展器间通信通过所述第一 SAS扩展器的所述phy和所述第二 SAS扩展器 的所述phy执行还包括通过所述第一 SAS扩展器的所述phy和所述第二 SAS扩展器的所述phy直接连接所述 第一 SAS扩展器至所述第二 SAS扩展器以执行扩展器间通信,其中所述第一 SAS扩展器的至少两个phy和所述第二 SAS扩展器的至少两个phy用于 所述第一 SAS扩展器与所述第二 SAS扩展器之间的扩展器间通信。
10. 根据权利要求1所述的方法,其中,所述将一第一 SAS扩展器的至少一个第一编号 的Phy与和所述第一 SAS扩展器物理分开的一第二 SAS扩展器的至少一个第二编号的phy 分组到至少一个公用SAS宽端口允许SAS扩展器故障期间持续的连接,只要至少一个SAS 扩展器仍在运行,所有公用SAS宽端口则在一减少的带宽运行。
11. 一种包括多个物理分开的SAS扩展器的单一、结合串行连接小型计算机系统接口 (SAS)扩展器,包括一第一 SAS扩展器,其包括至少一第一编号的phy ;一第二 SAS扩展器,其包括至少一第二编号的phy,所述第二 SAS扩展器与所述第一 SAS扩展器物理分开,所述第一 SAS扩展器和所述第二 SAS扩展器共享一相同SAS地址,以 作为单一的、结合的SAS扩展器操作所述第一 SAS扩展器和所述第二 SAS扩展器;及至少一个公用SAS宽端口,用于组合至少所述第一编号的phy和所述第二编号的phy, 其中所述第一 SAS扩展器直接连接到所述第二 SAS扩展器用以扩展器间通信。
12. 根据权利要求11所述的单一的、结合的SAS扩展器,其中,所述至少一个公用SAS 宽端口还进一步包括一第二相同SAS地址,其由所有公用SAS宽端口共享。
13. 根据权利要求11所述的单一的、结合的SAS扩展器,其中,所述第一 SAS扩展器和 所述第二 SAS扩展器各运行固件以作为单一的、结合的SAS扩展器操作。
14. 根据权利要求11所述的单一的、结合的SAS扩展器,其中,所述第一 SAS扩展器和 所述第二 SAS扩展器的所述phy编号被重新映射以显示为所述单一的、结合的SAS扩展器 的单一的、逻辑排列的Phy编号。
15. 根据权利要求14所述的单一的、结合的SAS扩展器,其中,所述第一 SAS扩展器和 所述第二 SAS扩展器的所述phy编号被重新映射以显示为所述单一的、结合的SAS扩展器 的单一的、逻辑排列的Phy编号;其中所述第一 SAS扩展器的所述第一编号的phy被重新映射在所述单一的、逻辑排列 的Phy编号的第一范围内,所述第二 SAS扩展器的所述第二编号的phy被重新映射在所述 单一的、逻辑排列的phy编号的第二范围内。
16. 根据权利要求11所述的单一的、结合的SAS扩展器,其中,所述扩展器间通信利用 SAS管理协议。
17. 根据权利要求11所述的单一的、结合的SAS扩展器,其中,所述第一 SAS扩展器通 过用于扩展器间通信的所述第一 SAS扩展器的所述phy和所述第二 SAS扩展器的所述phy 直接连接到所述第二 SAS扩展器。
18. 根据权利要求17所述的单一的、结合的SAS扩展器,其中,用于扩展器间通信的所 述第一 SAS扩展器的所述phy和所述第二 SAS扩展器的所述phy从主交换域隐藏。
19. 根据权利要求17所述的单一的、结合的SAS扩展器,其中,所述第一 SAS扩展器通 过用于扩展器间通信的所述第一 SAS扩展器的至少两个phy和所述第二 SAS扩展器的至少 两个Phy直接连接到所述第二 SAS扩展器。
20. 根据权利要求11所述的单一的、结合的SAS扩展器,其中,用于组合至少所述第一 编号的Phy与所述第二编号的phy的所述至少一个公用SAS宽端口允许SAS扩展器故障期间持续的连接,只要至少一个SAS扩展器仍在运行,所有公用SAS宽端口则在一减少的带宽 运行。
全文摘要
组合多个SAS扩展器以提供单一SAS扩展器功能。本发明总体涉及串行连接SCSI领域,尤其涉及一种用于组合多个串行连接小型计算机系统接口(SAS)扩展器方法,包括将第一SAS扩展器的至少一个第一编号的phy与和所述第一SAS扩展器物理分开的第二SAS扩展器的至少一个第二编号的phy分组到至少一个公用SAS宽端口;分配相同SAS地址给所述第一SAS扩展器和所述第二SAS扩展器;以及直接连接所述第一SAS扩展器到所述第二SAS扩展器,用于扩展器间通信。
文档编号G06F3/06GK101719048SQ200910162230
公开日2010年6月2日 申请日期2009年7月30日 优先权日2008年9月5日
发明者史蒂芬·B·约翰逊, 小路易斯·H·欧德威德, 蒂莫西·E·霍格兰德 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1