CN101902454B - 用于将多个非光纤通道设备耦合至光纤通道仲裁环路的桥设备和方法 - Google Patents
用于将多个非光纤通道设备耦合至光纤通道仲裁环路的桥设备和方法 Download PDFInfo
- Publication number
- CN101902454B CN101902454B CN201010004024.6A CN201010004024A CN101902454B CN 101902454 B CN101902454 B CN 101902454B CN 201010004024 A CN201010004024 A CN 201010004024A CN 101902454 B CN101902454 B CN 101902454B
- Authority
- CN
- China
- Prior art keywords
- bypass
- bit
- memory device
- significant bit
- bridge device
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
Abstract
关于增强的桥设备的装置和方法,该增强的桥设备用于将多个非光纤通道存储设备耦合至光纤通道仲裁环路(FC-AL)通信媒介。本发明的特征和方面提供了FC-AL增强电路(104、202...210),用于处理被寻址到与同桥设备耦合的存储设备相关联的任何目标仲裁环路物理地址(T-ALPA)的环路端口旁通(LPB)和环路端口使能(LPE)原语序列,而不管该桥设备所处理的并且与同该桥设备耦合的其他存储设备相关联的其他T-ALPA的当前的旁通/非旁通状态。
Description
背景技术
存储系统已从利用具有与主机系统的总线并行总线连接演变为高速串行通信结构和协议。相比于高成本的并行总线结构布缆,串行通信结构和协议有利地提供与较低成本布缆和较长距离布缆限制相结合的高速度,同时进一步提供改进的抗噪性。特别地,利用光纤光通信媒介的光纤通道(fibre channel)媒介和协议已被普遍使用一段时间了。该光纤光通信媒介相比于任何电气耦合(并行或串行),提供了高速度和极大的抗噪性。光纤通道标准对于本领域的普通技术人员是公知的,并且关于光纤通道架构的多种方面的文档标准可容易地在诸如www.t11.org的网站获得。
在高性能存储区域网络中,串行附连SCSI(SAS)和串行高级技术附连(SATA)通信协议作为用于将计算系统耦合至存储设备的优选媒介和协议而在很大程度上取代光纤通道。SAS和SATA提供了对较旧的光纤通道技术的基本上较低成本的替选方案,同时保持相似的性能水平。因此相比于光纤通道存储设备,SAS和SATA存储设备目前是更普遍的和更成本有效的。
在某些其中较旧的、传统的存储网络利用光纤通道作为用于高性能存储网络的优选耦合的存储应用中,用户可能极大地投资于主机总线适配器和其他相关存储网络设备,其用于将主机系统耦合至光纤通道存储网络。尽管SAS和SATA存储设备是相对廉价的,但是在该传统环境中难于论证仅出于较低成本的存储设备的节约目的替换整个光纤通道通信基础设施(即,主机总线适配器、光纤布缆、光纤通道网络设备等)的代价是值得的。因此某些现有技术的开发方案已提供用于将SAS和SATA存储设备耦合至光纤通道网络的桥设备。
在光纤通道连接中,一种普遍的结构/拓扑被称为光纤通道仲裁环路(FC-AL)。在该拓扑中,所有设备耦合在环形或环路配置中,由此信息从一个设备传递到另一设备直至由业务(transaction)所特别寻址的设备接收到业务并且对其进行处理。典型地,在该拓扑中,在该仲裁环路上,光纤通道(FC)主机被指配静态预留地址(典型地,零地址)。该FC主机用作系统代理,以利用环路端口使能(LPE)和环路端口旁通(LPB)FC原语序列(primitivesequences)来使能或旁通单独的设备。环路拓扑中已被旁通的设备不参与在该环路拓扑上交换的业务。相反地,这种被旁通的设备尽管在物理上驻留在环路拓扑中,但是在逻辑上不起作用并且忽略大部分光纤通道业务。
在典型的FC-AL拓扑中,环路上的每个设备代表单个目标仲裁环路物理地址(T-ALPA)。使用LPE或LPB FC原语序列的环路端口的使能(将设备设定为非旁通状态)或旁通,将与原语序列中的T-ALPA地址对应的单个设备使能或旁通。出于成本效率和简单的目的,现今的允许将SAS或SATA存储设备耦合至现有的FC-AL拓扑的桥设备利用环路拓扑中的单个T-ALPA,而不管与桥设备耦合的物理SAS或SATA存储设备的数目。利用其他的较高层的寻址机制来通过桥设备但是在LPE/LPB FC原语序列的最低层上选择特定SAS或SATA设备,与具有单个T-ALPA的桥设备耦合的所有设备将被使能或旁通。
为了允许单独地使能或旁通与桥耦合的每个单独的存储设备,某些现有技术解决方案已提供了软件/固件功能,其被编程为在该桥设备中的处理器上执行,以接收环路端口使能和环路端口旁通原语序列,并尝试通过较复杂的软件分析使能和旁通与该桥耦合的单独设备的存储设备。然而,根据FC规范,在该最低层处交换的FC原语序列(也被称为“有序集”)快速连续地(in rapid succession)重复(例如,FC-AL规范要求在接收方对接收的原语序列采取行动之前发送至少三个相继的LPB/LPE原语序列)。该软件/固件解决方案通常不具有用于根据FC-AL规范充分处理并且响应快速连续地接收的旁通原语序列所需的性能。因此,现有技术的软件解决方案不能全面遵照FC-AL规范。应用于目前的桥设备的多种测试和实际应用情形未能遵照FC-AL规范,其中例如,桥设备尝试使用软件/固件处理环路端口旁通/使能序列,但是未能以足够性能进行该操作。
作为示例,在一个示例性的现有技术的软件/固件实现的桥解决方案中,桥的FC电路检测LPB原语序列的接收,并且引发桥设备的通用处理器的中断以分析和处理所接收的LPB原语序列。在该处理器正在分析和处理接收的原语序列的同时,桥设备的FC电路迫使FC-AL媒介上的“填充”字指示空闲周期,同时该桥设备处理接收的原语序列。在一个示例性测试中,在向处于测试下的FC-AL设备发送LPB原语序列之后,立刻发送对刚被旁通的同一设备寻址的原语序列。例如,可在LPB原语序列之后立刻发送OPEN原语序列。根据FC-AL标准,该设备应处理LPB和OPEN两者,由此FC主机将接收如未被寻址设备处理的、自FC-AL拓扑返回的OPEN原语序列(因为该设备被成功旁通)。如果当前的桥设备的软件/固件中断处理不能以足够及时的方式处理LPB用以及时更新其环路端口状态机(LPSM)以接收和转发该OPEN原语序列(如果该设备被适当旁通则可以),则该桥设备可能不能适当地处理该OPEN原语序列并且因此可能生成明显的错误条件。尽管该测试情形在实践中可能是极端的和罕见的,但是其在FC-AL架构的规范内。因此,在目前的FC至SAS/SATA桥设备中不存在用于允许与该桥设备耦合的单独SAS/SATA设备使能或旁通的有用功能。
因此,存在的挑战是,增强通过桥设备与FC-AL通信媒介耦合的多个非FC存储设备中的每个设备的使能和旁通的灵活性。
发明内容
本发明通过提供关于桥设备的装置和方法,用于使多个存储设备与FC-AL环路以将该多个存储设备中的单独的存储设备置于旁通或非旁通状态而不管通过该桥设备与该FC-AL环路耦合的其他存储设备的状态的方式耦合,由此解决上述和其他问题,从而推进了现有技术。
在本发明的一个方面,提供了一种光纤通道桥设备。该桥设备包括用于与光纤通道仲裁环路(FC-AL)耦合的光纤通道接口电路。该接口适于响应多个目标仲裁环路物理地址(T-ALPA)。该桥设备还包括后端接口电路,其适于与多个存储设备耦合。该多个存储设备不是FC-AL存储设备。该桥设备进一步包括旁通控制逻辑电路,其与该光纤通道接口电路耦合并与该后端接口电路耦合。该旁通控制逻辑电路适于对该多个存储设备中的每个存储设备映射该多个T-ALPA之一。该旁通控制逻辑电路进一步适于处理关于该多个T-ALPA中的每个T-ALPA的环路端口使能(LPE)和环路端口旁通(LPB)光纤通道原语序列,以便于将该多个存储设备中的单独的存储设备旁通和使能而不管该多个存储设备中的其他存储设备的状态。
本发明的另一方面提供了一种可在光纤通道仲裁环路(FC-AL)桥设备的FC-AL接口电路中操作的方法,该FC-AL桥设备适于将多个非FC-AL存储设备耦合至FC-AL通信媒介。该方法包括:响应于该桥设备接收到自该FC-AL通信媒介接收的、标识特定存储设备的环路端口使能(LPE)原语序列,将与该桥设备耦合的该特定存储设备置于非旁通状态。使该特定存储设备进入非旁通状态而不管与该桥设备耦合的其他存储设备的旁通/非旁通状态。该方法还包括:响应于该桥设备接收到自该FC-AL通信媒介接收的、标识特定存储设备的环路端口旁通(LPB)原语序列,将与该桥设备耦合的该特定存储设备置于旁通状态。使该特定存储设备进入旁通状态而不管与该桥设备耦合的其他存储设备的旁通/非旁通状态。
本发明的另一方面提供了一种用于将多个串行附连SCSI(SAS)存储设备和/或串行高级技术附连(SATA)存储设备耦合至光纤通道仲裁环路(FC-AL)通信媒介的桥设备。该桥设备包括后端接口电路,其适于与多个SAS/SATA存储设备耦合。该桥设备还包括光纤通道接口电路,其与该后端接口耦合并且适于与该FC-AL通信媒介耦合。该光纤通道接口电路包括适于实现光纤通道协议的FC0、FC1、FC2、SCSI-FCP和FC-AL层的逻辑电路。该FC-AL层逻辑电路包括旁通控制逻辑电路,其适于将多个目标仲裁环路物理地址(T-ALPA)映射到该多个存储设备中的对应的存储设备。该旁通控制逻辑电路进一步适于处理关于该多个T-ALPA中的每个T-ALPA的环路端口使能(LPE)和环路端口旁通(LPB)光纤通道原语序列,以便于使该多个存储设备中的单独的存储设备旁通和使能而不管该多个存储设备中的其他存储设备的状态。
附图说明
图1是包括用于将多个存储设备耦合至FC-AL环路的根据本发明的特征和方面的增强的桥设备的示例性实施例的系统的框图。
图2是提供根据本发明的特征和方面的图1的旁通控制逻辑电路的示例性功能细节的框图。
图3是包括用于将多个存储设备耦合至FC-AL环路的根据本发明的特征和方面的增强的桥设备的示例性实施例的另一系统的框图。
图4是根据本发明的特征和方面的与FC-AL层逻辑电路集成的示例性旁通控制逻辑电路的框图。
图5~8是描述用于操作根据本发明的特征和方面的增强的桥设备以将多个存储设备耦合至FC-AL环路的示例性方法的流程图。
具体实施方式
图1是根据本发明的特征和方面增强以包括旁通控制逻辑电路104的桥设备电路100的框图。如上文提及的,在将多个存储设备耦合至FC-AL环路时,现有技术不允许与桥耦合的单独设备被独立地旁通,或者唯一依赖于桥设备中实现的软件处理环路端口状态机(LPSM)旁通逻辑。相反地,旁通控制逻辑电路104提供用于处理关于通过桥设备电路100与FC-AL环路150耦合的存储设备110.1~110.n中的每个存储设备的环路端口旁通特征和原语序列的定制逻辑电路。
旁通控制逻辑电路104与FC-AL接口电路102耦合,以允许旁通控制逻辑电路104的处理与大部分商用FC-AL接口电路102中的LPSM电路标准集成。在一个示例性实施例中,如下文进一步讨论的,旁通控制逻辑电路104可集成在FC-AL接口电路102内。在其他实施例中,旁通控制逻辑电路104可被实现为与FC-AL接口电路102分立的部件,但是也可能需要它们之间接口信号的紧密耦合以允许旁通控制逻辑电路功能逻辑集成在增强的桥设备电路100的LPSM处理的逻辑集成之内。
尽管本发明的旁通控制特征被实现为定制逻辑电路(104),但是增强的桥设备100仍可包括用于控制桥设备电路100的整体配置和管理的处理器和存储器108。后端接口电路106提供到非光纤通道存储设备110.1~110.n的所需接口。在一个示例性实施例中,后端接口电路106可提供用于将串行附连SCSI(SAS)和/或串行高级技术附连(SATA)存储设备耦合至增强的桥设备电路100的SAS/SATA接口逻辑。
如下文进一步详细讨论的,旁通控制逻辑104(与FC-AL接口逻辑102结合)允许在FC-AL环路150上旁通单独的存储设备,而不管与桥100耦合的其他存储设备的状态。换言之,增强的桥设备100响应包含FC-AL环路150上的T-ALPA的原语序列所寻址的多个T-ALPA,并且允许单独地旁通每个T-ALPA,而不管桥设备100所管理的所有其他T-ALPA的旁通/非旁通状态。
图2是提供图1的旁通控制逻辑电路104执行的功能的示例性额外细节的框图。旁通控制逻辑电路104包括用于自FC-AL通信媒介接收环路端口旁通(LPB)和环路端口使能(LPE)原语序列(与接收和处理FC-AL原语序列的LPSM 200并行地接收)的FC原语序列旁通/使能处理功能204。换言之,LPSM 200根据标准的光纤通道仲裁环路处理技术处理光纤通道原语序列,但是通过合并有元件204的功能而合并有关于环路端口旁通和环路端口使能的增强处理。
如上文提及的,LPSM 200(通常在光纤通道接口电路中实现)可与旁通控制逻辑电路104紧密耦合。如下文进一步详细讨论的,该FC-AL接口电路和该旁通控制逻辑电路可根据公知的设计选择集成为单个专用集成电路或定制设计的电路。旁通控制逻辑电路104包括历史比特202(例如,根据光纤通道标准规范典型地集成在LPSM200中并且由LPSM 200利用的BYPASS(旁通)和PARTICIPATED(参与)历史比特)。由LPSM 200利用的该BYPASS和PARTICIPATED历史比特可根据FC-AL规范提供的LPSM标准处理特征设置和重置,但是通过利用旁通控制逻辑电路104的有效比特向量208和旁通比特向量210来增强。在一个示例性实施例中,有效比特向量208和旁通比特向量210每一均包括比特阵列,其中每个比特对应于多个目标仲裁环路物理地址(T-ALPA)之一。
映射元件206提供将特定T-ALPA映射到有效比特向量208中的对应比特和映射到旁通比特向量210中的对应比特的功能,以在结合LPSM 200处理环路端口旁通和环路端口使能原语序列时标识适当的比特。在一个示例性实施例中,T-ALPA到有效比特向量208或旁通比特向量210中的对应比特的映射提供了简单地利用T-ALPA值作为到每个比特向量的索引。本领域的普通技术人员将容易地认识到,用于将多个T-ALPA中的每个T-ALPA映射到指示该T-ALPA目前是否有效(即,是否与对应的存储设备相关联)和该对应的T-ALPA目前是否处于旁通状态的对应信息的许多其他数据结构和映射技术。
可利用旁通控制逻辑电路104中的任何适当的存储器结构实现有效比特向量208和旁通比特向量210。例如,可利用简单的寄存器构造来表示与旁通控制逻辑电路104所处理的127个可能的T-ALPA中的每个T-ALPA对应的存储比特。其他适当的存储器结构可包括多种类型的随机存取存储器(RAM),包括例如,DRAM、静态RAM、视频RAM(video RAM)、非易失性RAM、SDRAM等。FC原语序列旁通/使能处理元件204和T-ALPA映射元件206所提供的任何所需映射处理可被实现为定制的专用集成电路,其提供如下文进一步描述的所需逻辑功能。
图3是提供用于将多个非光纤通道存储设备110.1~110.n耦合至FC-AL环路通信媒介150的增强的桥设备电路300的另一示例性实施例的框图。如同上面就图1所述的,图3的增强的桥设备电路300可合并有处理器和存储器108以及后端接口电路106(例如,SAS/SATA接口电路)。增强的桥设备电路300还可包括根据本发明的特征和方面增强的光纤通道接口电路302,以合并旁通控制逻辑电路104。特别地,光纤通道接口电路302可包括用于实现包括FC2/SCSI-FCP(304)、FC1(308)和FC0(310)的光纤通道层的逻辑电路,以及可合并有旁通控制逻辑电路104的FC-AL逻辑电路(306)。
图4是提供如上文关于图3提及的FC-AL层逻辑电路306的示例性额外细节的框图。FC-AL层逻辑电路306可合并有如上文讨论的旁通控制逻辑。FC-AL层逻辑电路306分别与较低级的FC1和FC0层电路308和310耦合,并且与FC2层电路304耦合。如图4中所示的,FC2层电路304可包括SCSI-FCP层协议。尽管该层实际上可被实现为分立的和不同的逻辑部件,但是出于简化此处讨论的目的,它们被示为单个的较高层逻辑元件。因此,如此处使用的,“FC2”(元件304)表示FC2层逻辑、SCSI-FCP层逻辑以及任何其他较高层的光纤通道协议和应用电路及处理。自较低级FC1和FC0层电路308和310接收的光纤通道数据被施加到通过FC-AL层逻辑电路306去往FC2层电路304的路径420。在该处理过程中,有序集(ordered set)解码逻辑408监视或探查施加到路径420的光纤通道接收的数据以寻找将由FC-AL层逻辑电路306处理的相关有序集(光纤通道仲裁环路原语序列)。如本领域的普通技术人员公知的,仅特定的有序集(原语序列)与环路端口状态机(图4的LPSM处理电路400)中的本发明的增强特征和方面相关。特别地,对于本发明的增强特征和方面,例如,环路端口旁通(LPB)、环路端口使能(LPE)和环路初始化协议(LIP)原语序列以及开放(OPN)原语对于FC-AL电路400中的LPSM处理是受关注的。本领域的普通技术人员将认识到LPSM根据FC-AL标准处理的多种其他原语序列。
当有序集解码408检测到该相关原语序列时,T-ALPA解码逻辑电路406对接收的有序集中的T-ALPA地址解码以确定T-ALPA值,该T-ALPA值将用作与该增强的桥电路所管理的多个T-ALPA关联的状态处理中的索引。解码的T-ALPA随后可被施加到FC-ALLPSM电路400以及设备状态和历史比特参数402,用作到用于存储关于该增强的桥设备所管理的多个T-ALPA中的每个T-ALPA的信息的多种状态表或映射(例如,比特向量)中的索引。设备状态和历史比特参数402表示用于从有效和旁通映射404(例如,比特向量)获取(retrieve)适当的有效和旁通信息的电路。例如,解码的T-ALPA索引值可用于选择指示是否该T-ALPA目前已知是有效的(即,目前与一个非FC存储设备相关联)以及如果该特定T-ALPA有效则其目前是否处于旁通状态的信息的适当比特。表示解码的T-ALPA地址索引的目前状态的该有效和旁通比特随后被施加到FC-AL LPSM 400用于进一步处理。此外,历史比特参数402中的设备状态可利用自映射404获取的有效和旁通信息来调节(例如,适当地设置或清除)FC-AL LPSM 400的LPSM 410中维护的多种历史比特。用于存储LPSM历史比特的实际物理位置是设计选择的问题,其可在用于FC-AL LPSM 400的电路中实现,或者可存储在LPSM电路外部诸如存储在历史比特参数402中的设备状态内,并且使得对于LPSM 400电路是可用的。基于旁通控制逻辑与标准LPSM电路的所需的集成水平,该设计选择对于本领域的普通技术人员将是显而易见的。
利用LPSM历史比特410,FC-AL LPSM 400确定REPEAT(重复)历史比特的目前状态,并且将其施加到多路复用器412(标为“A”),以从两个源之一选择要施加到光纤通道发送数据路径430的数据。多路复用器412接收来自光纤通道接收数据路径420的第一输入,并且经由路径432接收来自较高级的FC2层电路304的第二数据。选择逻辑(“A”)表示REPEAT历史比特的计算,该REPEAT历史比特指示在接收数据信号路径420上接收的光纤通道传输将被重复并且施加到光纤通道发送路径430。如果REPEAT历史比特目前未设置,则作为对多路复用器412的输入的施加到路径432的来自FC2层电路304的传输随后被施加到光纤通道发送路径430,用于施加到较低级的FC1(308)和FC0(310)层。因此,元件402所确定的设备状态和历史比特用于控制FC-AL LPSM。然而,与其中LPSM仅处理单个T-ALPA的现有技术或者依赖于软件控制旁通逻辑的用于桥设备的其他现有技术相反,具有旁通控制的增强FC-AL电路306利用逻辑电路400~412在单个桥设备的控制下实现关于多个T-ALPA的必要的旁通逻辑。
特别地,由该增强FC-AL层电路(306)处理的多个T-ALPA中的每个T-ALPA可以基于对应于每个T-ALPA的有效比特和旁通比特处于如下四个状态之一:
有效比特 | 旁通比特 | 重复状态!有效或旁通 | 描述 |
0 | 0 | 1 | 未参与。环路上对应的T-ALPA未参与,并且不响应任何接收的原语序列或针对其的发送请求。 |
1 | 0 | 0 | 参与。环路上对应的T-ALPA被使能,并且响应所有接收的原语序列和针对其的“帧发送”请求。 |
1 | 1 | 1 | 参与旁通。对应的T-ALPA处于逻辑旁通模式,并且仅响应所接收的针对其的LPEyx或者LPEfx。使用该T-ALPA的任何发送请求被忽略。如果接收到LIP并且所有有效T-ALPA处于旁通状态,则LPSM忽略该LIP。 |
0 | 1 | 1 | 未参与旁通。环路上对应的T-ALPA未参与,并且不响应所有接收的原语序列或针对其的发送请求。 |
除了由关于每个T-ALPA的有效和旁通比特表示的状态之外,根据本发明的特征和方面的增强还控制LPSM所使用的多种历史比特,以控制FC-AL层电路的旁通逻辑。具体地,在一个示例性实施例中,如FC-AL LPSM所标准规定的LPSM的BYPASS、PARTICIPATE、REPEAT和REPLICATE(复制)历史比特可被确定如下:
历史比特 | 描述 |
BYPASS | 当接收到被寻址到有效T-ALPA的LPB并且所有其他T-ALPA已处于逻辑旁通状态时,设置该历史比特。当:a.接收到被寻址到目前处于逻辑旁通状态的有效T-ALPA的LPE时,或者b.请求初始化并且LPSM变换到初始化状态(如FC-AL标准中所规定的)时,或者c.请求不参与并且LPSM变换到初始化状态(如FC-AL标准中所规定的)时,或者d.请求去往旧端口并且LPSM变换到旧端口状态(如FC-AL标准中所规定的)时,清除该历史比特。 |
PARTICIPATE | 当至少一个T-ALPA有效(即,如通过有效比特向量所证实的与存储设备相关联)时,设置该历史比特。确定该有效T-ALPA并且在桥设备的初始化过程中设置对应的有效比特。当:a.LPSM处于监视状态并且接收到LIP同时设置BYPASS历史比特时(如FC-AL标准中所规定的),或者b.LPSM处于监视或初始化状态并且较高层控制软件/固件请求不参与(如FC-AL标准中所规定的)时,或者c.LPSM处于初始化状态并且较高层控制软件/固件请求去往旧端口(如FC-AL标准中所规定的)时,或者d.LPSM处于初始化状态并且较高层控制软件/固件请求旁通(如FC-AL标准中所规定的)时,清除该历史比特。 |
REPEAT | !PARTICIPATE或BYPASS |
REPLICATE | 如果接收到被寻址到任何有效非旁通的T-ALPA的任何OPNyr或OPNfr,则设置该历史比特。在FC-AL-2规范中规定的所有条件下清除该历史比特。 |
而且,与桥设备的LPSM的旁通状态相关的单独的原语序列可以被处理如下:
图5是描述根据本发明的特征和方面的用于提供将多个存储设备耦合至FC-AL通信媒介的FC-AL桥设备中的增强的旁通控制电路的示例性方法的流程图。图5的方法可在例如集成有如上文讨论的FC-AL层电路的LPSM处理的定制电路中操作。
步骤500等待来自FC-AL接收数据路径的下一原语序列的接收。在接收到该原语序列时,步骤502确定接收的原语序列是否是环路端口旁通(LPB)原语序列。如果是,则步骤504将与该LPB所标识的一个或多个T-ALPA对应的一个或多个存储设备置于旁通状态,而不管与桥设备耦合的其他存储设备的状态。更具体地,通过设置旁通比特向量中的对应比特,将根据有效比特向量被标识为有效的、所接收的LPB中的任何一个或多个指定的T-ALPA置于旁通状态。然后,处理过程在步骤500中继续等待下一FC-AL原语序列的接收。
如果步骤502确定接收的原语序列不是LPB,则步骤506确定接收的原语序列是否是环路端口使能(LPE)原语序列。如果是,则步骤508将与接收的LPE中标识的一个或多个T-ALPA中对应的一个或多个存储设备置于非旁通状态,而不管与桥设备耦合的其他存储设备和对应T-ALPA的状态。更具体地,对于根据有效比特向量目前处于有效状态的接收的LPE中标识的每个T-ALPA,清除旁通比特向量中的对应的旁通比特以指示该设备未处于旁通状态。然后,处理过程在步骤500中继续等待接收下一FC-AL原语序列。
如果步骤506确定接收的原语序列不是LPE,则步骤510接着确定接收的原语序列是否是环路初始化协议(LIP)原语序列。如果是,则步骤512有条件地清除有效比特向量中的所有比特以指示有效状态(即,T-ALPA不再与任何存储设备关联直至被重新初始化)。如上文的表中提及的,LIP的处理是有条件的,即如果当前设置了旁通历史比特,则LPSM简单地忽略LIP原语序列(如在FC-AL规范中作为标准的那样)。
如果步骤510确定接收的原语序列不是LIP原语序列,则步骤514接着确定接收的原语是否是开放(OPN)原语。如果是,则步骤516有条件地处理该OPN原语。特别地,如果所标识的T-ALPA是有效的(如有效比特向量中的对应比特所指示的)并且当前未被旁通(如旁通比特向量中的对应比特所指示的),则处理该OPN。否则,忽略该OPN原语。然后,处理过程在步骤500中继续等待接收下一FC-AL原语序列。
如果步骤514确定接收的原语序列不是OPN原语,则根据FC-AL标准中规定的标准LPSM处理在步骤518中处理所有其他的原语序列。然后,处理过程在步骤500中继续等待接收下一FC-AL原语序列。
因此图5的示例性方法基于关于该增强的桥设备所处理的多个T-ALPA的有效比特向量和旁通比特向量中的信息,处理FC-AL原语序列(特别地,LPB和LPE原语序列)。而且,图5的示例性方法保持/更新有效映射和旁通映射(例如,有效比特向量和旁通比特向量)中的信息,以控制LPSM的处理和更新与该增强的桥设备所管理的T-ALPA相应的多个存储设备中的每个存储设备的状态。此外,图5的方法基于关于该增强的桥设备所管理的多个T-ALPA中的每个T-ALPA的有效和旁通信息维护LPSM历史比特。如上文提及的,该LPSM历史比特可包括BYPASS、PARTICIPATE、REPEAT和REPLICATE历史比特。
图6是提供图5的步骤504的处理的示例性额外细节的流程图。步骤504表示处理LPB原语序列以将该LPB原语序列中标识的一个或多个T-ALPA置于旁通状态。步骤600首先确定由接收的LPB标识的任何T-ALPA是否有效。如果如有效比特向量所指示的,标识的T-ALPA均无效,则步骤504的处理完成。如果该LPB中标识的一个或多个T-ALPA有效,则步骤602设置旁通比特向量中的对应比特,以指示对应的有效T-ALPA现被旁通。
随后,步骤604确定由桥设备处理的所有有效T-ALPA当前是否处于旁通状态。该步骤检查有效和旁通比特向量以进行该确定。如果至少一个有效T-ALPA未处于旁通状态,则步骤504的处理完成。如果所有有效T-ALPA当前都处于旁通状态,则步骤606设置BYPASS历史比特以迫使FC-AL LPSM逻辑电路将任何接收的FC数据的处理旁通,并且简单地将接收的数据转发到发送数据路径上。在步骤606之后,步骤504的处理完成。
图7是提供图5的步骤508的处理的示例性额外细节的流程图。步骤508表示处理LPE原语序列以将该LPE原语序列中标识的一个或多个T-ALPA置于非旁通状态。步骤700首先确定由接收的LPE标识的任何T-ALPA是否有效。如果如有效比特向量所指示的,标识的T-ALPA均无效,则步骤508的处理完成。如果该LPE中标识的一个或多个T-ALPA有效,则步骤702清除旁通比特向量中的对应比特,以指示对应的有效T-ALPA现在未处于旁通状态。随后,步骤704清除BYPASS历史比特,这是因为桥设备所处理的至少一个有效T-ALPA现在未处于旁通状态。清除BYPASS历史比特允许FC-AL LPSM电路分析每一接收自FC-AL环路的接收路径的数据,以确定每个接收的原语序列中的特定的、标识的T-ALPA当前是否处于旁通状态,并且因此重复FC-AL环路发送路径上的数据或者处理接收的原语序列。
图8示出了根据本发明的特征和方面的可在增强的桥设备中操作的另一示例性方法。当桥设备根据标准FC-AL协议初始化(或者重新初始化)时,所有T-ALPA被视为无效的,即,向量中的有效和旁通比特被清除。步骤800表示根据FC-AL协议的标准处理,其中FC-AL环路上的代理使T-ALPA与对于该环路已知的每个设备相关联。该增强的桥设备将通过例如诸如SAS/SATA接口标准中公知的发现过程知晓通过其后端接口耦合的所有存储设备。由于对于该桥设备(并且因此对于FC-AL环路结构)已知的每个存储设备与对应的T-ALPA相关联,因此步骤800还设置有效比特向量中的对应的有效比特,以指示该T-ALPA(并且因此其对应的存储设备)现在有效(即,参与)。
本领域的普通技术人员将认识到全面功能增强的桥设备及其关联的操作方法中的许多额外的和等效的电路和步骤。出于使讨论简单和简要的目的,此处省略了该额外的和等效的要素。而且,本领域的普通技术人员将容易地认识到可用于存储关于桥设备所处理的每个T-ALPA的有效和旁通信息的多种存储器结构。由于当前的FC-AL标准提供了任何FC-AL环路上的最大127个该T-ALPA,因此目前,所选择的存储器结构需要存储关于至多127个T-ALPA的有效和旁通信息。因此,简单的寄存器存储器结构足以提供所需的功能,但是作为设计选择,也可以使用任何适当的存储器结构。
尽管在附图和前面的描述中已示出并描述了本发明,但是该图示和描述应被视为在性质上是示例性的且是非限制性的。已示出和描述了本发明的一个实施例及其略微变化。期望保护被涵盖于本发明的精神内的所有改变和修改。本领域的技术人员将认识到在本发明的范围内的上文描述的实施例的变型。因此,本发明不限于上文讨论的特定示例和图示,而是仅由所附权利要求及其等效物限定。
Claims (17)
1.一种光纤通道桥设备,其特征在于所述桥设备包括:
光纤通道接口电路,其用于与光纤通道仲裁环路耦合,其中所述接口响应多个目标仲裁环路物理地址;
后端接口电路,其与多个存储设备耦合,其中所述多个存储设备不是光纤通道仲裁环路存储设备;和
旁通控制逻辑电路,其与所述光纤通道接口电路耦合并且与所述后端接口电路耦合,其中所述旁通控制逻辑电路对所述多个存储设备中的每个存储设备映射所述多个目标仲裁环路物理地址中的一个,并且其中所述旁通控制逻辑电路处理关于所述多个目标仲裁环路物理地址中的每个目标仲裁环路物理地址的环路端口使能和环路端口旁通光纤通道原语序列,以便于旁通和使能所述多个存储设备中的单独的存储设备而不管所述多个存储设备中的其他存储设备的状态。
2.如权利要求1所述的桥设备,
其中所述后端接口电路是串行附连小型计算机系统接口SAS接口电路,用于耦合至多个串行附连小型计算机系统接口存储设备。
3.如权利要求1所述的桥设备,
其中所述后端接口电路是串行高级技术附连接口电路,用于耦合至多个串行高级技术附连存储设备。
4.如权利要求1所述的桥设备,
其中所述旁通控制逻辑电路进一步包括:
旁通比特向量,其包括多个旁通比特,其中每个旁通比特对应于所述多个目标仲裁环路物理地址之一,并且其中所述每个旁通比特的值指示当前与对应的目标仲裁环路物理地址相关联的存储设备当前是否处于旁通状态;和
有效比特向量,其包括多个有效比特,其中每个有效比特对应于所述多个目标仲裁环路物理地址之一,并且其中所述每个有效比特的值指示当前与对应的目标仲裁环路物理地址相关联的存储设备当前是否处于参与状态。
5.如权利要求4所述的桥设备,
其中所述旁通控制逻辑电路响应于获得关于对应的存储设备的有效目标仲裁环路物理地址而设置所述有效比特向量中的有效比特。
6.如权利要求4所述的桥设备,
其中所述旁通控制逻辑电路进一步包括:
环路端口状态机电路,其基于所述旁通比特向量和所述有效比特向量处理关于所述多个目标仲裁环路物理地址中的每个目标仲裁环路物理地址的环路端口旁通和环路端口使能原语序列。
7.如权利要求6所述的桥设备,
其中所述环路端口状态机基于所述旁通比特向量和所述有效比特向量维护历史比特,所述历史比特包括旁通历史比特和参与历史比特。
8.如权利要求7所述的桥设备,
其中所述环路端口状态机:在处理关于根据所述有效比特向量被确定为有效的存储设备的环路端口旁通原语序列时,在通过所述旁通比特向量和所述有效比特向量确定所有其他存储设备都被旁通时,设置所述旁通历史比特。
9.如权利要求7所述的桥设备,
其中所述环路端口状态机:在通过所述有效比特向量确定与所述桥设备耦合的任何存储设备当前处于所述参与状态时,设置所述参与历史比特。
10.一种可在光纤通道仲裁环路桥设备的光纤通道仲裁环路接口电路中操作的方法,所述光纤通道仲裁环路桥设备将多个非光纤通道仲裁环路存储设备耦合至光纤通道仲裁环路通信媒介,所述方法包括:
响应于所述桥设备接收到自所述光纤通道仲裁环路通信媒介接收的标识特定存储设备的环路端口使能原语序列,将与所述桥设备耦合的所述特定存储设备置于非旁通状态,其中使所述特定存储设备进入非旁通状态而不管与所述桥设备耦合的其他存储设备的旁通/非旁通状态;和
响应于所述桥设备接收到自所述光纤通道仲裁环路通信媒介接收的标识特定存储设备的环路端口旁通原语序列,将与所述桥设备耦合的所述特定存储设备置于旁通状态,其中使所述特定存储设备进入旁通状态而不管与所述桥设备耦合的其他存储设备的旁通/非旁通状态。
11.如权利要求10所述的方法,进一步包括:
维护有效比特向量,其中所述有效比特向量的每个有效比特指示对应的目标仲裁环路物理地址是否已和与所述桥设备耦合的存储设备相关联;和
维护旁通比特向量,其中所述旁通比特向量的每个旁通比特指示与所述对应的目标仲裁环路物理地址相关联的所述存储设备处于旁通状态还是非旁通状态。
12.如权利要求11所述的方法,进一步包括:
基于所述旁通比特向量和所述有效比特向量维护历史比特,所述历史比特包括旁通历史比特和参与历史比特。
13.如权利要求12所述的方法,
其中维护历史比特的步骤进一步包括:
在处理关于根据所述有效比特向量被确定为有效的存储设备的环路端口旁通原语序列时,在通过所述旁通比特向量和所述有效比特向量确定所有其他存储设备处于所述旁通状态时,设置所述旁通历史比特。
14.如权利要求12所述的方法:
其中维护历史比特的步骤进一步包括:
在通过指示对应的目标仲裁环路物理地址已与存储设备相关联的所述有效比特向量中的有效比特确定与所述桥设备耦合的任何存储设备当前处于参与状态时,设置所述参与历史比特。
15.一种桥设备,其用于将多个串行附连小型计算机系统接口SAS存储设备和/或串行高级技术附连SATA存储设备耦合到光纤通道仲裁环路通信媒介,所述桥设备包括:
后端接口电路,其与多个SAS/SATA存储设备耦合;以及
光纤通道接口电路,其与所述后端接口耦合,用于与光纤通道仲裁环路通信媒介耦合,其中所述光纤通道接口电路包括用于实现光纤通道协议的FC0、FC1、FC2、小型计算机系统接口光纤通道协议(SCSI FCP)、以及光纤通道仲裁环路层的逻辑电路,光纤通道仲裁环路层逻辑电路包括:
旁通控制逻辑电路,其将多个目标仲裁环路物理地址映射到所述多个存储设备中的相应存储设备,并且其中所述旁通控制逻辑电路处理关于所述多个目标仲裁环路物理地址中的每个目标仲裁环路物理地址的环路端口使能和环路端口旁通光纤通道原语序列,以便于旁通和使能所述多个存储设备中的单独的存储设备而不管所述多个存储设备中的其他存储设备的状态。
16.如权利要求15所述的桥设备,
其中所述旁通控制逻辑电路进一步包括:
旁通比特向量,其包括多个旁通比特,其中每个旁通比特对应于所述多个目标仲裁环路物理地址之一,并且其中所述每个旁通比特的值指示当前与对应的目标仲裁环路物理地址相关联的存储设备当前是否处于旁通状态;和
有效比特向量,其包括多个有效比特,其中每个有效比特对应于所述多个目标仲裁环路物理地址之一,并且其中所述每个有效比特的值指示当前与对应的目标仲裁环路物理地址相关联的存储设备当前是否处于参与状态。
17.如权利要求16所述的桥设备,
其中所述旁通控制逻辑电路进一步包括:
可根据光纤通道标准工作的环路端口状态机;
旁通历史比特,由所述环路端口状态机使用来控制所述光纤通道仲裁环路通信媒介;以及
参与历史比特,由所述环路端口状态机使用来控制所述光纤通道仲裁环路通信媒介,
其中所述旁通控制逻辑电路在处理关于根据所述有效比特向量被确定为有效的存储设备的环路端口旁通原语序列时,在通过所述旁通比特向量和所述有效比特向量确定所有其他存储设备都处于旁通状态时,设置所述旁通历史比特,以及
其中所述旁通控制逻辑电路在通过所述有效比特向量中指示相应的目标仲裁环路物理地址已经与存储设备相关联的有效比特确定与所述桥设备耦合的任何存储设备当前处于参与状态时,设置所述参与历史比特。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/475,838 | 2009-06-01 | ||
US12/475,838 US8116330B2 (en) | 2009-06-01 | 2009-06-01 | Bridge apparatus and methods for coupling multiple non-fibre channel devices to a fibre channel arbitrated loop |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101902454A CN101902454A (zh) | 2010-12-01 |
CN101902454B true CN101902454B (zh) | 2014-10-15 |
Family
ID=42111875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010004024.6A Expired - Fee Related CN101902454B (zh) | 2009-06-01 | 2010-01-14 | 用于将多个非光纤通道设备耦合至光纤通道仲裁环路的桥设备和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8116330B2 (zh) |
EP (1) | EP2207102B1 (zh) |
JP (1) | JP4970563B2 (zh) |
KR (1) | KR101169513B1 (zh) |
CN (1) | CN101902454B (zh) |
TW (1) | TWI388989B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972614B2 (en) | 2011-12-26 | 2015-03-03 | Apple Inc. | Half-duplex SATA link with controlled idle gap insertion |
US9626318B2 (en) * | 2012-01-26 | 2017-04-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for storage protocol compliance testing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567146A (zh) * | 2003-06-30 | 2005-01-19 | 华为技术有限公司 | 存储设备的输入输出处理装置 |
CN101106427A (zh) * | 2006-07-11 | 2008-01-16 | 上海科泰信息技术有限公司 | 适用于欧洲标准数据传输的单网桥光纤接入系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978379A (en) | 1997-01-23 | 1999-11-02 | Gadzoox Networks, Inc. | Fiber channel learning bridge, learning half bridge, and protocol |
US6430645B1 (en) | 1999-06-09 | 2002-08-06 | International Business Machines Corporation | Fibre channel and SCSI address mapping for multiple initiator support |
US6895453B2 (en) | 2001-03-15 | 2005-05-17 | International Business Machines Corporation | System and method for improved handling of fiber channel remote devices |
US20020144046A1 (en) | 2001-03-30 | 2002-10-03 | Hooper William Gordon | Parallel SCSI-to-fibre channel gateway |
US7382790B2 (en) | 2002-07-02 | 2008-06-03 | Emulex Design & Manufacturing Corporation | Methods and apparatus for switching fibre channel arbitrated loop systems |
US7660316B2 (en) | 2002-07-02 | 2010-02-09 | Emulex Design & Manufacturing Corporation | Methods and apparatus for device access fairness in fibre channel arbitrated loop systems |
US7630300B2 (en) | 2002-07-02 | 2009-12-08 | Emulex Design & Manufacturing Corporation | Methods and apparatus for trunking in fibre channel arbitrated loop systems |
US7397788B2 (en) | 2002-07-02 | 2008-07-08 | Emulex Design & Manufacturing Corporation | Methods and apparatus for device zoning in fibre channel arbitrated loop systems |
US7352706B2 (en) | 2002-09-16 | 2008-04-01 | Finisar Corporation | Network analysis scalable analysis tool for multiple protocols |
US7343524B2 (en) | 2002-09-16 | 2008-03-11 | Finisar Corporation | Network analysis omniscent loop state machine |
US8289984B2 (en) * | 2003-01-13 | 2012-10-16 | Emlilex Design & Manufacturing Corporation | Allocation-unit-based virtual formatting methods and devices employing allocation-unit-based virtual formatting methods |
US7441154B2 (en) * | 2003-09-12 | 2008-10-21 | Finisar Corporation | Network analysis tool |
US7594075B2 (en) * | 2004-10-20 | 2009-09-22 | Seagate Technology Llc | Metadata for a grid based data storage system |
US7353318B2 (en) * | 2005-08-26 | 2008-04-01 | International Business Machines Corporation | Apparatus and method to assign addresses to plurality of information storage devices |
-
2009
- 2009-06-01 US US12/475,838 patent/US8116330B2/en not_active Expired - Fee Related
- 2009-12-11 TW TW098142596A patent/TWI388989B/zh not_active IP Right Cessation
- 2009-12-18 KR KR1020090126623A patent/KR101169513B1/ko not_active IP Right Cessation
-
2010
- 2010-01-05 EP EP10150147.6A patent/EP2207102B1/en not_active Not-in-force
- 2010-01-14 CN CN201010004024.6A patent/CN101902454B/zh not_active Expired - Fee Related
- 2010-02-15 JP JP2010029688A patent/JP4970563B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567146A (zh) * | 2003-06-30 | 2005-01-19 | 华为技术有限公司 | 存储设备的输入输出处理装置 |
CN101106427A (zh) * | 2006-07-11 | 2008-01-16 | 上海科泰信息技术有限公司 | 适用于欧洲标准数据传输的单网桥光纤接入系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2010277573A (ja) | 2010-12-09 |
CN101902454A (zh) | 2010-12-01 |
KR101169513B1 (ko) | 2012-07-27 |
US8116330B2 (en) | 2012-02-14 |
TW201044178A (en) | 2010-12-16 |
KR20100129673A (ko) | 2010-12-09 |
US20100303085A1 (en) | 2010-12-02 |
JP4970563B2 (ja) | 2012-07-11 |
EP2207102A1 (en) | 2010-07-14 |
TWI388989B (zh) | 2013-03-11 |
EP2207102B1 (en) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100579108C (zh) | 一种远程密钥验证的方法和主机结构适配器 | |
US6747984B1 (en) | Method and apparatus for transmitting Data | |
US6804703B1 (en) | System and method for establishing persistent reserves to nonvolatile storage in a clustered computer environment | |
US7802049B2 (en) | Links having flexible lane allocation | |
JP3783017B2 (ja) | ローカル識別子を使ったエンド・ノード区分 | |
TWI515572B (zh) | 分散式虛擬橋接器環境中暫存器存取之系統及方法 | |
US5371897A (en) | Method for requesting identification of a neighbor node in a data processing I/O system | |
US20110145452A1 (en) | Methods and apparatus for distribution of raid storage management over a sas domain | |
US6810452B1 (en) | Method and system for quarantine during bus topology configuration | |
US20130067123A1 (en) | Methods and structure for improved i/o shipping in a clustered storage system | |
US20070101016A1 (en) | Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment | |
US20050138261A1 (en) | Managing transmissions between devices | |
US8533300B2 (en) | Storage device, controller, and address management method | |
CN100585578C (zh) | 系统总线的防死锁方法、装置 | |
US20120278575A1 (en) | Method and Computer Program Product For Exchanging Message Data In A Distributed Computer System | |
CN101902454B (zh) | 用于将多个非光纤通道设备耦合至光纤通道仲裁环路的桥设备和方法 | |
US7159010B2 (en) | Network abstraction of input/output devices | |
US6081847A (en) | System and method for efficient initialization of a ring network | |
US6973511B2 (en) | System and method for dual stage persistent reservation preemption protocol | |
EP1537700A2 (en) | Protocol for accessing a local device of a remote node via infiniband | |
US20090132866A1 (en) | Storage apparatus | |
CN116566761A (zh) | Spi双主机共享仲裁系统及方法 | |
CN110838966B (zh) | 一种设备连接控制方法及装置 | |
WO2001006708A1 (fr) | Dispositif de gestion de transfert de donnees et appareil electronique | |
US20030140099A1 (en) | Method and apparatus for hard address conflict resolution for enclosures in a loop network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141015 Termination date: 20150114 |
|
EXPY | Termination of patent right or utility model |