CN105808158B - 用于对多个sas扩展器进行分组以形成单个内聚sas扩展器的方法和装置 - Google Patents

用于对多个sas扩展器进行分组以形成单个内聚sas扩展器的方法和装置 Download PDF

Info

Publication number
CN105808158B
CN105808158B CN201510014436.0A CN201510014436A CN105808158B CN 105808158 B CN105808158 B CN 105808158B CN 201510014436 A CN201510014436 A CN 201510014436A CN 105808158 B CN105808158 B CN 105808158B
Authority
CN
China
Prior art keywords
sas
expander
slave
disk
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510014436.0A
Other languages
English (en)
Other versions
CN105808158A (zh
Inventor
林嘉树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
United States Sen Mei Storage Solutions Ltd Makall
Original Assignee
United States Sen Mei Storage Solutions Ltd Makall
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by United States Sen Mei Storage Solutions Ltd Makall filed Critical United States Sen Mei Storage Solutions Ltd Makall
Priority to CN201510014436.0A priority Critical patent/CN105808158B/zh
Priority to US14/846,265 priority patent/US9921990B2/en
Publication of CN105808158A publication Critical patent/CN105808158A/zh
Priority to US15/893,871 priority patent/US10235319B2/en
Application granted granted Critical
Publication of CN105808158B publication Critical patent/CN105808158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)

Abstract

SAS(串行附接SCSI或串行附接小型计算机系统接口)交换机包括主盘SAS扩展器和连接至主盘SAS扩展器的多个从盘扩展器。每个从盘扩展器具有不同的SAS地址。从盘扩展器没有直接相互连接并且通过主盘扩展器进行通信。SAS交换机具有SAS宽端口对,每个宽端口具有多个SAS链路,每个链路与从盘扩展器中的一个关联。从盘扩展器配置为根据由主盘SAS扩展器建立的路由表对SAS流量进行路由。主盘SAS扩展器没有直接连接至SAS宽端口中的任一个。

Description

用于对多个SAS扩展器进行分组以形成单个内聚SAS扩展器的 方法和装置
技术领域
本申请涉及计算机存储技术中的数据通信,并且具体涉及改进宽端口数据通信。
背景技术
通常称为SAS的串行附接小型计算机系统接口(SCSI)为用于限定去向和来自计算机存储设备的数据移动的点到点的串行协议和用于存储实体互连的协议栈。形成SAS拓扑的SAS域典型地由多个SAS存储网络元件来形成,SAS存储网络元件可以包括:发起者SAS设备,例如主机总线适配器(Host bus Adapter,HBA);SAS扩展器,例如SAS交换机;和SAS端设备,例如在JBOD(磁盘簇)中的硬盘驱动。如本领域中所知的,JBOD(“Just a bunch ofdisks”的缩写)没有提供冗余或性能改进。硬驱动可以被独立处理为单独逻辑卷,或者使用卷管理者,硬驱动可以被结合成单个逻辑卷。利用全体唯一SAS地址来识别每个SAS设备。SAS端口可以为窄端口或宽端口。窄端口仅具有一个物理链路(Physical link,PHY),而宽端口具有多个PHY。
通过提供必要切换和路由功能,SAS扩展器有助于各种SAS存储网络元件之间的通信。SAS扩展器还可以有助于多个SAS端设备和单个发起者端口之间的连接。SAS扩展器还提供多个SAS端口以使得SAS设备之间的通信成为可能。
图1为使用简单SAS拓扑的计算机存储系统100的简化框图。系统100显示为包括:单个扩展器SAS交换机103(其为自配置扩展器,还显示为scfg),一个HBA(主机总线适配器)101,包括扩展器106(还为scfg)和两个磁盘108与109的一个JBOD105,每个磁盘具有不同的SAS地址A/B/C/D/E。SAS链路00-09用于如所示出的连接所有SAS元件。宽端口131将HBA连接至SAS交换机103并且包括SAS链路00、SAS链路01、SAS链路02和SAS链路03。宽端口132将SAS交换机103连接至JBOD105并且包括SAS链路04、SAS链路05、SAS链路06和SAS链路07。图1还显示两个窄端口连接,即磁盘连接SAS链路08和SAS链路09。
在加电或链路重置时,SAS链路00-03被做出,扩展器103在链路00-03中的每个上利用SAS地址B发送IDENTIFY地址帧至HBA,HBA在链路00-03上接收IDENTIFY地址帧并且发现它们包括B的相同的SAS地址。HBA将自身视为通过链路00-03所限定的宽端口而直接连接至扩展器103。以相似的方法,扩展器103将其自身视为通过包括SAS链路00-03的宽端口而直接连接至HBA。
HBA对扩展器B开始拓扑发现,HBA首先在SAS链路00-03中的任一个(例如,00被选择)上发送具有B的目的地SAS地址的开放请求,并且扩展器B接收开放请求和以开放接受来响应。因此以这种方式建立HBA和扩展器B之间的连接,并且SAS链路00专用于HBA和扩展器B之间的通信。HBA发送管理命令至扩展器B以在直接附接至扩展器B的SAS设备上执行发现。扩展器B以PHY状态响应并且报告该扩展器C是通过SAS链路04-07而连接的。然后,HBA尝试在扩展器C上执行发现。HBA在SAS链路00-03中的任意一个(例如,00)上发送具有目的地SAS地址C的开放请求,扩展器B接收开放请求并且在直接路由表中查找目的地SAS地址,然后将开放请求传播至SAS链路04-07中的任一个(例如,04)。扩展器C接收开放请求并且确定目的地SAS地址是其本身。然后,扩展器C通过用于接收开放请求的SAS链路04利用“开放接受”来响应。在SAS链路00上,扩展器B将“开放接受”传播回HBA,并且因此使用SAS链路00/04建立从HBA至扩展器C的SAS连接。然后,HBA发送SAS管理命令至扩展器C以发现扩展器C上的PHY状态,并且确定两个磁盘连接至扩展器C。这样,HBA完成发现过程并且具有SAS拓扑中的SAS设备的所有知识。当HBA尝试与拓扑中的SAS设备对话时,HBA会使用在发现过程中发现的SAS地址和IDENTIFY地址帧。
扩展器B还发起发现过程。其可以在SAS链路04-07中的任一个(例如,04)上发送具有目的地SAS地址C的开放请求。扩展器C接收开放请求并且利用“开放接受”来响应,所以扩展器B和扩展器C之间的连接建立在SAS链路04上。扩展器B发送管理命令至扩展器C并且发送扩展器C上的PHY。扩展器C响应并报告磁盘D和磁盘E被附接。扩展器B在路由表中配置磁盘D和磁盘EASA地址,并且完成发现。如扩展器B那样,SAS扩展器C执行的相似发现过程,并且在其自身路由表中配置HBA的SAS地址A。
扩展器的发现过程会仅对于没有被直接附接的SAS设备配置路由表中的SAS地址。当从对等SAS设备(识别序列)中接收IDENTIFY地址帧时,直接附接的SAS地址会被配置在直接路由表中。例如,当在识别序列中SAS链路01-03/04-07正常并且IDENTIFY帧被接收时,扩展器B配置SAS地址A和SAS地址C的直接路由表。在发现过程中,扩展器B配置SAS地址D和SAS地址E的路由项目。扩展器C以相似的方法配置路由表用于直接附接的设备和非直接附接的设备。
当完成HBA/扩展器B/C上的所有识别序列和发现序列时,扩展器B/C中的路由表被正确配置并且HBA具有所有扩展器B,扩展器C和磁盘D,磁盘E的知识。当与磁盘/扩展器对话时,HBA会使用所发现的SAS地址建立连接。
当HBA尝试访问磁盘D时,HBA发送具有D的目的地SAS地址的开放请求至SAS链路00-03中的任一个(例如,选择00)。扩展器B采用在开放请求中接收的SAS地址(SAS地址D)并且将其传播至SAS链路04-07中的任一个(例如,选择04)。扩展器C接收开放请求并且查找SAS地址D的路由表并且将开放请求传播至SAS链路08。具有SAS地址D的磁盘接收开放请求并且以开放接受来响应SAS链路08。在SAS链路08->04->00上开放接受被传播回HBA,并且因此建立HBA和磁盘D之间的连接。HBA通过SAS链路00-04-08而与磁盘D进行通信。在关闭连接前,不允许在SAS链路00-04-08上建立其它连接。也就是说,HBA将SAS链路00视为繁忙,并且如果HBA想要与磁盘E对话,那么HBA会在例如SAS链路01上发送开放请求。在HBA与磁盘D结束后,HBA在SAS链路00上发送关闭基元,并且关闭基元在SAS链路00->04->08上通过扩展器B和扩展器C进行传播。磁盘D会以关闭基元来响应,该关闭基元使用相同的路径传播回HBA。在如上文描述的握手过程之后,连接被成功地关闭。
SAS交换机是一个或多个SAS扩展器,该扩展器有助于多个主机HBA/控制器和存储设备例如JBOD之间的SAS数据传输。SAS交换机提供使得机架存储池能够在服务器之间被分段和被动态地分配的IO分解。在一定应用中,大量主机HBA和JBOD可以连接至单个SAS交换机。
如上文所述的,单个物理SAS扩展器设备的端口计数限制SAS设备所可以连接的SAS扩展器的数量。特定SAS扩展器应用如用于连接机架内的主机和JBOD的架顶式SAS交换机要求高端口计数并且不能建立在单个物理扩展器设备上。为了实现扩展器设备中的高端口计数,多个物理扩展器设备被分组在一起并且外观上看起来像单个内聚SAS扩展器。但是,将多个扩展器设备分组为单个内聚SAS扩展器的现有方法一般包括:使用在直接SAS连接上同步的多个同质自管理扩展器设备。同步连接可以在SAS扩展设备之间使用直接SAS链路。SAS交换机内多个SAS扩展器设备中的分布式SAS实现带来SAS扩展器管理、失效备援处理、封闭管理等中的挑战。在现有方法中,扩展器设备还被要求以相同的SAS地址来分配,使得宽端口可以从来自这些扩展器的每个中的PHY中形成。这要求复杂的设计,因为SAS标准不允许在相同SAS域内的多个SAS设备之间共享相同的SAS地址。
发明内容
本发明的实施方式提供用于对包括至少一个主盘SAS扩展器和多个从盘SAS扩展器的多个SAS扩展器设备进行分组以形成单个内聚SAS扩展器的方法和装置。每个SAS扩展器具有不同的SAS地址。从盘SAS扩展器连接至主盘SAS扩展器并且由主盘SAS扩展器配置为使得没有从盘SAS扩展器中的任意两个之间的直接SAS连接。来自多个从盘SAS扩展器的物理链路(PHY)被分组为外部SAS设备连接的SAS端口。被分组的SAS扩展器作为具有统一SAS地址的单个凝聚SAS扩展器来操作和响应并且提供用于连接至外部SAS设备的高端口计数SAS端口。多个SAS扩展器的分组提供对于高端口计数SAS交换机产品的解决方案。本发明的实施方式可以克服如上文所述的现有方法中的缺点,并且更简单,更可扩展并且更SAS标准兼容。
根据本发明的一些实施方式,SAS(串行附接SCSI或串行附接小型计算机系统接口)交换机包括主盘SAS扩展器和连接至主盘SAS扩展器的多个从盘扩展器。每个从盘扩展器具有单独的SAS地址并且并不直接连接至其它从盘扩展器。第一SAS宽端口具有第一个多个SAS链路,第一个多个SAS链路中的每个与多个从盘扩展器中的不同的一个关联。第二SAS宽端口具有第二多个SAS链路,第二多个SAS链路中的每个与多个从盘扩展器中的不同的一个关联。从盘扩展器配置为根据由主盘SAS扩展器建立的路由表对SAS流量进行路由。而且,主盘SAS扩展器并不直接连接至第一SAS宽端口或第二SAS宽端口。
在一个实施方式中,主盘SAS扩展器和从盘SAS扩展器配置为作为具有统一SAS地址的单个凝聚SAS扩展器来操作。第一宽端口和第二宽端口用于连接外部SAS设备。在另一个实施方式中,主盘扩展器配置为检测与所述多个SAS链路的失效,并且对发往所述多个SAS链路的SAS流量进行重新路由。在另一个实施方式中,由主盘SAS扩展器来配置用于每个从盘SAS扩展器的路由表,使得在SAS链路识别序列期间,从盘SAS扩展器发送包括主盘SAS扩展器的地址和在SAS交换机内全局索引的多个PHY标识符的IDENTIFY地址帧。换句话说,在第一SAS宽端口和第二SAS宽端口中的每个中的每个SAS链路配置为具有单独的非重叠外部PHY标识符。
在另一个实施方式中,每个从盘SAS扩展器使用从盘扩展器的SAS地址和本地PHY标识符与主盘SAS扩展器进行通信。在另一个实施方式中,主盘SAS扩展器配置为执行SAS扩展器管理功能,该SAS扩展器管理功能包括:作为SAS管理目标终止和服务来自外部SAS设备的SSP(串行附接SCSI协议)和SMP(串行管理协议)命令,和作为SAS管理发起者发送SSP和SMP命令至从盘SAS扩展器和外部SAS设备。在另一个实施方式中,SAS交换机还包括第三宽端口和第四宽端口,宽端口中的每个PHY与从盘扩展器中的不同的一个关联。第三SAS宽端口配置为连接至第三外部SAS设备,而第四SAS宽端口配置为连接至第四外部SAS设备。在另一个实施方式中,每个从盘SAS扩展器配置为在外部SAS设备之间路由SAS流量并且将SAS管理流量路由至主盘SAS扩展器和将将SAS管理流量从主盘SAS扩展器路由。
根据本发明的一些实施方式,用于形成单个凝聚SAS(串行附接SCSI或串行附接小型计算机系统接口)扩展器的方法包括:分配SAS扩展器作为主盘SAS扩展器;并且分配多个SAS扩展器作为从盘SAS扩展器,多个SAS扩展器的每个具有不同的SAS地址。该方法还包括将每个从盘SAS扩展器通过至少一个内部SAS链路连接至所述主盘SAS扩展器并且禁止所述从盘SAS扩展器中的任意两个之间的直接连接。该方法包括:形成具有第一多个SAS链路的第一SAS宽端口,所述第一多个SAS链路中的每个与所述多个从盘扩展器中的不同的一个关联;并且形成具有第二多个SAS链路的第二SAS宽端口,所述第二多个SAS链路中的每个与所述多个从盘扩展器中的不同的一个关联。该方法还包括配置所述多个从盘扩展器根据由所述主盘SAS扩展器建立的路由表对SAS流量进行路由。
在实施方式中,从盘SAS扩展器由主盘SAS扩展器配置为用于SAS路由,并且从盘SAS扩展器是非自配置的。在实施方式中,该方法包括对从盘SAS扩展器进行配置,使得由从盘扩展器发送至外部SAS设备的IDENTIFY地址帧包括设置为所述主盘SAS扩展器的SAS地址的SAS ADDRESS字段和设置为在单个凝聚SAS扩展器内被唯一索引的PHY标识符的PHYIDENTIFIER字段。在实施方式中,该方法还包括不在主盘扩展器和宽端口之间形成直接连接。在实施方式中,该方法还包括对从盘SAS扩展器进行配置,使得经由外部SAS宽端口对两个外部SAS设备之间的SAS流量进行路由。在实施方式中,主盘SAS流量扩展器配置为检测与所述多个SAS链路中的第一个的失效和对发往所述多个SAS链路中的第一个的SAS流量进行重新路由。
根据本发明的一些实施方式,提供用于管理第一SAS(串行附接小型计算机系统接口)设备中的IDENTIFY地址帧的方法,该设备特征在于IDENTIFY地址帧中的字段的第一值集合。该方法包括:接收与第一值集合不同的IDENTITY地址帧中的字段的第二值集合。该方法还包括:在SAS链路识别序列中,将具有第二值集合的IDENTTITY地址帧提供至另一个SAS设备。在实施方式中,该方法包括:从所述第一SAS设备的第一SAS链路接收IDENTITY地址中的字段的第二值集合;并且将IDENTITY地址中的字段的第二值集合提供至所述第一SAS设备的第二SAS链路。在另一个实施方式中,该方法包括:在具有主盘扩展器和多个从盘扩展器的SAS交换机中,配置从盘SAS扩展器的路由表,使得在SAS链路识别过程中,从盘SAS设备配置为发送包括主盘SAS扩展器的SAS地址和不同的外部PHY标识符的IDENTITY地址帧。
根据一些实施方式,在包括主盘SAS扩展器和多个从盘SAS扩展器的单个内聚SAS(串行附接小型计算机系统接口)扩展器中,提供对于主盘扩展器创建失效备援SAS路径的方法。该方法包括:从具有失效SAS链路的从盘SAS扩展器接收PHY状态改变事件;并且在报告失效SAS链路和识别失效SAS链路的从盘SAS扩展器上执行发现过程。该方法还包括:在其它从盘SAS扩展器上执行发现过程以找出能够路由受所述失效SAS链路所影响的SAS流量的替换从盘SAS扩展器。该方法还包括配置具有失效SAS链路的从盘SAS扩展器上的路由项目以路由受影响的SAS流量替换从盘SAS扩展器,并且配置在替换从盘扩展器上的路由项目以替换该失效SAS链路将受影响SAS流量从主盘扩展器路由到替换扩展器的SAS链路。
在实施方式中,具有失效SAS链路的从盘SAS扩展器将PHY状态改变事件经由BROADCAST(改变)基元报告至所述主盘SAS扩展器。在另一个实施方式中,失效SAS链路为连接至外部SAS设备的外部SAS链路。
附图说明
图1为使用简单SAS拓扑的通信中的计算机存储系统的简化框图;
图2为使用根据本发明的一个实施方式的SAS交换机耦合至目标设备的主机系统的简化框图;
图3为示出根据本发明的一个实施方式用于在单个内聚SAS扩展器中创建失效备援SAS路径的方法的简化框图;
图4为示出包括根据本发明的另一个实施方式的单个凝聚SAS扩展器的系统的简化框图;
图5为根据本发明的可替选实施方式包括单个内聚SAS扩展器的系统的简化框图;
图6为根据本发明的另一个实施方式包括单个内聚SAS扩展器的系统的简化框图;
图7为示出了根据本发明的一个实施方式用于从多个扩展器形成单个内聚SAS扩展器的方法的流程图;
图8为示出了根据本发明的一个实施方式用于在单个内聚SAS扩展器中创建SAS失效备援SAS处理的方法的流程图。
具体实施方式
本发明的实施例提供了用于对多个SAS扩展器进行分组以形成被配置为提供无阻塞SAS切换功能以及其它操作的高端口计数单个内聚SAS扩展器或者SAS交换机的方法和设备。
根据本发明的实施例的高端口计数SAS交换机提供如下面进一步描述的多个优势。关于HBA/JBOD连接性,宽端口SAS交换机可以提供灵活的连接性,使得HBA/JBOD(i)比率是灵活的,并且(ii)可以连接到在SAS交换机上的任何端口。在一些实施例中,到HBA/JBOD的连接是宽端口连接(例如,x4或者x8等),并且没有实现到HDD的直接连接。SAS交换机可以提供无阻塞SAS切换结构,使得没有流量瓶颈存在于SAS交换机内,即对于正常数据路径(并行的所有路径)而言没有级联发生。目前,最大的PHY计数为255(包括vphy),这由8比特PHYIDENTIFIER字段来限定。根据本发明的实施例的高端口计数SAS交换机提供多扩展器方案,该方案克服了在单个扩展器中的当前最大PHY计数255(包括vphy),这由8比特PHYIDENTIFIER字段来限制。此外,SAS交换机为单个内聚的扩展器,使得SAS交换机在外部被视为单个逻辑扩展器。多扩展器逻辑扩展器可以提供与单个物理扩展器的操作和性能类似的外部操作和性能。另一方面,内部多扩展器拓扑和管理机制对外部SAS设备是透明的。
在本发明的一些实施例中,SRS交换机包括主盘SAS扩展器设备和多个从盘SAS扩展器设备,每个从盘SAS扩展器设备被分配不同的SAS地址。从盘扩展器设备由主盘扩展器设备来管理并且被配置为将SAS流量在外部SAS设备之间进行路由并且将SRS管理流量转发到主盘扩展器设备并且转发来自主盘扩展器设备的SAS管理流量。因此,本发明的实施例是更简单的且更可扩展的,并且可以与传统方案相关联的缺点,例如复杂的同步和失效备援处理。此外,根据本发明的实施例的SAS交换机包括多个扩展器,每个扩展器具有不同的SAS地址并且是比传统方案更兼容SAS标准的。然而,根据本发明的实施例,SAS交换机看起来好像具有信号统一SAS地址和高端口计数的外部设备。
根据本发明的一个实施例,对多个物理SAS扩展器进行分组,以形成单个内聚SAS扩展器。根据本发明的实施例的SAS交换机可以包括至少两个从盘SAS扩展器设备(在下文中可替换地称为从盘或者SAS从盘)和主盘SAS扩展器设备(在下文中可替换地称为主盘或者SAS主盘)。每个从盘经由至少一个SAS链路连接到主盘。主盘和从盘具有不同的SAS地址。用于SAS交换机的公用SAS宽端口可以通过将多个从盘中的一个的至少一个PHY与另一个从盘的至少一个PHY分组来形成。虽然每个从盘SAS扩展器具有不同的SAS地址,但是SAS交换机看起来好像具有单个统一的SAS地址和高端口计数的外部设备。在一些实施例中,这通过主盘扩展器配置每个从盘在公共SAS宽端口中发送具有分配给主盘扩展器设备的SAS地址的IDENTIFY地址帧和与从盘扩展器设备的PHY有关的全局编号的PHY索引来实现。
主盘负责SAS扩展器管理操作例如终止和服务来自外部SAS设备例如SAS管理目标的SSP(串行附接SCSI协议)和SMP(串行管理协议)命令、向从盘和外部SAS设备例如SAS管理发起者发送SSP和SMP命令等。从盘负责在外部SAS设备之间路由SAS流量并且将SAS管理流量路由到主盘并且路由来自主盘的SAS管理流量。因为SAS扩展器管理操作由主盘来执行,所以消除了对从盘之间同步的需要。外部SAS宽端口与来自不同从盘SAS扩展器的PHY组合在外部SAS设备之间为SAS流量提供了无阻塞SAS切换功能。在一些实施例中,SAS端口中的任一个中的PHY可以用于在其中SAS设备的集合彼此通信的SAS域中的外部SAS设备中的任意两个之间或者在外部SAS设备中的一个和主盘之间建立连接路径。
图2是根据本发明的一个实施例的计算机系统200的简化框图,其被显示为部分地包括发起者(主机)1005,发起者(主机)1005经由扩展器1007和共同形成单个内聚SAS扩展器1030的多个SAS(串行连接小型计算机系统接口)扩展器1000、1001、1002、1003、以及1004耦接到目标设备1008。如图2所示,单个内聚的SAS扩展器(这里也称为SAS交换机)1030包括主盘SAS扩展器1004和多个从盘扩展器1000、1001、1002以及1003。从盘扩展器没有直接彼此耦接,并且每个从盘扩展器具有与主盘和其它从盘扩展器的SAS地址不同的SAS地址。SAS交换机1030被示出为具有与发起者1005进行通信的第一SAS宽端口1031和用于经由扩展器1007与目标1008进行通信的第二SAS宽端口1032。例如,发起者1005可以为计算机,并且目标1008可以为硬盘。第一SAS宽端口1031具有多个SAS链路即将从盘扩展器1000、1001、1002、1003分别耦接到发起者1005的SAS链路1010、1011、1012和1013。第二SAS宽端口1032具有多个SAS链路即将从盘扩展器1000、1001、1002、1003经由扩展器1007分别耦接到目标1008的SAS链路1014、1015、1016和1017。主盘SAS扩展器没有直接到第一SAS宽端口或者第二SAS宽端口。
如图2所示,从盘扩展器1000、1001、1002以及1003通过SAS连接1020、1021、1022以及1023分别与主盘扩展器1004通信。SAS连接1020、1021、1022以及1023中的每一个包括至少一个SAS链路。主盘扩展器1004没有与SAS交换机1030所连接到的外部设备直接连接。
主盘SAS扩展器1004负责管理SAS交换机1030的总体活动,部分地包括:(i)执行拓扑发现过程,(ii)为从盘SAS扩展器配置路由项目,(iii)响应于来自外部SAS设备(例如发起者1005)的SAS管理和箱体管理命令,并且(iv)处理错误条件例如链路失效备援。在SAS链路上检查到失效之后,主盘扩展器1004提供可替换的SAS路由,由此管理链路失效备援。
从盘SAS扩展器1000、1001、1002以及1003被配置为在拓扑发现处理期间根据由主盘扩展器建立的并且存储在从盘扩展器中的路由表在外部SAS设备之间路由SAS流量。从外部设备的角度,SAS交换机1030看起来好像作为单个SAS扩展器。然而,到SAS交换机1030的内部,从盘扩展器为由主盘扩展器可独立地SAS寻址的。从盘扩展器不执行拓扑发现过程,并且在它们自己的路由表中没有配置路由项目。从盘SAS扩展器中的路由表和项目由主盘SAS扩展器来配置,如上面所述。
根据SAS规定,在SAS标识符序列中,由SAS链路直接连接到的对等SAS设备通过交换IDENTIFY地址帧来彼此识别,该地址帧部分包括SAS设备容量、SAS地址、PHY标识符等。
SAS交换机1030使用唯一SAS地址和在SAS交换机内全局索引的全局索引的PHY标识符来识别。例如,参照图2,SAS主盘的SAS地址SAS_ADDR_1004和全局索引的PHY标识符在外部链路1010-1017上被定义在IDENTIF地址帧中。例如,SAS从盘1000可以具有从0改变到29的PHY标识符;SAS从盘1001可以具有从30改变到59的PHY标识符;SAS从盘SAS 1002可以具有从60改变89的PHY标识符;并且SAS从盘1003可以具有从90改变到119的PHY标识符。利用该配置,SAS交换机1030对于外部SAS设备,例如设备1005、1007以及1008看起来好像具有其SAS地址即扩展器设备SAS主盘地址SAS_ADDR_1004以及从0改变到119的多个全局索引的PHY的单个内聚的。外部SAS设备可以向从盘SAS扩展器发送SAS管理流量。SAS管理流量可以包括例如用于SAS拓扑发现、SAS管理以及箱体管理服务的的SMP和SSP命令。SAS管理流量由从盘SAS扩展器1000-1003路由到主盘SAS扩展器1004,并且由主盘SAS扩展器1004集中处理。主盘SAS扩展器1004与从盘SAS扩展器一起一致地响应于外部SAS设备,以对于所有外部设备看起来好像单个内聚的SAS扩展器。
到SAS交换机1030的内部,SAS主盘1004和SAS从盘使用不同的SAS地址和本地索引的PHY标识符来识别,以调整在内部SAS链路上交换的内部流量管理。SAS从盘1000-1003使用它们本地的SAS地址和本地索引的PHY标识符来在内部连接的SAS链路上发送IDENTIFY地址帧。
换言之,针对与外部连接的SAS链路1010-1017上的外部SAS设备通信而言,SAS从盘1000-1003发送具有SAS主盘的SAS地址SAS_ADDR_1004的IDENTIFY地址帧以及它们的全局索引的PHY标识符。针对内部通信而言,每个SAS从盘(例如从盘1000)在SAS链路(例如,SAS链路1020)上发送IDENTIFY地址帧,以与SAS主盘1004通信;这种地址帧具有从盘自己的本地SAS地址(例如,SAS_ADDR_1000)以及本地索引的PHY标识符。SAS主盘1004在链路1020-1223中的任一个上发送IDENTIFY地址帧;每个这种帧具有SAS主盘自己的本地SAS地址即SAS_ADDR_1004以及SAS主盘的PHY标识符。
如上所述,SAS主盘1004具有与SAS从盘中的任一个的SAS地址不同的SAS地址。SAS主盘还被配置为实现虚拟层,以向外部SAS设备提供内聚的SAS扩展器SMP和SSP接口。如上所述,SAS主盘1004还被配置为管理内部从盘SAS扩展器。在外部SAS设备中的任一个和SAS主盘1004之间不存在直接的SAS链路。SAS链路失效备援也由SAS主盘通过将用于可替换的SAS路由的特定从盘SAS扩展器路由项目配置到失效的SAS链路来管理。
SAS从盘1000、1001、1002以及1003除了其它方面之外负责:(i)在SAS交换机1030与SAS交换机1030外部的任意一个SAS设备之间路由管理流量,并且(ii)在外部SAS设备之间路由SAS流量,并且向SAS主盘报告本地PHY事件。SAS从盘具有不同的SAS地址并且保持由SAS,使得SAS交换机1030在外部被视为单个内聚的扩展器1030。在图2中示出的实施例中,在SAS从盘中的任一个之间不存在直接的SAS链路。此外,在图2中示出的实施例中,SAS从盘不执行拓扑发现过程并且在它们自己的路由表中不配置路由项目。从盘SAS扩展器中路由项目由主盘SAS扩展器来配置。
根据SAS规定,IDENTIFY地址帧用于SAS标识符序列。由SAS链路直接连接的对等SAS设备通过交换包含它们SAS信息的IDENTIFY地址帧来彼此识别,该SAS信息包括:SAS设备容量、SAS地址以及PHY标识符等。
当对SAS交换机1030进行上电时,同时对SAS主盘1004以及SAS从盘1000-1003上电,并且连接的内部SAS链路1020-1023变为激活。SAS主盘1004和SAS从盘1000-1003交换IDENTIFY地址帧,该地址帧包括它们在布置在内部SAS链接中的链路上的本地SAS地址和本地PHY标识符。SAS主盘发现直接连接到SAS主盘的SAS从盘。如上所述,SAS从盘不执行拓扑发现过程。每个SAS从盘在直接连接SAS从盘和主盘的SAS链路上接收来自SAS主盘的IDENTIFY地址帧。SAS主盘配置每个SAS从盘中的路由表,因此使SAS流量能够被从盘路由到主盘。在发现过程期间由主盘来配置路由表。SAS主盘还被配置为路由用于在从盘的任何虚拟SSP目标的项目。
在图2中示出的实施例中,每个宽SAS端口被示出为具有四个SAS链路,每个SAS链路来自不同的SAS从盘。因此,SAS链路1010-1013分组在一起形成宽SAS端口1031,并且SAS链路1014-1017分组在一起形成宽SAS端口1032。如上所述,SAS从盘1000-1003通过使用主盘SAS扩展器的SAS地址SAS_ADDR_1004来设置帧的SAS地址字段并且使用全局索引的PHYID来设置PHY IDENTIFIER字段,以管理发送给外部SAS链路的IDENTIFY地址帧。外部SAS设备例如SAS发起者设备1005和SAS扩展器设备1007将它们自身视为通过SAS宽窗口连接即宽端口1031(使用SAS链路1010-1013来形成的)或者宽端口1032(使用SAS链路1014-1017来形成的)来直接连接到单个内聚SAS扩展器设备1030,它们的SAS地址为SAS主盘的SAS地址SAS_ADDR_1004。
当在SAS交换机1030上的SAS链路的状态例如从准备就绪改变到未准备就绪或者反之亦然时,SAS主盘1004执行改变的端口状态的SAS拓扑发现过程,并且在改变的端口所连接到的从盘SAS扩展器上配置路由项目。外部SAS设备也执行SAS拓扑发现,以发现SAS交换机1030。
作为直接SAS连接处理的示例,当在连接到外部SAS扩展器1007的SAS从盘1000上的SAS链路1014的状态变为准备就绪时,SAS从盘1000检测PHY状态改变并且通过SAS链路1020发送BROADCAST(改变)基元来向SAS主盘1004报告PHY改变事件。主盘扩展器1004接收BROADCAST(改变)基元并且在接收BROADCAST(改变)基元的SAS连接1020上执行拓扑发现过程。在拓扑发现过程期间,主盘扩展器向从盘扩展器1000发送SMP命令例如SMP REPORTGENERAL、SMP DISCOVERY命令,并且发现从盘扩展器1000上的PHY中的一个准备就绪,并且外部SAS扩展器设备1007通过SAS链路1014来连接。SAS主盘1004为扩展器1007配置本地路由项目,然后向扩展器1007发送SMP命令例如SMP REPORT GENERAL SMP DISCOVERY命令,并且发现扩展器1007通过SAS链路1018连接到SAS目标设备。SAS主盘1004向SAS从盘1000发送SMP CONFIGURE ROUTE INFORMATION命令,以在SAS从盘1000的路由表中为SAS目标设备1008配置路由项目。因为不再有待发现的扩展器设备,所以完成了由SAS主盘1004发起的拓扑发现过程。在连接到扩展器1007的四个SAS从盘中的每一个上存在一个SAS链路。四个SAS链路1014、1015、1016以及1017被期望同时准备就绪。然后当其它三个SAS链路1015、1016以及1017逐一准备就绪时,SAS主盘1004针对其它三个SAS链路1015、1016以及1017执行SAS拓扑发现过程。因为连接到SAS链路1014-1017的外部拓扑是相同的,所以主盘扩展器可以选择执行完全SAS拓扑发现过程如针对SAS链路1014的那个,或者主盘扩展器可以仅复制SAS从盘1000中的用于SAS链路1014的路由项目到其它三个SAS从盘1001、1002以及1003。针对来自四个SAS从盘的PHY状态改变事件执行发现过程时,主盘扩展器设置自配置比特为1,以指示单个内聚的扩展器1030处于配置状态,并且完成所有四个拓扑发现过程时设置自配置比特为0,以指示单个内聚的扩展器1030不处于配置状态。SAS主盘可以通过SAS链路或者带外链路向SAS从盘发送私有命令,以除了SAS链路恰好准备就绪的SAS端口之外向所有SAS从盘的外部SAS端口发送BROADCAST(改变)基元。主盘扩展器也可以实现超时值,以等待报告所有四个PHY状态事件并且完成发现过程。当超时并且没有报告所有四个PHY状态事件并且没有及时完成对四个从盘扩展器的发现时,做出连接扩展器1007的宽端口中的不是所有四个SAS链路变得准备就绪的决定。此时,如下面所述执行链路失效备援处理。
下面描述了直接的SAS连接拆除处理的示例。在连接到外部SAS扩展器1007的从盘扩展器1000上的当SAS链路例如SAS链路1014的状态变得未准备就绪时,SAS从盘1000检测PHY状态改变,并且使用BROADCAST(改变)基元通过SAS连接1020中的SAS链路中的一个向SAS主盘1004报告PHY改变事件。SAS主盘接收BROADCAST(改变)基元,并且在接收BROADCAST(改变)的SAS连接1020上执行拓扑发现过程。在拓扑发现过程期间,SAS主盘向从盘扩展器1000发送SMP命令,例如SMP REPORT GENERAL、SMP DISCOVERY命令,并且发现从盘扩展器1000上的PHY中的一个变得未准备就绪,并且外部SAS扩展器设备1007不再通过SAS链路1014来连接。SAS主盘1004向SAS从盘1000发送SMP CONFIGURE ROUTE INFORMATION命令,以移除与SAS链路1014有关的从盘扩展器上的所有路由项目。因此,完成SAS主盘1004上的拓扑发现过程。
由于在连接到外部扩展器1007的四个SAS从盘中的每一个上存在一个SAS链路,并且SAS链路1014-1017的状态同时改变,所以SAS主盘针对其它三个SAS链路1015、1016以及1017执行SAS拓扑发现过程。SAS主盘1004移除SAS从盘1001、1002以及1003中的用于SAS链路1015、1016以及1017的相关路由项目。执行来自四个SAS从盘的PHY状态改变事件的发现过程时,SAS主盘1004设置自配置比特例如为1,以指示单个内聚的扩展器1030处于配置状态,并且完成所有四个拓扑发现过程时设置自配置比特例如为0,以指示单个内聚的扩展器1030不处于配置状态。SAS主盘1004可以通过SAS链路或者带外链路向SAS从盘发送私有命令,以向所有SAS从盘的外部SAS端口发送BROADCAST(改变)基元。主盘扩展器实现超时值,以等待报告所有四个PHY状态事件并且完成发现过程。当超时并且没有报告所有四个PHY状态事件并且没有及时完成对四个从盘扩展器的发现时,做出连接到扩展器1007的宽端口中的所有四个SAS链路不是同时变得未准备就绪的决定。应当针对该情况执行链路失效备援处理。
当未直接附接到SAS交换机1030的SAS链路的状态改变例如从准备就绪改变到未准备就绪或者从未准备就绪改变到准备就绪时,通过BRAOADCAST基元通知SAS交换机1030拓扑改变,并且SAS交换机1030在用于接收BROADCAST基元的端口上执行SAS拓扑发现。SAS交换机向没有发送BROADCAST基元以报告它们状态的外部SAS端口传送BROADCAST基元。
作为远程SAS连接处理的示例,当连接到SAS目标设备1008的外部SAS扩展器上的远程SAS链路例如扩展器1007上的SAS链路1018准备就绪时,SAS扩展器1007向具有BROADCAST(改变)基元的所连接SAS从盘1000报告PHY改变事件。SAS从盘1000通过SAS连接1020中的SAS链路中的一个向SAS主盘1004传送BROADCAST(改变)基元。SAS主盘1004接收BROADCAST(改变)基元并且朝向接收BROADCAST(改变)的SAS连接1020执行拓扑发现。在拓扑发现过程期间,SAS主盘1004向从盘扩展器1000发送SMP命令例如SMP REPORT GENERAL、SMP DISCOVERY命令,并且发现BROADCAST(改变)来自连接到外部扩展器1007的SAS链路1014。SAS主盘1004继续发现扩展器1007并且发现SAS链路1018已经变得准备就绪了。SAS主盘1004向从盘扩展器1000、1001、1002以及1003发送SMP CONFIGURE ROUTE INFORMATION命令,以配置SAS目标1008的路由项目。当针对接收到的BROADCAST(改变)基元执行发现过程时,SAS主盘1004设置自配置比特例如为1以指示扩展器处于配置状态。SAS主盘1004当完成拓扑发现过程时设置自配置比特例如为0,由此指示SAS交换机1030未处于配置状态。因此,SAS交换机1030在从其接收到BROADCAST基元的端口上执行SAS拓扑发现。SAS交换机向未发送BROADCAST基元以报告其状态的SAS端口传送BROADCAST基元。
下文是远程SAS连接拆除的一个实例。当外部SAS扩展器上的远程SAS链路例如连接到SAS目标设备1008的扩展器1007上的SAS链路1018变得未准备就绪时,SAS扩展器1007利用BROADCAST(改变)基元,报告PHY改变事件给所连接的SAS从盘1000。SAS从盘1000然后将BROADCAST(改变)基元经过SAS连接1020中的SAS链路传播到SAS主盘1004。SAS主盘1004接收BROADCAST(改变)基元并且在用于接收BROADCAST(改变)基元的SAS连接1020上执行拓扑发现。在拓扑发现过程中,SAS主盘1004发送SMP命令如SMP REPORT GENERAL、SMPDISCOVERY命令到SAS从盘1000,并且发现该BROADCAST(改变)基元是来自连接到SAS扩展器1007的SAS链路1014的。SAS主盘1004继续发现扩展器1007并且发现SAS链路1018是未准备就绪的。SAS主盘1004发送SMP CONFIGURE ROUTE INFORMATION命令到SAS从盘1000、1001、1002和1003,以去除它们与SAS链路1018相关的所有路由项目即去除用于SAS目标1008的路由项目。当执行所接收BROADCAST(改变)基元的发现过程时,SAS主盘1004将自配置比特设置为例如1,以指示SAS交换机1030处于配置模式。当完成全部拓扑发现过程时,SAS主盘1004将自配置比特设置为例如0,以指示SAS交换机1030不处于配置模式。SAS主盘经过SAS链路或带外链路发送合适的命令到SAS从盘,以传播BROADCAST(改变)基元到SAS从盘上除了用于接收BROADCAST(改变)基元的那个端口之外的全部外部SAS端口。
当外部SAS设备执行发现过程时,SAS交换机1030作为该发现的SSP或SMP目标来响应有外部SAS设备发出的SAS命令。在SAS拓扑发现过程期间,外部SAS设备发送SMP命令到SAS交换机1030,并且进一步发送SSP命令到实现在SAS扩展器中的虚拟SSP目标。到SAS交换机1030的SMP和SSP流量有SAS从盘路遇到SAS主盘。软件虚拟层实现在SAS主盘中以用于外部SMP和SSP处理。当SAS主盘执行该虚拟层时,SAS主盘在SAS从盘和外部SAS设备中保存SAS从盘信息如PHY状态信息。虚拟层使用所保存的信息来响应外部SMP命令。例如,当外部SAS设备发送SMP DISCOVERY命令以发现SAS交换机1030上的PHY时,虚拟层将SMP DISCOVERY命令中的全局索引SAS PHY映射到SAS从盘上的本地PHY,并且利用为该PHY所保存的信息来响应。当外部SAS设备发送SES(SCSI箱体服务)命令到SAS交换机1030中所实现的虚拟目标时,该命令由SAS从盘路由到SAS主盘。该SES命令在SAS主盘中处理以便箱体管理。
在一个具体实施方式中,上述SAS交换机可以包括四个模型SXP68x12G扩展器设备作为SAS从以及一个模型SXP36x12G扩展器设备作为SAS主盘SAR,这两个设备模型从PMC-Sierra(https://pmcs.com/)商业可得。SAS交换机可以具有60个SAS端口以用于外部SAS设备连接,每个SAS端口具有四个SAS链路,每个SAS链路连接到不同的SAS从盘。SAS主盘SXP36x12G使用八链路宽端口连接到每个SAS从盘SXP68x12G。SAS从盘被配置为非自配置(nscfg)扩展器,并且SAS主盘被配置为自配置(scfg)扩展器。SAS主盘硬件和固件管理与SAS从盘相关联的IDENTIFY地址帧。虚拟层实现在管理SAS扩展器固件中,以便单个内聚SAS扩展器管理对于SAS交换机和具有菲重叠PHY的宽端口提供单个SAS地址,如上文参考图2所述的。
当检测到SAS交换机1030的外部SAS宽端口之中的链路的状态为不一致时,如果路由项目不是针对失效SAS链路配置的,则可以阻止由SAS交换机1030连接的外部SAS发起者和SAS目标之间的SAS流量。例如,假设SAS链路1014状态为未准备就绪同时SAS链路1015、1016和1017状态为准备就绪。当SAS发起者1005尝试与目标1008建立SAS连接时,其选择在SAS链路1015、1016和1017中的一个上发送开放连接请求,而无需知道SAS链路1014是未准备就绪的。如果开放连接请求是在SAS链路1011、1012或1013上发送的,则其可以由SAS从盘1001、1002或100分别经过SAS链路1015、1016和1017传播到外部扩展器1007。然而,如果SAS发起者1005选择在SAS链路1010上发送开放链路请求,则由于SAS链路1014为未准备就绪的,所以请求在SAS链路1014上传播该请求的请求将不被实现。如果不存在到SAS目标1008的可替换的路由,则该开放请求被拒绝。需要链路失效备援(fail-over)处理来解决该问题。
SAS宽端口状态中的不一致由SAS主盘识别。如上文所述的,如果宽端口中的区别SAS链路的状态在预定义时间(超时)内未被识别为不一致,则SAS执行链路失效备援处理。链路失效备援处理的目的在于将发往附接到失效SAS链路的SAS从盘的流量路由的另一个SAS从盘。该重新路由和从盘路由表中所需要的改变由SAS主盘执行。
例如,假设SAS链路1014状态指示其为未准备就绪的,而SAS链路1015、1016和1017为准备就绪的。因此,SAS主盘1004配置SAS从盘1000上的路由项目以路由发往外部SAS扩展器1007和外部SAS目标设备1008的全部SAS流量。该流量经过SAS链路1021、1022或1023中的一个来路由。其他SAS从盘上的路由条目不改变。
如果多个外部SAS设备受失效链路影响,则SAS主盘1004可以分配路由项目到不通SAS从盘以实现负载平衡。相应地配置SAS从盘1000和SAS主盘1004中的链路失效备援路由项目。发起者SAS设备1005的任意开放连接请求被路由到SAS主盘1004并且随后被路由到例如SAS从盘1001,假设SAS从盘1001具有连接到扩展器1007的准备就绪SAS链路和用于SAS目标设备1008的有效路由项目。开放路由请求被路遇到扩展器1007并且然后成功地到达目标1008。
图3是根据本发明的另一个实施方式的SAS扩展器330。SAS扩展器(在本文中又被称为SAS交换机)330被显示为包括SAS主盘325和多个SAS从盘321、322、323和324。SAS从盘321-324是非自配置的(nscfg),并且因此不配置其自身。SAS控制器325是自配置的(scfg)并且执行对于其自身和SAS从盘321-324的配置功能。SAS交换机330具有两个宽端口31和332.第一宽端口331被显示为包括耦接到发起服务器HBA 301的四个链路;第二宽端口332也被显示为包括耦接到目标SAS设备JBOD 308的四个链路。在图3中,附图标记x1指示一个SAS链路,并且附图标记xN指示N个SAS链路,其中N是整数。
在正常操作期间,假设经由宽端口331的SAS链路210、从盘扩展器321和宽端口332的SAS链路314来建立发起者设备HBA 301和目标设备JBOD 308之间的流量。假设例如SAS从盘321具有在PHY状态改变事件期间由SAS主盘例如经由BROADCAST(改变)基元检测到的失效SAS链路314。SAS主盘然后对具有失效SAS链路的SAS从盘执行发现并且检测失效外部SAS从盘链路314。在响应中,SAS主盘325利用其它SAS从盘执行进一步的发现,以找出可以路由受链路314的失效影响的流量的替换SAS从盘(例如扩展器322、扩展器nscfg B)。假设SAS主盘325代替SAS从盘322为从盘321重新路由受影响的流量。在识别SAS扩展器322为替换之后,SAS主盘325配置SAS从盘中的本地路由项目,以便路由受影响的SAS流量到SAS从盘322。在一个实施方式中,SAS主盘325配置SAS从盘321中的路由项目,因而发往失效链路314的流量被路遇到SAS主盘325。主盘扩展器325中的路由也被配置为将从从盘321接收的流量路由到从盘322。并且,从盘扩展器322中的路由项目被配置为将流量路由到目标设备308。利用该设置,(图3中的虚线中所示的)失效SAS链路314由被显示为包括SAS链路320和SAS链路315的路径替换,其中,SAS链路320导向SAS主盘325,SAS主盘325导向SAS流量322。在一些实施方式中,通过配置SAS主盘325中的路由项目以将JBOD设备分组并且路由每个组到具有到该JBOD的可操作链路的不同SAS从盘,实现负载平衡。
图4是根据本发明的另一个实施方式包括SAS扩展器430的系统的简化方框图。SAS扩展器430被显示为包括SAS主盘425和多个SAS从盘421、422、423和424。如图4中所示的,SAS从盘421-424是非自配置的(nscfg),并且因此不对于其自身配置路由项目。SAS控制器425在其自身和从盘扩展器上执行配置功能。在图4中,附图标记x1指示一个SAS链路,并且附图标记xN指示N个SAS链路,其中N是整数。
SAS交换机430被显示为具有四个宽端口431、432、433和434。第一宽端口431被显示为包括耦接到第一发起者设备HBA 401的四个SAS链路。第二宽端口432被显示为包括耦接到第二发起者设备HBA 402的四个SAS链路。第三宽端口433被显示为包括耦接到第一JBOD 408(安装在JBOD中的目标SAS设备未显示)的四个SAS链路。第四宽端口434被显示为包括耦接到第二JBOD 409(安装在JBOD中的目标SAS设备未显示)的四个SAS链路。
主盘和从盘扩展器具有不同的SAS地址。来自四个SAS从盘421-424的PHY被组合在一起成为x4个宽端口431-434以便连接到外部SAS设备。在该实例中,每个PHY来自不同SAS设备。SAS主盘425使用扇出(fan-out)拓扑中的xN宽端口连接到每个从盘扩展器,其中N是根据在外部宽端口中未使用的每个SAS从盘上的剩余PHY确定的整数。在一个实例中,SAS交换机400可以使用PMC Sierra的SXP68x12G设备实现为SAS从盘扩展器以及PMC Sierra的SXP36x12G实现为SAS主盘扩展器。SAS交换机具有60个外部x4端口,并且外部宽端口可以具有宽度N=8(68-60=8)。注意到,在图4中仅显示了四个x4宽端口,两个用于HBA以及两个用于JBOD。在附图中为了清楚起见未显更多的宽端口。在本发明的实施方式中,HBA到JBOD的连接率是弹性的。
SAS从盘使用SAS主盘SAS地址和全局索引逻辑扩展器PHY ID来发送它们IDENTITY地址。因此,外部设备如HBA或JBOD利用相同的SAS地址接收来自SAS从盘的IDENTIFY地址并且将x4端口(包括来自4个不同从盘扩展器的PHY)作为宽端口来处理。在一个实施方式中,多个SAS从盘提供高端口计数SAS连接性并且对于外部SAS设备不可见。每个SAS从盘的物理PHY被映射到SAS交换机中的一系列全局索引逻辑扩展器PHY ID。来自四个SAS从盘的全部逻辑扩展器PHY形成逻辑扩展器的完整逻辑PHY映射。scfgSAS主盘对于外部SAS设备(HBA/JBOD)是可见的,并且管理内部连接的SAS从盘。scfg SAS主盘固件通过响应于SMP/SMP命令,将高端口计数逻辑扩展器虚拟为外部设备。外部管理流量(HBA和SAS交换机之间的SMP/SSP)由nscfg SAS从盘路由到scfg SAS主盘。正常SAS数据流量(HBA和JBOD之间的SSP/STP/SMPP)由SAS从盘路由,在SAS交换机中仅用一跳,并且不涉及scfg SAS主盘。链路失效备援流量经过nscfg SAS从盘和scfg SAS主盘路由。并且,在scfg SAS主盘中处理虚拟SSP/SES。
在一个实施方式中,每个nscfg扩展器在连接到scfg扩展器的链路上,利用其自己的SAS地址传输IDENTIFY地址帧,并且scfg扩展器通过内部连接的SAS宽端口管理nscfg扩展器。经由用于触发scfg扩展器执行发现过程的BC基元将nscfg扩展器外部PHY改变事件通知到scfg扩展器。在scfg扩展器发现过程期间,scfg扩展器在本地数据库中保存nscfg扩展器PHY信息,并且scfg扩展器发现外部拓扑(如果需要)并且配置nscfg扩展器的路由项目。scfg扩展器配置用于scfg扩展器虚拟SSP目标的nscfg路由项目。当必要时,scfg扩展器配置用于外部发现SMP请求的nscfg路由项目,并且当完成路由项目时去除路由该项目以免多路路由。scfg扩展器以特定时间间隔轮询nscfg扩展器中的实时信息如PHY误差计数等等并且将其保存在本地数据库中。scfg扩展器固件通过使用本地数据库信息响应外部SMP命令并且转发SMP命令(如PHY重设)到映射nscfg扩展器,以虚拟单个内聚控制器。逻辑PHY映射用于映射合适的SMP命令到合适的物理nscfg扩展器和PHY。scfg扩展器配置用于nscfg扩展器的分区,并且在每个nscfg扩展器中分区配置是相同的。本发明的实施方式还包括用于更有效的scfg/nscfg(或主盘/从盘)扩展器通信的专用或定制SMP/SSP命令。
图5是示出了根据本发明的一个可替换的实施方式包括单个内聚SAS扩展器的系统550的简化方框图。如图5中所示的,单个内聚SAS扩展器或SAS交换机530包括SAS主盘525和多个SAS从盘521、522、523和524。单个内聚SAS扩展器或SAS交换机530具有与图2中所示的SAS交换机1030类似的配置。如图5中所示的,SAS从盘是非自配置的(nscfg)。它们不对其自身执行配置。SAS主盘525是自配置的并且被标记为scfg。SAS主盘525对其自身和SAS从盘执行配置功能。SAS交换机530具有四个宽端口531、532、533和534。在图5中,附图标记x2意味着二个SAS链路,并且附图标记xN意味着N个SAS链路,其中N是整数。第一宽端口531包括耦接到第一发起设备HBA 501的四个SAS链路。第二宽端口532包括耦接到第二发起设备HBA502的四个SAS链路。第三宽端口533包括耦接到第一目标SAS设备JBOD 508的四个SAS链路。第四宽端口534包括耦接到第二目标SAS设备JBOD 509的四个SAS链路。
在一个实施方式中,图5中的SAS交换机530包括具有较低端口计数的四个端口,其中两个PMC Sierra的SXP68x12G扩展器作为nscfgSAS从盘并且一个PMC Sierra的SXP36x12G扩展器作为scfg SAS主盘。来自两个nscfg扩展器中的每一个的PHY被组合在一起成为四链路宽端口。注意到端口531和532可以被视为第一x4宽端口,并且端口533和534可以被视为第二x4宽端口。使用以上扩展器设备,可以提供总共30个外部x4端口,并且nscfg SAS从盘到scfg SAS主盘端口宽度为八。
图6是示出了根据本发明的另一个实施方式包括单个内聚SAS扩展器的系统650的简化方框图。如图6中所示的,单个内聚SAS扩展器或SAS交换机630包括SAS主盘629和多个SAS从盘621、622、......、627和628。单个内聚SAS扩展器或SAS交换机630具有与图2中所示的SAS交换机1030类似的配置。如图6中所示的,SAS从盘是非自配置的(nscfg)。它们不对其自身执行配置。SAS主盘629是自配置的并且被标记为scfg。SAS主盘629对其自身和SAS从盘执行配置功能。SAS交换机630具有四个宽端口631、632、633和634。第一宽端口631包括耦接到第一发起设备HBA 601的八个SAS链路。第二宽端口632包括耦接到第二发起设备HBA 602的八个SAS链路。第三宽端口433包括耦接到第一目标SAS设备JBOD 608的八个SAS链路。第四宽端口434包括耦接到第二目标SAS设备JBOD 609的八个SAS链路。在图6中,附图标记x1指示一个SAS链路,并且附图标记xN指示N个SAS链路,其中N是整数。
在一个实施方式中,图6中的SAS交换机630使用八个PMC Sierra的SXP36x12G扩展器作为nscfg SAS从盘以及一个PMC Sierra的SXP48x12G扩展器作为scfg SAS主盘来实现。来自8个nscfg扩展器中的每一个的PHY被组合在一起成为八链路宽端口。使用以上扩展器设备,可以提供总共30个外部x8端口,并且nscfg SAS从盘到scfg SAS主盘端口宽度为六即N=6。
图7是用于从根据本发明的一个实施方式的多个扩展器形成单个内聚SAS扩展器的流程图700。如702处所示的,识别主盘SAS扩展器和多个从盘SAS扩展器。每个扩展器具有不同的SAS地址。系统类型的扩展器可以用作SAS主盘或SAS从盘。可替换地,不同类型的扩展器可以用作SAS主盘例如取决于每个扩展器的可用链路和SAS交换机的内部拓扑。在704处,每个从盘SAS扩展器通过至少一个内部链路连接到主盘SAS扩展器,并且在任意两个从盘SAS扩展器之间不形成直接连接。在图2中的交换机中显示了该连接的一个实例,其中,内部链路被显示为1020-1023。该方法还包括在706处形成至少一个宽端口,以用于通过将第一个从盘SAS扩展器上的至少一个PHY与一个不同从盘SAS扩展器上的至少一个PHY连接来连接到外部设备。例如在图2中,宽端口1031包括来自SAS主盘1000-1003的链路1010=1013。此外,在708处,多个从盘扩展器被配置为根据由主盘SAS扩展器建立的路由表路由SAS流量。在一些实施方式中,该方法还包括配置从盘SAS扩展器以使得由SAS从盘发送到外部SAS设备的IDENTIFY地址帧包括被设置为从盘SAS扩展器的SAS地址的SAS ADDRESS字段以及被设置为PHY标识符的PHY IDENTIFIER字段,PHY标识符是在单个内聚SAS扩展器中唯一索引的。因此,方法700允许将多个SAS扩展器分组在一起以提供用于高端口计数SAS扩展器的技术方案,同时保持简单集成外部管理接口和与单个内聚SAS扩展器类似的交换性能。
图8是根据本发明的一个实施方式用于在包括SAS主盘和多个SAS从盘的单个内聚SAS扩展器中创建失效备援SAS路径的流程图800。以下参考图3中的存储器系统来描述图8中的方法800。该方法包括,在804处,具有失效SAS链路(链路314)的SAS从盘321例如经由BROADCAST(改变)基元,报告PHY状态改变事件给SAS主盘325(扩展器scfg)。在804处,SAS主盘325然后利用具有失效SAS链路的SAS从盘321执行发现并且检测失效外部SAS链路314。在806处,SAS主盘利用其它SAS从盘执行进一步的发现一找出替换SAS从盘例如可以路由受失效外部SAS链路所影响的SAS流量的SAS从盘322(扩展器nscfg B)。在808处,在识别替换SAS扩展器之后,SAS主盘配置本地路由项目,以路由受影响SAS流量到替换SAS从盘。
本发明的各种实施方式可以在软件或固件或其组合中用逻辑形式来实现。该逻辑可以存储在计算可读的或机器可读的存储介质中作为指令集,该指令集配置为指导计算机系统的处理器执行本发明的实施方式中公开的步骤集合。该逻辑可以形成被配置为指导信息处理设备执行本发明的实施方式中公开的步骤集合的计算机程序产品的一部分。基于本文提供的公开和教导,本领域的普通技术人员将明白实现本发明的其他方式。
要理解本文描述的实例和实施方式仅仅用于说明的目的并且基于其的各种实施方式或改变将被本领域的熟练技术人员想到并且包括在该申请的精神和范围以及所附权利要求的范围中。

Claims (11)

1.一种串行附接小型计算机系统接口SAS交换机,包括:
主盘SAS扩展器;
连接至所述主盘SAS扩展器的多个从盘SAS扩展器,所述多个从盘SAS扩展器中的每个具有不同的SAS地址并且没有直接连接至其它从盘SAS扩展器,每个从盘SAS扩展器由主盘SAS扩展器来配置;
具有第一多个SAS链路的第一SAS宽端口,第一多个SAS链路中的每个与所述多个从盘SAS扩展器中的不同的一个从盘SAS扩展器关联;和
具有第二多个SAS链路的第二SAS宽端口,第二多个SAS链路中的每个与所述多个从盘SAS扩展器中的不同的一个从盘SAS扩展器关联,其中,所述多个从盘SAS扩展器配置为根据由所述主盘SAS扩展器建立的路由表对SAS流量进行路由,所述主盘SAS扩展器没有直接连接至所述第一SAS宽端口或所述第二SAS宽端口中的任一个,
其中,在SAS链路识别序列中,所述多个从盘SAS扩展器配置为发送IDENTIFY地址帧,所述IDENTIFY地址帧包括主盘SAS扩展器的SAS地址和在SAS交换机内全局索引的多个PHY标识符。
2.根据权利要求1所述的SAS交换机,其中,所述主盘SAS扩展器和所述多个从盘SAS扩展器配置为作为具有统一SAS地址的单个凝聚SAS扩展器来操作和响应,其中所述第一SAS宽端口和所述第二SAS宽端口配置为连接至外部SAS设备。
3.根据权利要求1所述的SAS交换机,其中,所述主盘SAS扩展器配置为:
检测与所述多个SAS链路中的第一个SAS链路的失效;和
对发往所述多个SAS链路中的所检测第一个SAS链路的SAS流量进行重新路由。
4.根据权利要求1所述的SAS交换机,其中,第一SAS宽端口中的第一个多个SAS链路中的每个SAS链路和第二SAS宽端口中的第二多个SAS链路中的每个SAS链路被配置为具有不同的非重叠外部PHY标识符。
5.根据权利要求1所述的SAS交换机,其中,所述多个从盘SAS扩展器中的每个从盘SAS扩展器使用从盘SAS扩展器的SAS地址和本地PHY标识符与所述主盘SAS扩展器进行通信。
6.根据权利要求1所述的SAS交换机,还包括第三SAS宽端口和第四SAS宽端口,在每个宽端口中的每个链路与所述多个从盘SAS扩展器中的不同的一个从盘SAS扩展器关联,其中,所述第三SAS宽端口配置为将所述SAS交换机连接至第三外部SAS设备,而第四SAS宽端口配置为将所述SAS交换机连接至第四外部SAS设备。
7.根据权利要求1所述的SAS交换机,其中,每个从盘SAS扩展器配置为:
在外部SAS设备之间路由SAS流量;并且
向并且从所述主盘SAS扩展器路由SAS管理流量。
8.一种形成单个凝聚串行附接小型计算机系统接口SAS扩展器的方法,所述方法包括:
分配SAS扩展器作为主盘SAS扩展器;
分配多个SAS扩展器以作为多个从盘SAS扩展器,所述主盘SAS扩展器和所述多个从盘SAS扩展器中的每个SAS扩展器具有不同的SAS地址;
将每个从盘SAS扩展器通过至少一个内部SAS链路连接至所述主盘SAS扩展器;
禁止所述多个从盘SAS扩展器之间的直接连接;
形成具有第一多个SAS链路的第一SAS宽端口,所述第一多个SAS链路中的每个SAS链路与所述多个从盘SAS扩展器中的不同的一个从盘SAS扩展器关联;
形成具有第二多个SAS链路的第二SAS宽端口,所述第二多个SAS链路中的每个SAS链路与所述多个从盘SAS扩展器中的不同的一个从盘SAS扩展器关联;
配置所述多个从盘SAS扩展器根据由所述主盘SAS扩展器建立的路由表对SAS流量进行路由;并且
对从盘SAS扩展器进行配置,使得由从盘SAS扩展器发送至外部SAS设备的IDENTIFY地址帧包括设置为所述主盘SAS扩展器的SAS地址的SAS ADDRESS字段和设置为在单个凝聚SAS扩展器内被唯一索引的PHY标识符的PHY IDENTIFIER字段。
9.根据权利要求8所述的方法,还包括:
禁止所述主盘SAS扩展器和宽端口之间的直接连接。
10.根据权利要求8所述的方法,还包括:
对从盘SAS扩展器进行配置,使得经由外部SAS宽端口路由两个外部SAS设备之间的SAS流量。
11.根据权利要求8所述的方法,其中,所述主盘SAS扩展器配置为:
检测与所述多个SAS链路中的第一个SAS链路的失效;和
对发往所述多个SAS链路中的所检测第一个SAS链路的SAS流量进行重新路由。
CN201510014436.0A 2014-12-30 2014-12-30 用于对多个sas扩展器进行分组以形成单个内聚sas扩展器的方法和装置 Active CN105808158B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510014436.0A CN105808158B (zh) 2014-12-30 2014-12-30 用于对多个sas扩展器进行分组以形成单个内聚sas扩展器的方法和装置
US14/846,265 US9921990B2 (en) 2014-12-30 2015-09-04 Method and apparatus for grouping multiple SAS expanders to form a single cohesive SAS expander
US15/893,871 US10235319B2 (en) 2014-12-30 2018-02-12 Method and apparatus for grouping multiple SAS expanders to form a single cohesive SAS expander

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510014436.0A CN105808158B (zh) 2014-12-30 2014-12-30 用于对多个sas扩展器进行分组以形成单个内聚sas扩展器的方法和装置

Publications (2)

Publication Number Publication Date
CN105808158A CN105808158A (zh) 2016-07-27
CN105808158B true CN105808158B (zh) 2020-03-24

Family

ID=56164331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510014436.0A Active CN105808158B (zh) 2014-12-30 2014-12-30 用于对多个sas扩展器进行分组以形成单个内聚sas扩展器的方法和装置

Country Status (2)

Country Link
US (2) US9921990B2 (zh)
CN (1) CN105808158B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI620074B (zh) * 2016-07-12 2018-04-01 緯創資通股份有限公司 伺服器系統及儲存單元的控制方法
US20180165031A1 (en) * 2016-12-09 2018-06-14 Hewlett Packard Enterprise Development Lp Port modes for storage drives
CN113965968B (zh) * 2017-01-16 2024-03-19 瑞典爱立信有限公司 用于无线通信系统中的链路切换的方法、无线通信设备及网络节点
CN106933748A (zh) * 2017-03-17 2017-07-07 郑州云海信息技术有限公司 一种Expander的SAS地址配置方法及系统
CN107783841B (zh) * 2017-11-10 2020-07-21 苏州浪潮智能科技有限公司 一种rack服务器池化产品管理优化的方法
US12063273B2 (en) 2018-02-05 2024-08-13 Microsoft Technology Licensing, Llc. Server system
US10809926B2 (en) 2018-02-05 2020-10-20 Microsoft Technology Licensing, Llc Server system
CN108900365B (zh) * 2018-09-11 2021-04-27 北京腾凌科技有限公司 数据传输方法及装置
US10963413B2 (en) 2018-11-02 2021-03-30 Wipro Limited Method and system for transmitting data using small computer system interface (SCSI)
CN111159080B (zh) * 2019-12-31 2021-11-12 加弘科技咨询(上海)有限公司 机箱管理系统及管理方法
CN113691649B (zh) * 2021-09-09 2022-10-18 无锡众星微系统技术有限公司 一种stp sata桥的地址配置方法和装置
CN114415957B (zh) * 2022-01-20 2022-11-29 无锡众星微系统技术有限公司 一种级联expander自动配置方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668925B1 (en) * 2005-01-28 2010-02-23 Pmc-Sierra, Inc. Method and apparatus for routing in SAS using logical zones
CN101739221A (zh) * 2008-09-05 2010-06-16 Lsi公司 Sas成对减法路由
CN103793347A (zh) * 2012-10-31 2014-05-14 Lsi公司 自配置其端口的路由属性的sas扩展器的方法和结构

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124234B2 (en) * 2003-12-22 2006-10-17 Intel Corporation Managing transmissions between devices
US20070093124A1 (en) * 2005-10-20 2007-04-26 Lsi Logic Corporation Methods and structure for SAS expander optimization of SAS wide ports
US7849248B2 (en) * 2008-09-05 2010-12-07 Lsi Corporation Method and system for combining multiple serial attached small computer system interface (SAS) expanders
JP5528243B2 (ja) 2010-07-23 2014-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチパスを制御するシステム及び方法
US8560878B2 (en) * 2011-03-23 2013-10-15 Hitachi, Ltd. System and method for failure detection by a storage expander preceding an expander experiencing a failure
US9092398B2 (en) 2013-02-14 2015-07-28 Avago Technologies General Ip (Singapore) Pte Ltd Restoring expander operations in a data storage switch

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668925B1 (en) * 2005-01-28 2010-02-23 Pmc-Sierra, Inc. Method and apparatus for routing in SAS using logical zones
CN101739221A (zh) * 2008-09-05 2010-06-16 Lsi公司 Sas成对减法路由
CN103793347A (zh) * 2012-10-31 2014-05-14 Lsi公司 自配置其端口的路由属性的sas扩展器的方法和结构

Also Published As

Publication number Publication date
US20180165242A1 (en) 2018-06-14
US9921990B2 (en) 2018-03-20
US10235319B2 (en) 2019-03-19
CN105808158A (zh) 2016-07-27
US20160188515A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
CN105808158B (zh) 用于对多个sas扩展器进行分组以形成单个内聚sas扩展器的方法和装置
US8370588B2 (en) Computer system control method and computer system
US8429446B2 (en) Method and apparatus for managing virtual ports on storage systems
US20120284435A1 (en) Zone group manager virtual phy
US8825851B2 (en) Management of a virtual machine in a storage area network environment
JP5227361B2 (ja) Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム
US9250989B2 (en) Expander to control multipaths in a storage network
WO2017000639A1 (zh) 一种存储资源管理的系统及方法
JP4833381B2 (ja) ストレージ・エリア・ネットワーク、その構成方法、及びプログラム
US20130067569A1 (en) Methods and structure for managing visibility of devices in a clustered storage system
EP1779590A1 (en) Port aggregation for fibre channel interfaces
US10708140B2 (en) Automatically updating zone information in a storage area network
US8244948B2 (en) Method and system for combining multiple SAS expanders into a SAS switch
US8788753B2 (en) Systems configured for improved storage system communication for N-way interconnectivity
US8918571B2 (en) Exposing expanders in a data storage fabric
CN104965677A (zh) 存储系统
US7523176B2 (en) Method, apparatus, and computer program product for reconfiguring a storage area network to support the execution of an application automatically upon execution of the application
US8949562B2 (en) Storage system and method of controlling storage system
US20140095754A1 (en) Back-Off Retry with Priority Routing
US20160246746A1 (en) Sas configuration management
EP3750059B1 (en) Server system
US8972618B2 (en) Staged discovery in a data storage fabric
US8255737B1 (en) System and method for a redundant communication fabric in a network storage system
CN110034951A (zh) iSCSI目标器的故障切换方法及iSCSI主目标器
US9027019B2 (en) Storage drive virtualization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information

Address after: American California

Applicant after: The United States Sen Mei Storage Solutions Limited makall

Address before: American California

Applicant before: PMC WEST ASIA LUO CO., LTD.

COR Change of bibliographic data
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant