CN115462044B - 存储区域网络中的主机发起链路重置 - Google Patents

存储区域网络中的主机发起链路重置 Download PDF

Info

Publication number
CN115462044B
CN115462044B CN202180031517.5A CN202180031517A CN115462044B CN 115462044 B CN115462044 B CN 115462044B CN 202180031517 A CN202180031517 A CN 202180031517A CN 115462044 B CN115462044 B CN 115462044B
Authority
CN
China
Prior art keywords
link
san
port
buffer credit
host
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
CN202180031517.5A
Other languages
English (en)
Other versions
CN115462044A (zh
Inventor
S·R·古恩德特
P·A·卡塔拉诺
M·J·贝克特
C·J·科隆纳
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN115462044A publication Critical patent/CN115462044A/zh
Application granted granted Critical
Publication of CN115462044B publication Critical patent/CN115462044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Read Only Memory (AREA)

Abstract

实施例包括在存储区域网络(SAN)中执行主机发起的链路重置。各方面包括由与SAN通信的主机识别SAN中的每个链路,其中,每个链路由端口对定义。各方面还包括由主机获得SAN中每个端口的缓冲器信用余额,以及由主机计算SAN中每个链路的缓冲器信用不平衡。各方面进一步包括基于确定链路的缓冲器信用失衡超过阈值而引起该链路的重置。

Description

存储区域网络中的主机发起链路重置
背景技术
本发明总体上涉及存储区域网络(SAN),并且更具体地涉及SAN中的主机发起的链路重置。
在SAN的正常操作期间,包括确认的光纤信道帧可能在传输中被损坏。这种损坏可由光学故障、电缆损坏、连接松动、不在容差内的光学预算、间歇性硬件故障等引起。
当光纤信道连接的接收侧不能识别输入帧的报头中的帧开始(SOF)时,接收器不响应适当的确认。在一个示例中,发送器在发送帧时将可用缓冲器信用减一,但没有收到对应的确认。因此,就缓冲器信用而言,发送器与接收器之间的同步会出现偏差。当这种情况发生时,它将继续并且导致被感知为可用的缓冲器信用数量逐渐降低到影响性能的程序,或者甚至导致链路传输完全停止。
当前,在光纤信道标准中提供的缓冲器信用恢复机制试图防止在发送器与接收器之间的缓冲器信用同步中发生错误。该标准支持两种缓冲器信用恢复模式:1)链路重置和2)简单地导致补充信用的计算。然而,这两种缓冲器信用恢复的模式全部由网络设备(诸如交换机)执行,并且仅针对交换机端口执行。
发明内容
本发明的实施例涉及一种用于在存储区域网络(SAN)中执行主机发起的链路重置的计算机实现的方法。计算机实现的方法的非限制性示例包括由与SAN通信的主机识别SAN中的每个链路,其中每个链路由一对端口定义。该方法还包括由主机获得SAN中的每个端口的缓冲器信用余额以及由主机计算SAN中的每个链路的缓冲器信用不平衡。所述方法进一步包括:基于确定链路的所述缓冲器信用不平衡超过阈值而引起所述链路的重置。
本发明的实施例涉及一种存储区域网络(SAN)。SAN的非限制性实例包括一个或多个网络设备和多个终端设备,每个终端设备均耦合至一个或多个网络设备中的至少一个。多个终端设备中的一个是被配置为识别SAN中的每个链路的主机设备,其中,每个链路由一对端口定义。主机设备还被配置为获得SAN中的每个端口的缓冲器信用余额并计算SAN中的每个链路的缓冲器信用不平衡。所述主机设备被进一步配置为基于确定链路的所述缓冲器信用不平衡超过阈值而引起所述链路的重置。
本发明的实施例涉及一种用于在存储区域网络(SAN)中执行主机发起的链路重置的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其包含的程序指令。程序指令可由处理器执行以使处理器执行方法。该方法的非限制性实例包含由与SAN通信的主机识别SAN中的每个链路,其中每个链路由一对端口定义。该方法还包括由主机获得SAN中的每个端口的缓冲器信用余额以及由主机计算SAN中的每个链路的缓冲器信用不平衡。所述方法进一步包括:基于确定链路的所述缓冲器信用不平衡超过阈值而引起所述链路的重置。
通过本发明的技术实现了附加技术特征和优点。在本文中详细描述了本发明的实施例和方面,并且这些实施例和方面被认为是所要求保护的主题的一部分。为了更好的理解,参考详细说明和附图。
附图说明
本文所述的专有权的细节在说明书结尾处的权利要求中被特别指出和清楚地要求保护。本发明实施例的上述和其他特征和优点通过以下结合附图的详细描述是显而易见的,其中:
图1是根据本发明的实施例的计算机系统的示意图;
图2是根据本发明实施例的存储区域网络的示意图;
图3示出了根据本发明的实施方式的用于在存储区域网络中执行主机发起的链路重置的方法的流程图,以及
图4示出了根据本发明的另一个实施方式的用于在存储区域网络中执行主机发起的链路重置的方法的流程图。
本文所描绘的图是说明性的。在不背离本发明的精神的情况下,可以对这里所描述的图或操作有许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。而且,术语“耦合”及其变体描述了在两个元件之间具有通信路径,并且不暗示元件之间的直接连接,在它们之间没有介入元件/连接。所有这些变体被认为是说明书的一部分。
具体实施方式
示范性实施例包含用于执行存储区域网络(SAN)中的主机起始链路复位的方法、系统和计算机程序产品。在示范性实施例中,连接至SAN的主机设备被配置为监测在SAN中的所有端口(包括信道端口和交换机端口)上被报告为可用的缓冲器信用。主机设备进一步被配置为在确定链路的任一端上的两个端口之间的缓冲器信用不平衡超过阈值时,引起SAN中的链路重置。链路重置迫使用于链路的两个端口的缓冲器信用计数器返回至其完全默认值。
现在转到图1,总体上示出了根据实施例的计算机系统100。如本文所描述的,计算机系统100可以是包括和/或采用利用不同通信技术的任何数量和组合的计算设备和网络的电子计算机框架。计算机系统100可以是容易扩展的、可扩展的和模块化的,具有改变成不同服务或独立于其他特征来重新配置某些特征的能力。计算机系统100可以是例如服务器、台式计算机、膝上型计算机、平板计算机或智能电话。在一些示例中,计算机系统100可以是云计算节点。计算机系统100可以在由计算机系统执行的诸如程序模块之类的计算机系统可执行指令的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统100可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图1所示,计算机系统100具有一个或多个中央处理单元(CPU)101a、101b、101c等。(统称为或一般地称为(一个或多个)处理器101)。处理器101可以是单核处理器、多核处理器、计算集群或任意数量的其他配置。处理器101(也称为处理电路)经由系统总线102耦合到系统存储器103和各种其他组件。系统存储器103可包括只读存储器(ROM)104和随机存取存储器(RAM)105。ROM104耦合到系统总线102,并且可以包括控制计算机系统100的某些基本功能的基本输入/输出系统(BIOS)。RAM是耦合至系统总线102以供处理器101使用的读写存储器。系统存储器103在操作期间为所述指令的操作提供临时存储器空间。系统存储器103可包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储器系统。
计算机系统100包括耦合到系统总线102的输入/输出(I/O)适配器106和通信适配器107。I/O适配器106可以是与硬盘108和/或任何其他类似组件通信的小型计算机系统接口(SCSI)适配器。I/O适配器106和硬盘108在本文中统称为大容量存储器110。
在计算机系统100上执行的软件111可以存储在大容量存储110中。大容量存储装置110是可由处理器101读取的有形存储介质的示例,其中软件111被存储为用于由处理器101执行以使计算机系统100操作的指令,诸如下文相对于各个附图所描述的。本文中更详细地论述计算机程序产品和此指令的执行的实例。通信适配器107将系统总线102与网络112互连,网络112可以是外部网络,使得计算机系统100能够与其他这样的系统通信。在一个实施例中,系统存储器103和大容量存储110的一部分共同存储操作系统,它可以是任何适当的操作系统,例如来自IBM公司的z/OS或AIX操作系统,以协调图1中所示的不同组件的功能。
附加输入/输出设备被示为经由显示适配器115和接口适配器116连接到系统总线102。在一个实施例中,适配器106、107、115和116可以连接到经由中间总线桥(未示出)连接到系统总线102的一个或多个I/O总线。显示器119(例如,屏幕或显示监视器)通过显示适配器115连接到系统总线102,显示适配器115可以包括用于提高图形密集型应用的性能的图形控制器和视频控制器。键盘121、鼠标122、扬声器123等可通过接口适配器116与系统总线102互连,接口适配器116可包括例如将多个设备适配器集成到单个集成电路中的超级I/O芯片。用于连接诸如硬盘控制器、网络适配器和图形适配器之类的外围设备的合适的I/O总线通常包括诸如外围组件互连(PCI)之类的公共协议。因此,如图1中配置的,计算机系统100包括处理器101形式的处理能力,以及包括系统存储器103和大容量存储器110的存储能力、诸如键盘121和鼠标122的输入装置、以及包括扬声器123和显示器119的输出能力。
在一些实施例中,通信适配器107可以使用任何合适的接口或协议(诸如互联网小型计算机系统接口等)来传输数据。网络112可以是蜂窝网络、无线电网络、广域网(WAN)、局域网(LAN)或因特网等。外部计算设备可以通过网络112连接到计算机系统100。在一些示例中,外部计算设备可以是外部网络服务器或云计算节点。
应当理解,图1的框图不旨在指示计算机系统100包括图1中示出的所有组件。相反,计算机系统100可以包括图1中未示出的任何适当的更少或额外的组件(例如,额外的存储器组件、嵌入式控制器、模块、附加的网络接口等)。进一步,本文关于计算机系统100描述的实施例可用任何适当的逻辑来实现,其中在不同实施例中,如本文所提及的逻辑可以包括任何适当的硬件(例如,处理器、嵌入式控制器或专用集成电路等)、软件(例如,应用等)、固件或硬件、软件和固件的任何适当的组合。
图2是根据实施方式的存储区域网络(SAN)200的示意图。SAN200包括多个终端设备210、220,每个终端设备连接至一个或多个网络设备230,诸如交换机。网络设备230包括存储电路和处理电路(例如,包括监控电路和限制电路)。SAN200的网络拓扑可以是交换结构,其中网络设备230是交换机。在一些实施例中,特定交换机230可被设置为切换模式或N端口ID虚拟化(NPIV)模式。在示例性实施方式中,SAN设备210中的至少一个终端设备210、220被配置为主机设备210。在一个实施方式中,主机设备210体现在计算机系统中,诸如图1中所示的计算机系统。
在示例性实施方式中,网络设备230中的每一个包括通过链路225将网络设备230连接至各个终端设备210、220的多个端口。此外,每个终端设备210、220包括将终端设备连接到一个或多个网络设备230或连接到其他终端设备220的一个或多个端口。在示范性实施例中,每个链路225由连接到链路255的两个端口定义。终端设备220、210的端口被称为通道端口,而网络设备230的端口被称为交换机端口。
在示范性实施例中,网络设备230支持光纤信道(FC)和/或以太网光纤信道(FCoE)协议。例如,特定固定端口网络设备可支持FC协议和/或FCoE协议。作为另一示例,如果特定网络设备包括多个线卡,其中至少一些可支持FC协议和/或至少一些可支持FCoE协议。应注意,特定网络设备230上的特定端口可默认地或如所配置的那样支持FC协议或FCoE协议(例如,如果特定端口是通用端口)。可选地,网络设备230支持一个或多个其他协议,诸如用于收集信息的简单网络管理协议(SNMP)。用于在管理设备210上输出。
现在参考图3,示出了根据本发明的实施方式的用于在存储区域网络中执行主机发起的链路重置的方法300的流程图。如框302所示,方法300包括由与SAN通信的主机识别SAN中的每个链路。在示例性实施方式中,SAN中的每个链路由一对端口定义,该端口是通道端口和交换机端口中的一个,或者在交换机间链路的情况下,其可以是两个交换机端口。方法300还包括由主机获得SAN中的每个端口的缓冲器信用余额,如框304所示。接下来,如框306所示,方法300包括由主机计算SAN中的每个链路的缓冲器信用不平衡。在一个实施例中,通过确定所述链路的两个端口的缓冲器信用余额之间的差值来计算所述缓冲器信用不平衡。在另一实施例中,通过确定所述链路的两个端口的缓冲器信用余额之间的百分比差异来计算所述缓冲器信用不平衡。
方法300还包括确定链路的缓冲器信用不平衡是否超过阈值,如决策框308所示。如果链路的缓冲器信用不平衡超过阈值,则方法300前进到框310并且引起链路的重置。否则,方法300返回到框304。在示例性实施例中,阈值由主机设备的用户设置。在示范性实施例中,周期性地执行获得SAN中的每个端口的缓冲器信用余额。例如,在一个实施例中,主机设备被配置为每15分钟或者以由主机设备的用户设置的另一预定间隔获得SAN中的每个端口的缓冲器信用余额。
在一个实施例中,确定链路的缓冲器信用不平衡超过阈值包括确定所述端口对中的每个端口的所述缓冲器信用余额之间的差值大于预定数量。在一个示例中,由第一端口和第二端口定义的链路以及第一端口的缓冲器信用余额是8并且第一端口的缓冲器信用余额是5。如果阈值为2,则链路将被重置。然而,如果阈值是3,则链路此时将不被重置。
在另一实施例中,阈值是预定百分比,并且通过将链路的端口对的较大缓冲器信用余额除以链路的端口对的较小缓冲器信用余额并减去1来计算缓冲器信用不平衡。在一个示例中,由第一端口和第二端口定义的链路以及第一端口的缓冲器信用余额为8,第一端口的缓冲器信用余额为5,阈值为50%或0.5。在该示例中,链路的缓冲器信用不平衡被计算为(8/5)-1=.6,并且因此链路将被重置。
在示范性实施例中,一旦确定链路需要被重置,为重置链路而采取的动作取决于定义链路的端口的类型。在一个实施例中,基于确定用于链路的端口对中的至少一个是信道端口,主机设备通过向信道端口发出重置链路的命令来使链路重置。在另一实施例中,基于确定端口对都不是信道端口,主机设备通过指示与链路相关联的SAN中的网络设备执行链路的重置来使链路重置。在一个实施例中,使用控制单元协议(CUP)将指令发送至网络设备。
在示范性实施例中,SAN利用光纤信道在节点之间通信。光纤通道被配置为发送被称为帧的数据包,其包括界定帧开始(SOF)或帧结束(EOF)的帧定界符。原语信号表示发送端口上的事件,包括确认信号(R_RDY)和缓冲器到缓冲器状态改变(BB_SC)信号。BB_RDY_N变量通常用于维护所接收的R_RDY原语的计数,BB_FRM_N维护所接收的帧的计数。缓冲器到缓冲器状态改变号(BB_SC_N)反映指定BB_SCs原语信号之间的帧数和BB_SCr原语信号之间的R_RDY的数量的值。缓冲区到缓冲区状态改变-R_RDY(BB_SCr)信号被周期性地传送,以使附连端口能够确定是否有任何R_RDY丢失。缓冲器到缓冲器状态改变-SOF(BB_SCs)信号被传送以使得附连端口能够确定任何帧是否已丢失。
在示范性实施例中,BB_SC_N(缓冲器到缓冲器状态改变数)用于跟踪两个端口之间的链路的商定的缓冲器信用最大值。例如,当两个端口连接时,在登录(FLOGI或PLOGI)期间,端口执行交换链路参数(ELP)并且彼此发送携带其值的内部链路服务(ILS)帧。如果两个端口具有不同的值,则则两个端口都使用两个值中较大的一个。通常,BB_SC_N在1至15的范围内。在示范性实施例中,变量F用于指定要在BB_SCs之间发送的帧的数量以及在BB_SCr原语信号之间发送的R_RDY的数量。在一个实施例中,F被定义为2BB _ SC _ N。换言之,为了建立检查点,在每个F帧之后发送BB_SCs信号并且在每个F_R_RDY之后发送BB_SCr。在一个示例中,BB_SC_N=3,=>F=8。在该示例中,每个端口将在每8个经受缓冲到缓冲流控制的帧之后发送BB_SCs,并且每个端口将在每8个R_RDY之后发送BB_SCr。
在示范性实施例中,每个端口维护在完成登录和接收第一BB_SCs之间接收的帧数(例如BB_FRM_N)的计数。此外,每个端口还维护BB_SCs的连续出现之间的计数。当帧数的计数达到F时,它返回到零并开始。然而,如果BB_SCs到达时计数器不为零,则意味着丢失了一个或多个帧。
在示范性实施例中,每个端口维护在完成登录和接收第一BB_SCr之间所接收的R_RDY(例如BB_RDY_N)的数量的计数。每个端口还维护连续出现BB_SCr之间的计数。当R_RDY的数量的计数达到计算值F时,它返回到零并且开始。然而,如果在接收到BB_SCr时接收到的R_RDY的数量的计数不为零,则已经丢失了一个或多个R_RDY。
现在参考图4,图4描绘了根据本发明的另一个实施方式的用于在存储区域网络中执行主机发起的链路重置的方法400的流程图。如框402所示,BB_SCr或BB_SCs到达端口。接下来,如决策框404所示,确定BB_RDY_N或BB_FRM_N是否等于0。如果BB_RDY_N或BB_FRM_N等于0,那么方法400前进到方框406,且继续SAN的正常操作。然而,如果BB_RDY_N和BB_FRM_N之一不等于零,则确定丢失一个或一个以上帧或R_RDY,且方法400前进到决策框408。
如本领域普通技术人员将理解的,BB_RDY_N和BB_FRM_N是光纤通道标准中允许的计数/跟踪实现的不同实施例。在示范性实施例中,这些计数器具有零值并且不需要任何动作是正常的。然而,当这些计数器具有非零值时,它指示R_RDY原语丢失/未计数,因此在链路的接收一半上可用的缓冲器信用将不再是它们的完整/预期配置值。在示范性实施例中,阈值用于触发以确定何时执行缓冲器信用恢复。在不同实施例中,阈值触发器可以是基于端口的登录BB_Credit值的百分比、剩余0缓冲器信用、低于指定值(例如,小于5)的缓冲器信用或在配置的RMF间隔期间经由RMF(资源测量设施)74-7(FICON导向器活动报告)报告的帧起搏延迟的用户可配置值。
继续参照图4,在决策框408,确定缓冲器信用损失的阈值是否被触发。如果是,则方法400前进到决策框410。否则,方法400前进到框406并继续SAN的正常操作。在决策框410处,确定链路一个或多个端口是通道端口还是直接连接的CU端口。如果链路的一个或多个端口是通道端口或者直接连接的CU端口,则方法前进到框412并且主机设备向通道端口发布命令以执行链路重置(LR)。否则,方法进行到框414,并且主机设备发出执行LR的命令(经由FICON CUP或SMI-S)。方法400在框416处结束,此时链路上的缓冲器信用被恢复。在示范性实施例中,在LR期间,不丢弃帧,将它们保持在缓冲器中,直到LR结束,并且LR将所有涉及的计数器重置为初始值,实际上,“补充”“丢失”的缓冲器信用。
本文参考相关附图描述了本发明的各种实施例。在不脱离本发明的范围的情况下,可设计本发明的替代实施例。在以下描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有规定,否则这些连接和/或位置关系可以是直接或间接的,并且本发明在此方面意图不是限制性的。因此,实体的连接可以指直接的或间接的连接,并且实体之间的位置关系可以是直接的或间接的位置关系。此外,本文描述的各种任务和过程步骤可以并入具有本文未详细描述的附加步骤或功能的更全面的程序或过程中。
以下定义和缩写将用于解释权利要求书和说明书。如在此使用的,术语“包含(comprises)”、“包含(comprising)”、“包括(includes)”、“包括(including)”、“具有(has)”、“具有(having)”、“含有(contains)”或“含有(containing)”或其任何其他变化旨在涵盖非排他性的包括。例如,包含一系列要素的组合物、混合物、工艺、方法、物品或设备不必仅限于那些要素,而是可以包括未明确列出的或这种组合物、混合物、工艺、方法、物品或设备固有的其他要素。
此外,术语“示例性”在本文中用于表示“用作实例、示例或说明”。在本文中描述为“示例性”的任何实施方式或设计不必解释为比其他实施方式或设计优选或有利。术语“至少一个”和“一个或多个”可以被理解为包括大于或等于一的任何整数,即。一个、两个、三个、四个等。术语“多个”可以被理解为包括大于或等于二的任何整数,即。两个、三个、四个、五个等。术语“连接”可包括间接“连接”和直接“连接”。
术语“约”、“基本上”、“大致”及其变型旨在包括与基于提交申请时可用的设备的特定量的测量相关联的误差程度。例如,“约”可以包括给定值的±8%或5%、或2%的范围。
为了简洁起见,涉及制造和使用本发明的方面的常规技术可以或可以不在本文中详细描述。具体地,用于实现本文所描述的不同技术特征的计算系统和特定计算机程序的各个方面是众所周知的。因而,为了简洁起见,许多常规实施细节在本文中仅简要提到或完全省略,而不提供众所周知的系统和/或过程细节。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。本文使用的术语被选择来最好地解释实施例的原理、实际应用或优于市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文描述的实施例。

Claims (18)

1.一种用于在存储区域网络(SAN)中执行主机发起的链路重置的计算机实现的方法,所述方法包括;
由与所述SAN通信的主机识别所述SAN中的每个链路,其中每个链路由端口对定义;
由所述主机获得所述SAN中的每个端口的缓冲器信用余额;
由所述主机为所述SAN中的每个链路计算缓冲器信用不平衡;以及
基于链路的所述缓冲器信用不平衡超过阈值的确定,引起链路的重置,其中,所述阈值是预定百分比,并且通过将所述链路的所述端口对的较大缓冲器信用余额除以所述链路的所述端口对的较小缓冲器信用余额并减去1来计算所述缓冲器信用不平衡。
2.根据权利要求1所述的计算机实现的方法,其中,为所述SAN中的每个端口获得所述缓冲器信用余额是在周期性基础上执行的。
3.根据权利要求2所述的计算机实现的方法,其中,所述周期性基础的频率由所述主机的用户配置。
4.根据权利要求1所述的计算机实现的方法,其中,确定所述链路的所述缓冲器信用不平衡超过所述阈值包括确定所述端口对中的每个端口的所述缓冲器信用余额之间的差值大于预定数量。
5.根据权利要求1所述的计算机实现的方法,其中,所述阈值由所述主机的用户配置。
6.根据权利要求1所述的计算机实现的方法,进一步包括:
基于所述链路的所述缓冲器信用不平衡超过所述阈值并且所述链路的所述端口对中的至少一个是信道端口的确定,由所述主机向所述信道端口发布命令以重置所述链路。
7.根据权利要求1所述的计算机实现的方法,进一步包括:
基于所述链路的所述缓冲器信用不平衡超过所述阈值并且所述端口对都不是信道端口的确定,指示与所述链路相关联的所述SAN中的网络设备执行所述链路的重置。
8.一种存储区域网络(SAN),包括:
一个或多个网络设备;
多个终端设备,每个终端装置耦合到所述一个或多个网络装置中的至少一个,其中,所述多个终端设备中的一个是主机设备,其被配置为:
识别所述SAN中的每个链路,其中每个链路由端口对定义;
为所述SAN中的每个端口获得缓冲器信用余额;
为所述SAN中的每个链路计算缓冲器信用不平衡;以及
基于链路的所述缓冲器信用不平衡超过阈值的确定,引起链路的重置,其中,所述阈值是预定百分比,并且通过将所述链路的所述端口对的较大缓冲器信用余额除以所述链路的所述端口对的较小缓冲器信用余额并减去1来计算所述缓冲器信用不平衡。
9.根据权利要求8所述的SAN,其中,为所述SAN中的每个端口获得所述缓冲器信用余额是在周期性基础上执行的。
10.根据权利要求9所述的SAN,其中,所述周期性基础的频率由所述主机设备的用户配置。
11.根据权利要求8所述的SAN,其中,确定所述链路的所述缓冲器信用不平衡超过所述阈值包括确定所述端口对中的每个端口的所述缓冲器信用余额之间的差值大于预定数量。
12.根据权利要求8所述的SAN,其中,所述阈值由所述主机设备的用户配置。
13.根据权利要求8所述的SAN,其中,所述主机设备进一步被配置为:
基于所述链路的所述缓冲器信用不平衡超过所述阈值并且所述链路的所述端口对中的至少一个是信道端口的确定,由所述主机设备向所述信道端口发布命令以重置所述链路。
14.根据权利要求8所述的SAN,其中,所述主机设备进一步被配置为:
基于所述链路的所述缓冲器信用不平衡超过所述阈值并且所述端口对都不是信道端口的确定,指示与所述链路相关联的所述SAN中的网络设备执行所述链路的重置。
15.一种计算机可读存储介质,所述计算机可读存储介质具有随其包含的程序指令,用于在存储区域网络(SAN)中执行主机发起的链路重置,所述程序指令由处理器读取以使所述处理器:
由与所述SAN通信的主机识别所述SAN中的每个链路,其中每个链路由端口对定义;
由所述主机获得所述SAN中的每个端口的缓冲器信用余额;
由所述主机为所述SAN中的每个链路计算缓冲器信用不平衡;以及
基于链路的所述缓冲器信用不平衡超过阈值的确定,引起链路的重置,其中,所述阈值是预定百分比,并且通过将所述链路的所述端口对的较大缓冲器信用余额除以所述链路的所述端口对的较小缓冲器信用余额并减去1来计算所述缓冲器信用不平衡。
16.根据权利要求15所述的计算机可读存储介质,其中,为所述SAN中的每个端口获得所述缓冲器信用余额是在周期性基础上执行的。
17.根据权利要求16所述的计算机可读存储介质,其中,所述周期性基础的频率由所述主机的用户配置。
18.根据权利要求15所述的计算机可读存储介质,其中,确定所述链路的所述缓冲器信用不平衡超过所述阈值包括确定所述端口对中的每个端口的所述缓冲器信用余额之间的差值大于预定数量。
CN202180031517.5A 2020-04-28 2021-03-19 存储区域网络中的主机发起链路重置 Active CN115462044B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/860,306 US11190588B2 (en) 2020-04-28 2020-04-28 Host initiated link reset in a storage area network
US16/860,306 2020-04-28
PCT/CN2021/081886 WO2021218484A1 (en) 2020-04-28 2021-03-19 Host initiated link reset in a storage area network

Publications (2)

Publication Number Publication Date
CN115462044A CN115462044A (zh) 2022-12-09
CN115462044B true CN115462044B (zh) 2024-03-08

Family

ID=78223045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180031517.5A Active CN115462044B (zh) 2020-04-28 2021-03-19 存储区域网络中的主机发起链路重置

Country Status (8)

Country Link
US (1) US11190588B2 (zh)
JP (1) JP2023522842A (zh)
KR (1) KR20220147627A (zh)
CN (1) CN115462044B (zh)
AU (1) AU2021265486B2 (zh)
DE (1) DE112021002577T5 (zh)
GB (1) GB2609591A (zh)
WO (1) WO2021218484A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230078787A1 (en) * 2021-09-16 2023-03-16 International Business Machines Corporation Executing a host initiated link reset in a storage area network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725829A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 用于数据存储系统的端到端 QoS 解决方案的系统和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085846B2 (en) 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7630384B2 (en) 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US20050076113A1 (en) * 2003-09-12 2005-04-07 Finisar Corporation Network analysis sample management process
US7352701B1 (en) 2003-09-19 2008-04-01 Qlogic, Corporation Buffer to buffer credit recovery for in-line fibre channel credit extension devices
US7568026B2 (en) 2004-02-13 2009-07-28 Cisco Technology, Inc. Method and system for efficient link recovery for fibre channel over SONET/SDH transport path
CN101175077B (zh) 2007-10-26 2010-06-30 华中科技大学 光纤通道知识产权核
CN103051482B (zh) 2012-12-28 2015-09-30 中国航空工业集团公司第六三一研究所 基于fc交换机的一种端口隔离及恢复的实现方法
US9036479B2 (en) 2013-03-08 2015-05-19 Brocade Communications Systems, Inc. Mechanism to enable buffer to buffer credit recovery using link reset protocol
JP6428048B2 (ja) * 2014-08-25 2018-11-28 富士通株式会社 通信システム,異常制御装置および異常制御方法
US9385967B1 (en) * 2015-12-04 2016-07-05 International Business Machines Corporation Resource allocation for a storage area network
US10992580B2 (en) * 2018-05-07 2021-04-27 Cisco Technology, Inc. Ingress rate limiting in order to reduce or prevent egress congestion
US10986023B2 (en) * 2019-07-19 2021-04-20 Cisco Technology, Inc. Using machine learning to detect slow drain conditions in a storage area network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725829A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 用于数据存储系统的端到端 QoS 解决方案的系统和方法

Also Published As

Publication number Publication date
US11190588B2 (en) 2021-11-30
DE112021002577T5 (de) 2023-06-15
GB2609591A (en) 2023-02-08
KR20220147627A (ko) 2022-11-03
AU2021265486A1 (en) 2022-08-18
AU2021265486B2 (en) 2024-01-18
GB202217555D0 (en) 2023-01-11
US20210337024A1 (en) 2021-10-28
WO2021218484A1 (en) 2021-11-04
CN115462044A (zh) 2022-12-09
JP2023522842A (ja) 2023-06-01

Similar Documents

Publication Publication Date Title
US8825851B2 (en) Management of a virtual machine in a storage area network environment
US10579579B2 (en) Programming interface operations in a port in communication with a driver for reinitialization of storage controller elements
US10015084B2 (en) Storage area network path management
EP3668056A1 (en) Method and device for transmitting data processing request
US20180219755A1 (en) Determination of status of ports in storage area networks
US10606780B2 (en) Programming interface operations in a driver in communication with a port for reinitialization of storage controller elements
US9842016B2 (en) Multiple path error data collection in a storage management system
US11379269B2 (en) Load balancing based on utilization percentage of CPU cores
US9003027B2 (en) Discovery of storage area network devices for a virtual machine
CN115462044B (zh) 存储区域网络中的主机发起链路重置
US8761018B2 (en) Systems and methods for throttling a fabric login in a Fibre Channel adapter
US9104632B2 (en) Enhanced failover mechanism in a network virtualized environment
US11368413B2 (en) Inter-switch link identification and monitoring
US20230078787A1 (en) Executing a host initiated link reset in a storage area network
US9946819B2 (en) Simulating a large network load
US11405333B2 (en) Switched fabric network routing mode support
US20210349794A1 (en) Fencing non-responding ports in a network fabric
US11206226B1 (en) Switched fabric network routing mode selection
US11296986B2 (en) Automatically enabling credit-loss protocols
US7925758B1 (en) Fibre accelerated pipe data transport

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant