CN101515871A - 一种sas链路状态变化抑制方法和监控实体 - Google Patents
一种sas链路状态变化抑制方法和监控实体 Download PDFInfo
- Publication number
- CN101515871A CN101515871A CNA2009100810192A CN200910081019A CN101515871A CN 101515871 A CN101515871 A CN 101515871A CN A2009100810192 A CNA2009100810192 A CN A2009100810192A CN 200910081019 A CN200910081019 A CN 200910081019A CN 101515871 A CN101515871 A CN 101515871A
- Authority
- CN
- China
- Prior art keywords
- link
- delay
- sas
- time
- state
- 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.)
- Granted
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种串行附接小型计算机系统接口(SAS)链路状态变化抑制方法,包括:A、监控实体检测到自身的SAS链路发生设定的状态变化时,确定对应所述SAS链路的当前延时时长;B、启动对应的延时;C、在延时期间,监控实体检测所述SAS链路是否再次发生设定的状态变化,如果是,则重新确定当前延时时长,并返回执行步骤B;否则,在延时超时后,发起Discovery过程。此外,本发明还公开了一种用于实现SAS链路状态变化抑制的监控实体。本发明所公开的技术方案能够避免大量频繁的Discovery过程,增加存储系统的运行性能和稳定性。
Description
技术领域
本发明涉及通信技术,尤其涉及一种SAS(串行附接SCSI(小型计算机系统接口),Serial Attached SCSI)链路状态变化抑制方法和用于实现SAS链路状态变化抑制的监控实体。
背景技术
在通信技术中,SAS域系统通常包括:扩展器设备(Expander Device)、SAS发起端(SAS initiator)和SAS设备(SAS Device,也称SAS终端)。Expander设备是一种交换设备,用于在SAS设备之间或SAS设备与SASinitiator之间进行数据通信。
实际应用中,不同的SAS域所包含的各个设备的数量可能不同,相应地就可能具有不同的拓扑结构。此外,同一个SAS域在链路状态发生变化时,也会改变原有拓扑结构,因此SAS initiator需要时常获取SAS域的拓扑信息。在目前的SAS协议中,SAS initiator获取SAS域拓扑信息的过程是通过发现(Discovery)过程来完成的。现有技术中,监控SAS链路状态变化并发起Discovery过程的实体包括SAS initiator和Expander设备。其中,SASinitiator在发现自身的SAS链路状态变化时,会通过发送SMP DISCOVER请求来发起Discovery过程;Expander设备监控到自身SAS链路状态变化时,则会通过发送Broadcast(Change)来发起Discovery过程。
图1示出了SAS协议中Expander设备发起Discovery过程的流程示意图。如图1所示,该流程包括如下步骤:
步骤101,Expander设备监控到自身SAS链路状态变化时,向SASinitiator上报Broadcast(Change)。
其中,在热插拔SAS设备,或SAS链路的同步信号发生变化等情况时,都会导致SAS的链路状态变化,而通过检测对应SAS链路phy的状态,可以判断SAS链路状态是否发生变化。SAS链路状态的变化主要包括链路状态从其它状态切换到phy ready或者spinup状态(为描述方便,本文中简称link-up状态)和链路状态从phy ready或者spinup状态切换到其它状态(为描述方便,本文中简称link-down状态)。
Broadcast(Change)是一种广播报文,用于向SAS initiator通知SAS域发生了状态变化。
步骤102,SAS initiator收到Broadcast(Change)后,首先向expander发送REPORT GENERAL(报告概要)请求。
步骤103,Expander向SAS initiator返回REPORT GENERAL响应,以通知SAS initiator自身所包含的phy(收发器的物理链路接口)数量。
步骤104,SAS initiator按照phy的ID(身份标识)顺序,依次向该Expander发送对应每个phy的SMP DISCOVER请求。
步骤105,Expander向SAS initiator返回DISCOVER响应,将每个phy的相关信息(如SAS地址、所连接设备的类型、连接设备的SAS地址和所支持的协议等)通知给SAS initiator。
之后,SAS initiator根据获取的每个phy的相关信息,得到SAS域的拓扑信息。
其中,如果SAS域中包含了多个Expander设备,SAS initiator要获取整个SAS域的拓扑,必须按照级别顺序(如宽度优先原则)遍历SAS域,获取所有Expander设备的信息。Expander设备也会对低于自身级别的Expander设备发起DISCOVER过程,并根据获取的拓扑信息建立路由表。
实际应用中,由于人为操作、链路连接不可靠、物理链路存在故障、或SAS设备和其它相关设备的固件错误或硬件故障等原因,可能会造成SAS链路状态频繁发生变化,继而会引起Discovery过程的频繁触发,而由于每次Discovery过程需要对所有phy进行请求,信息交互需消耗较长的时间,并且为了等待Discovery过程处理完成,SAS域中的I/O数据处理被阻塞。因此,Discovery过程的频繁触发会影响SAS存储系统的运行性能,并且SAS拓扑信息的振荡,也会增加存储系统运行的不稳定性。但目前的SAS协议标准中,尚没有对SAS链路状态频繁变化的抑制处理。
发明内容
有鉴于此,本发明中一方面提供一种SAS链路状态变化抑制方法,另一方面提供一种用于实现SAS链路状态变化抑制的监控实体,以避免大量频繁的Discovery过程,增加存储系统的运行性能和稳定性。
本发明所提供的SAS链路状态变化抑制方法,包括:
A、监控实体检测到自身的SAS链路发生设定的状态变化时,确定对应所述SAS链路的当前延时时长;
B、启动对应所述当前延时时长的第一定时器;
C、在所述第一定时器的延时期间,监控实体检测所述SAS链路是否再次发生设定的状态变化,如果是,则确定对应所述SAS链路的新的延时时长,将所述新的延时时长作为当前延时时长,并返回执行步骤B;否则,在所述第一定时器的延时超时后,发起Discovery过程。
较佳地,所述监控实体为SAS initiator;或者,所述监控实体为Expander设备。
较佳地,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
所述Expander设备在确定自身的某个或某些SAS链路的第一定时器的延时超时后,执行步骤C所述的发起Discovery过程之前,进一步包括:
C1、确定当前合并处理时长;
C2、启动对应所述当前合并处理时长的第二定时器;
C3、在所述第二定时器的延时期间,Expander设备确定其它SAS链路的第一定时器的延时是否超时,如果是,则确定新的合并处理时长,将所述新的合并处理时长作为当前合并处理时长,并返回执行步骤C2;否则,在所述第二定时器的延时超时后,对应所有第一定时器的延时超时的SAS链路发起一个Discovery过程。
较佳地,所述合并处理时间为:按照后退算法计算得到的合并处理时间。
较佳地,所述后退算法包括:二元指数后退算法或线性增值后退算法。
较佳地,所述后退算法为线性增值后退算法;
所述按照后退算法计算得到的合并处理时间包括:对于线性增值后退算法函数f2(n)中的输入参数n,在系统启动后设置n的初始值n=0;每进行一次延时,n累加1;在当前合并处理时长的延时超时后,令n=0;
当Expander设备确定SAS链路的第一定时器的延时超时时,将n的当前取值代入线性增值后退算法函数f2(n)中,得到合并处理时长。
较佳地,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
所述Expander设备在确定自身的某个或某些SAS链路的第一定时器的延时超时后,执行步骤C所述的发起Discovery过程之前,进一步包括:判断当前是否存在对应合并处理时长的第二定时器的延时,如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器,在所述第二定时器的延时超时后,对应所有第一定时器的延时超时的SAS链路发起一个Discovery过程。
较佳地,该方法进一步包括:在所述第二定时器的延时超时前,接收到SMPDISCOVER请求,则停止所述第二定时器的延时,并响应所述SMP DISCOVER请求。
较佳地,所述延时时间为:按照后退算法计算得到的延时时间。
较佳地,所述后退算法包括:二元指数后退算法或线性增值后退算法。
较佳地,所述后退算法为二元指数后退算法;
所述按照后退算法计算得到延时时间包括:
对于二元指数后退算法函数f1(n)中的输入参数n,在系统启动后设置n的初始值n=0;每检测到一次设定的状态变化n累加1;在当前延时时长的延时超时后,如果SAS链路状态仍然处于设定的状态变化,则令n=(n+1)/2作为该SAS链路下一次后退算法计算的初始值,否则,令n=0;
当SAS链路发生设定的状态变化时,将n的当前取值代入二元指数后退算法函数f1(n)中,得到延时时长。
较佳地,所述设定的状态变化为:任意状态变化;
或者为:发生link-up的状态变化;
或者为:发生link-down的状态变化。
较佳地,所述设定的状态变化为:发生link-up的状态变化或者发生link-down的状态变化时,所述发起Discovery过程之前,进一步包括:检测所述SAS链路是否仍然处于所述设定的状态变化,如果是,则发起所述Discovery过程。
较佳地,该方法进一步包括:
为每条SAS链路设置统计时间区间、以及该统计时间区间内的链路状态告警阈值和链路状态禁用阈值;
对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数,在所述SAS链路的链路状态变化次数大于其对应的链路状态告警阈值时,对所述SAS链路进行告警;在所述SAS链路的链路状态变化次数大于其对应的链路状态禁用阈值时,禁用所述SAS链路。
较佳地,所述对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数为:对应每条SAS链路,采用环算法统计其每个统计时间区间内的链路状态变化次数。
较佳地,该方法进一步包括:
为每条SAS链路设置链路状态告警总阈值;
对应每条SAS链路,统计其链路状态总的变化次数,在所述SAS链路的链路状态总变化次数大于其对应的链路状态告警总阈值时,对所述SAS链路进行告警。
本发明所提供的用于实现SAS链路状态变化抑制的监控实体,包括:
检测单元,用于检测监控实体的SAS链路是否发生设定的状态变化,在所述SAS链路每发生一次设定的状态变化时,向延时处理单元发送一次对应所述SAS链路的延时通知;
延时处理单元,用于在每次接收到对应所述SAS链路的延时通知时,确定对应所述SAS链路的当前延时时长,并重启对应所述SAS链路的第一定时器;
过程触发单元,用于在所述第一定时器的延时超时后,发起Discovery过程。
较佳地,所述延时处理单元进一步在所述第一定时器的延时超时后,发送启动通知;
所述过程触发单元,用于根据所述启动通知,发起Discovery过程。
较佳地,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
该监控实体进一步包括:合并处理单元,用于接收来自延时处理单元的启动通知,在每接收到一个启动通知时,确定当前的合并处理时间,并重启对应的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知;
或者,所述合并处理单元用于接收来自延时处理单元的启动通知,根据所述启动通知,判断当前是否存在对应合并处理时间的第二定时器,如存在,则不进行任何处理;如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。
较佳地,所述设定的状态变化为:发生link-up的状态变化或发生link-down的状态变化;
所述延时处理单元进一步在所述第一定时器的延时超时后,向检测单元发送超时通知;
所述检测单元进一步根据来自延时处理单元的超时通知,检测监控实体的SAS链路是否仍处于所述设定的状态变化,如果是,则发送启动通知;
所述过程触发单元,用于根据所述启动通知,发起Discovery过程。
较佳地,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
该监控实体进一步包括:合并处理单元,用于接收来自检测单元的启动通知,在每接收到一个启动通知时,确定当前的合并处理时间,并重启对应的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知;
或者,所述合并处理单元用于接收来自检测单元的启动通知,根据所述启动通知,判断当前是否存在对应合并处理时长的第二定时器,如存在,则不进行任何处理;如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。
较佳地,该监控实体进一步包括:第一监控单元,用于对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数,在所述SAS链路的链路状态变化次数大于其对应的链路状态告警阈值时,对所述SAS链路进行告警;在所述SAS链路的链路状态变化次数大于其对应的链路状态禁用阈值时,禁用所述SAS链路。
较佳地,该监控实体进一步包括:第二监控单元,用于对应每条SAS链路,统计其链路状态总的变化次数,在所述SAS链路的链路状态总变化次数大于其对应的链路状态告警总阈值时,对所述SAS链路进行告警。
从上述方案可以看出,本发明中当监控实体检测到自身的SAS链路发生设定的状态变化时,不立即发起Discovery过程,而是先进行延时,如果延时期间该SAS链路再次发生设定的状态变化,则重新进行延时,一直到延时期间该SAS链路不再发生设定的状态变化时,再发起Discovery过程,从而在一定程度上避免了SAS链路频繁发生状态变化时所引起的大量频繁的Discovery过程,增加了存储系统的运行性能和稳定性。
此外,当监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上时,进一步对其上的多条SAS链路的Discovery过程进行合并处理,从而进一步避免了大量频繁的Discovery过程。
最后,通过设置链路状态告警阈值和链路状态禁用阈值,对状态变化次数达到链路状态告警阈值的SAS链路进行告警,对状态变化次数达到链路状态禁用阈值的SAS链路进行禁用,从而减少查找出或禁用存在链路连接不可靠、物理链路存在故障、或SAS设备和其它相关设备的固件错误或硬件故障等情况的链路,进一步保障了存储系统的运行性能和稳定性。
附图说明
图1为SAS协议中Expander设备发起Discovery过程的流程示意图;
图2为本发明实施例中SAS链路状态变化抑制方法的示例性流程图;
图3为本发明实施例中Expander设备的合并处理方法的流程示意图;
图4为本发明实施例中链路状态变化的环算法实现示意图;
图5为本发明实施例中监控实体的一个示例性结构图;
图6为本发明实施例中Expander设备的一个示例性结构图;
图7为本发明实施例中监控实体的又一个示例性结构图;
图8为本发明实施例中Expander设备的又一个示例性结构图。
具体实施方式
为了避免SAS链路频繁发生状态变化时所引起的大量频繁的Discovery过程,增加存储系统的运行性能和稳定性,本发明实施例中,当监控实体检测到自身的SAS链路发生状态变化时,并不立即发起Discovery过程,而是先进行延时,延时期间不发起Discovery过程,延时超时后才启动Discovery过程。如果延时期间该SAS链路再次发生状态变化,则重新进行延时,一直到延时期间该SAS链路不再发生状态变化时,再发起Discovery过程。
具体实现时,上述状态变化可以指任意的状态变化,即从link-down到link-up或从link-up到link-down,只要发生一次状态改变,即可进行延时触发Discovery过程。
或者,也可根据实现策略或实现效果等,将上述状态变化限定为从link-down到link-up的状态变化,即每次发生link-up时进行延时触发Discovery过程,延时期间对发生的link-down的状态变化不做处理,非延时期间发生的link-down的状态变化按现有过程处理。或者,将上述状态变化限定为从link-up到link-down的状态变化,即每次发生link-down时进行延时触发Discovery过程,延时期间对发生的link-up的状态变化不做处理,非延时期间发生的link-up的状态变化按现有过程处理。
其中,将上述状态变化限定为从link-down到link-up的状态变化时的实现方式为本发明实施例中的较佳实现方式。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
图2为本发明实施例中SAS链路状态变化抑制方法的示例性流程图。如图2所示,该流程包括如下步骤:
步骤201,监控实体检测到自身的SAS链路发生设定的状态变化时,确定对应所述SAS链路的当前延时时长。
其中,监控实体可以为SAS initiator,也可以为Expander设备。
设定的状态变化可以是任意状态变化,也可以是发生link-up的状态变化,还可以是发生link-down的状态变化。
步骤202,启动对应所述当前延时时长的延时定时器,记为第一定时器。
本步骤中,启动延时定时器,并将延时定时器的最大延时时长设定为所确定的当前延时时长。
步骤203,在所述第一定时器的延时期间,监控实体检测所述SAS链路是否再次发生设定的状态变化,如果是,则执行步骤204;否则,执行步骤205。
其中,当监控实体为Expander设备时,若在第一定时器的延时期间接收到SMP DISCOVER请求,则Expander设备可反馈该SAS链路尚未处于设定的状态(例如,该SAS链路为link-up)。
步骤204,确定对应所述SAS链路的新的延时时长,将所述新的延时时长作为当前延时时长,并返回执行步骤202。
步骤205,在所述第一定时器的延时超时后,发起Discovery过程。
本步骤中,无论设定的状态变化为何种状态变化,均可以在第一定时器的延时超时后,即发起Discovery过程。具体实现时,对于设定的状态变化为:发生link-up的状态变化,或发生link-down的状态变化时,本步骤中,也可在发起Discovery过程之前,进一步判断所述SAS链路是否仍然处于所述设定的状态(即发生link-up的状态或发生link-down的状态),如果是,再发起Discovery过程。
本实施例中,延时时长的确定方法可有多种。例如,可以预先设定固定的延时时长作为当前的延时时长,也可以是按某种算法(如后退算法)确定当前的延时时长和新的延时时长。下面以二元指数后退算法为例,对本发明实施例中确定延时时长的方法进行详细描述。
设置如式(1)所示的二元指数后退算法函数f1(n):
其中,T为时间系数,表示后退算法的时间粒度,用户可根据实际需要进行配置,并可设置默认值,例如100ms;N为最大延时常数,通过N计算得到的f1(N)是函数的最大值,表示后退算法最大的延时时间,用户可根据实际需要行配置N的取值,并可设置默认值,例如8,相应地,最大延时时间的默认值可以为25.5s;n为输入参数,表示链路的状态变化次数,对应每个链路维护一个参数n作为链路状态变化的计数此数值。
其中,n的计算方法可如下所示:
1)系统启动后设置n的初始值n=0;
2)每检测到一次设定的状态变化,如link-up,n累加1,即n=n+1;
3)当定时器超时后,如果SAS链路状态仍然处于设定的状态变化,例如为link-up,则可令n=(n+1)/2作为该SAS链路下一次后退算法计算的初始值;当定时器超时后,如果SAS链路状态不再处于设定的状态变化,如变为link-down,则可令n=0。
当SAS链路发生设定的状态变化时,将n的当前取值代入二元指数后退算法函数 中,得到延时时长。
此后退算法的特点是:
1)当SAS链路状态变化越多、越频繁,后退算法就会使用更长的延时时间,来抑制存储系统的拓扑变化。
2)这种后退算法能够记录SAS链路变化的历史值,有过不良历史记录的SAS链路,后续变化会用更长的延时时间。
此外,实际应用中,也可采用线性增值后退算法或其它后退算法确定延时时长。
本发明实施例中,当监控实体为Expander设备,且该Expander设备的SAS链路包括两条或两条以上时,则该Expander设备可对其两条或两条以上的SAS链路的Discovery过程进行合并处理。即当Expander设备确定自身的某个或某些SAS链路的第一定时器的延时超时后,可不立即发起Discovery过程,而是执行如图3所示的流程,包括:
步骤301,确定当前合并处理时长。
步骤302,启动对应所述当前合并处理时长的延时定时器,记为第二定时器。
步骤303,在所述第二定时器的延时期间,Expander设备确定其它SAS链路的第一定时器的延时是否超时,如果是,则执行步骤304;否则,执行步骤305。
本实施例中,如果在第二定时器的延时期间,Expander设备接收到SMPDISCOVER请求,则可停止所述第二定时器的延时,结束当前流程,并响应所述SMP DISCOVER请求。
步骤304,确定新的合并处理时长,将所述新的合并处理时长作为当前合并处理时长,并返回执行步骤302。
步骤305,在所述第二定时器的延时超时后,对应所有第一定时器的延时超时的SAS链路发起一个Discovery过程。
本实施例中,合并处理时长的确定方法可有多种。例如,可以预先设定固定的合并处理时长作为当前的合并处理时长,也可以是按某种算法(如后退算法)确定当前的合并处理时长和新的合并处理时长。下面以线性增值后退算法为例,对本发明实施例中确定合并处理时长的方法进行详细描述。
设置如式(1)所示的线性增值后退算法函数f2(n):
f2(n)=min(T×n,Tmax) (2)
其中,T为时间系数,表示后退算法的时间粒度,用户可根据实际需要进行配置,并可设置默认值,例如100ms;Tmax为最大延时常数,表示后退算法最大的延时时间,用户可根据实际需要行进行配置,并可设置默认值,例如12s;n为输入参数,表示第几次进行合并处理延时。
其中,n的计算方法可如下所示:
1)系统启动后设置n的初始值n=0;
2)每进行一次延时,n累加1,即n=n+1;
3)当定时器超时或停止后,令n=0。
当Expander设备确定SAS链路的当前延时时长的延时超时时,将n的当前取值代入线性增值后退算法函数f2(n)=min(T×n,Tmax)中,得到合并处理时长。
此外,也可采用二元指数后退算法或其它后退算法确定延时时长。
实际应用中,Expander设备在确定自身的某个或某些SAS链路的第一定时器的延时超时后,也可只进行一次合并处理时长的延时,即若当前不存在第二定时器的延时,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器,在第二定时器的延时超时后,对应所有第一定时器的延时超时的SAS链路发起一个Discovery过程。若当前存在第二定时器的延时,则不进行任何处理。
其中,若Expander设备在第二定时器的延时超时前,接收到SMPDISCOVER请求,则可停止所述第二定时器的延时,并响应所述SMPDISCOVER请求。
为了进一步将存在链路连接不可靠、物理链路存在故障、或SAS设备和其它相关设备的固件错误或硬件故障等情况的链路查找出来,本实施例中可进一步对链路状态变化进行监控。
例如,可为每条SAS链路设置统计时间区间、以及该统计时间区间内的链路状态告警阈值。之后,对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数,在所述SAS链路的链路状态变化次数大于其对应的链路状态告警阈值时,对所述SAS链路进行告警。
进一步地,还可以为每条SAS链路设置该统计时间区间内的链路状态禁用阈值,当统计到SAS链路每个统计时间区间内的链路状态变化次数大于其对应的链路状态禁用阈值时,禁用该SAS链路。
此外,还可以为每条SAS链路设置链路状态告警总阈值,之后,对应每条SAS链路,统计其链路状态总的变化次数,在所述SAS链路的链路状态总变化次数大于其对应的链路状态告警总阈值时,对所述SAS链路进行告警。
具体实现时,也可以只设置链路状态告警总阈值,并只对链路状态总变化次数进行监控。
下面以某一条SAS链路为例,对上述过程进行详细描述:
为该SAS链路保存一组变量和阈值常量:
●统计时间区间T:用户设定的监控SAS链路状态的变化时间段。可默认设置为l小时。
●统计时间区间内链路状态告警阈值M1:统计时间区间内链路状态变化超出此值时,对此链路进行告警。用户可以设定,并可默认设置为3次。
●统计时间区间内链路状态禁用阈值M2:统计时间区间内链路状态变化超出此值时,禁用此链路。用户可以设定。用户可以设定,并可默认设置为10次。
●统计时间区间内链路状态变化计数器C1:统计时间区间内链路状态变化的统计值。
●链路状态告警总阈值M3:链路状态总的变化超出此值时,对此链路进行告警。用户可以设定,并可默认设置为10次。
●链路状态变化总计数器C2:链路状态变化的总统计值。
监控SAS链路状态的变化次数,根据用户设定的阈值,实现告警和链路禁用功能,具体包括:
系统初始化后,所有计数器自动清空。用户也可以手工清除计数器。
当SAS链路状态变化时,如发生link-up时,增加C1和C2的值,并进行以下的处理:
1)如果C1>M1,进行链路告警处理;
2)如果C1>M2,进行链路禁用处理。
3)如果C2>M3,进行链路总告警处理。
实际应用中,统计每个统计时间区间内的链路状态变化次数时,可采用环算法或其它算法进行统计。
下面仍以某一条SAS链路为例,对采用环算法统计状态变化次数时的上述监控过程进行详细描述:
为该SAS链路保存一组变量和阈值常量:
●统计时间区间Ts:用户设定的监控SAS链路状态的变化时间段。可默认设置为1小时。
●统计时间粒度Tg:表明统计时间区间移动的最小单位,可默认设置为10分钟。
●Ts内链路状态告警阈值MAXsw:Ts内链路状态变化超出此值时,对此链路进行告警。用户可以设定,默认3次。
●Ts内链路状态禁用阈值MAXsd:Ts内链路状态变化超出此值时,禁用此链路。用户可以设定。用户可以设定,默认10次。
●Ts内链路状态变化计数器CNTs:Ts内链路状态变化的统计值。
●Tg内链路状态变化计数器组{CNT_Gi,i=0,1,...,N}:每个Tg内的链路状态变化的统计值。CNT_Gi使用环(ring)实现,同时记录当前的时刻位置n和最早的时刻位置m。
●链路状态告警总阈值MAXaw:链路状态总的变化超出此值时,对此链路进行告警。用户可以设定,默认10次。
●链路状态变化总计数器CNTa:链路状态变化的总统计值。
系统初始化后,所有计数器自动清空。用户也可以手工清空计数器。
1、CNTs和CNT_Gi算法:
当SAS链路状态变化时,如发生link-up时,增加CNTs的值。如果CNTs>MAXsw,进行链路告警处理;如果CNTs>MAXsw,进行链路禁用处理。
当SAS链路状态变化时,如发生link-up时,增加CNT_Gn的值。每过Tg时刻,CNTs要减去已经超时统计时间区间的计数值。
即Tg=Tg+1时:
CNTs=CNTs-CNT_Gm;
n=INC(n,1);m=INC(m,1);
CNT_Gn=0。
其中INC(n,1)表示环的索引向前移动一格的算法。
图4说明了CNT_G计数器的一个实现实例。在当前时刻,计数器CNT_Gm为3,CNT_Gn为5,下一个时刻到后,m、n的位置都增加1格,CNT_Gn清0。
2、CNTa算法:
当SAS链路状态变化时,如发生link-up时,增加CNTa的值,如果CNTa>MAXaw,进行链路总告警处理。
以上对本发明实施例中的SAS链路状态变化抑制方法进行了详细描述,下面再对本发明实施例中用于实现SAS链路状态变化抑制的监控实体进行详细描述。
图5为本发明实施例中用于实现SAS链路状态变化抑制的监控实体的示例性结构图。如图5所示,该监控实体包括:检测单元、延时处理单元和过程触发单元。
其中,检测单元用于检测监控实体的SAS链路是否发生设定的状态变化,在所述SAS链路每发生一次设定的状态变化时,向延时处理单元发送一次对应所述SAS链路的延时通知。
延时处理单元用于在每次接收到对应所述SAS链路的延时通知时,确定对应所述SAS链路的当前延时时长,并重启对应所述SAS链路的延时定时器(即第一定时器),启动第一定时器的延时。其中,延时处理单元若在延时定时器的延时期间,接收到来自检测单元的延时通知,则确定新的延时时长,将该新的延时时长作为当前延时时长,然后重启延时定时器。
过程触发单元用于在所述第一定时器的延时超时后,发起Discovery过程。
具体实现时,无论设定的状态变化为何种状态变化,监控实体为SASinitiator还是Expander设备,其均可以由延时处理单元在第一定时器的延时超时后,向过程触发单元发送启动通知,由过程触发单元根据该启动通知,发起Discovery过程。
进一步地,当监控实体为Expander设备、且该Expander设备的SAS链路包括两条或两条以上时,该Expander设备还可以对自身SAS链路的Discovery过程进行合并处理。相应地,该Expander设备的结构还可以进一步包括合并处理单元,如图6所示,图6为Expander设备的一个示例性结构图。
此时,延时处理单元在第一定时器的延时超时后,向合并处理单元发送启动通知。
合并处理单元用于接收来自延时处理单元的启动通知,在每接收到一个启动通知时,确定当前的合并处理时间,并重启对应的第二定时器,以启动对应所述合并处理时间的延时,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。或者,该合并处理单元用于接收来自延时处理单元的启动通知,根据所述启动通知,判断当前是否存在对应合并处理时间的第二定时器的延时,如存在,则不进行任何处理;如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器的延时,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。
过程触发单元根据来自合并处理单元的启动通知,发起Discovery过程。
此外,当设定的状态变化为:发生link-up的状态变化或发生link-down的状态变化时,发起Discovery过程之前,可进一步包括:检测对应的SAS链路是否仍然处于所述设定的状态变化,如果是,再发起所述Discovery过程。相应地,图5所示检测单元、延时处理单元和过程触发单元的交互关系可如图7所示,图7为监控实体的又一个示例性结构图。
其中,检测单元用于检测监控实体的SAS链路是否发生设定的状态变化,在所述SAS链路每发生一次设定的状态变化时,向延时处理单元发送一次对应所述SAS链路的延时通知;根据来自延时处理单元的超时通知,检测监控实体的SAS链路是否仍处于所述设定的状态变化,如果是,则向过程触发单元发送启动通知。
延时处理单元用于在每次接收到对应所述SAS链路的延时通知时,确定对应所述SAS链路的当前延时时长,并重启对应所述SAS链路的延时定时器(即第一定时器),启动第一定时器的延时,在所述第一定时器的延时超时后,向检测单元发送超时通知。
过程触发单元用于根据来自检测单元的所述启动通知,发起Discovery过程。
同样,对应图7所示监控实体,当监控实体为Expander设备,且该Expander设备的SAS链路包括两条或两条以上时,该监控实体可进一步包括:合并处理单元,如图8所示,图8为为Expander设备的又一个示例性结构图。
此时,检测单元在检测到监控实体的SAS链路仍处于设定的状态变化时,向合并处理单元发送启动通知。
合并处理单元用于接收来自检测单元的启动通知,在每接收到一个启动通知时,确定当前的合并处理时间,并重启对应的定时器(即第二定时器),以启动对应所述合并处理时间的延时,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。或者,所述合并处理单元用于接收来自检测单元的启动通知,根据所述启动通知,判断当前是否存在对应合并处理时长的第二定时器的延时,如存在,则不进行任何处理;如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器的延时,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。
过程触发单元用于根据来自合并处理单元的启动通知,发起Discovery过程。
具体实现时,对于上述图5至图8中任一种具体结构的监控实体,其均可以包括第一监控单元和/或第二监控单元(图中未示出)。
其中,第一监控单元用于对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数,在所述SAS链路的链路状态变化次数大于其对应的链路状态告警阈值时,对所述SAS链路进行告警;和/或,在所述SAS链路的链路状态变化次数大于其对应的链路状态禁用阈值时,禁用所述SAS链路。
第二监控单元用于对应每条SAS链路,统计其链路状态总的变化次数,在所述SAS链路的链路状态总变化次数大于其对应的链路状态告警总阈值时,对所述SAS链路进行告警。
本发明实施例中监控实体的各组成单元的具体操作过程可与本发明实施例中SAS链路状态变化抑制方法中描述的具体操作过程一致,此处不再赘述。
以上对本发明中的具体实施方式进行了详细描述,通过上述描述可以看出,本发明具体实施方式中的技术方案具有如下优点:
1、SAS链路状态变化抑制功能和SAS链路状态变化合并功能,能够抑制SAS链路的频繁变化引起的拓扑振荡,避免大量频繁的Discovery过程,提高了SAS存储系统的运行性能和稳定性。
2、通过SAS链路状态变化合并功能,使Expander设备的SAS链路数量增加时,Discovery的处理不再随SAS链路数量线性增加,加快了系统拓扑稳定的速度。
3、通过SAS链路状态变化监控功能,能够对不稳定的链路实现告警和链路自动禁用,避免不稳定设备带来的存储系统的不可靠性风险。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (23)
1、一种串行附接小型计算机系统接口SAS链路状态变化抑制方法,其特征在于,该方法包括:
A、监控实体检测到自身的SAS链路发生设定的状态变化时,确定对应所述SAS链路的当前延时时长;
B、启动对应所述当前延时时长的第一定时器;
C、在所述第一定时器的延时期间,监控实体检测所述SAS链路是否再次发生设定的状态变化,如果是,则确定对应所述SAS链路的新的延时时长,将所述新的延时时长作为当前延时时长,并返回执行步骤B;否则,在所述第一定时器的延时超时后,发起Discovery过程。
2、如权利要求1所述的方法,其特征在于,所述监控实体为SAS initiator;或者,所述监控实体为Expander设备。
3、如权利要求2所述的方法,其特征在于,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
所述Expander设备在确定自身的某个或某些SAS链路的第一定时器的延时超时后,执行步骤C所述的发起Discovery过程之前,进一步包括:
C1、确定当前合并处理时长;
C2、启动对应所述当前合并处理时长的第二定时器;
C3、在所述第二定时器的延时期间,Expander设备确定其它SAS链路的第一定时器的延时是否超时,如果是,则确定新的合并处理时长,将所述新的合并处理时长作为当前合并处理时长,并返回执行步骤C2;否则,在所述第二定时器的延时超时后,对应所有第一定时器的延时超时的SAS链路发起一个Discovery过程。
4、如权利要求3所述的方法,其特征在于,所述合并处理时间为:按照后退算法计算得到的合并处理时间。
5、如权利要求4所述的方法,其特征在于,所述后退算法包括:二元指数后退算法或线性增值后退算法。
6、如权利要求5所述的方法,其特征在于,所述后退算法为线性增值后退算法;
所述按照后退算法计算得到的合并处理时间包括:对于线性增值后退算法函数f2(n)中的输入参数n,在系统启动后设置n的初始值n=0;每进行一次延时,n累加1;在当前合并处理时长的延时超时后,令n=0;
当Expander设备确定SAS链路的第一定时器的延时超时时,将n的当前取值代入线性增值后退算法函数f2(n)中,得到合并处理时长。
7、如权利要求2所述的方法,其特征在于,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
所述Expander设备在确定自身的某个或某些SAS链路的第一定时器的延时超时后,执行步骤C所述的发起Discovery过程之前,进一步包括:判断当前是否存在对应合并处理时长的第二定时器的延时,如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器,在所述第二定时器的延时超时后,对应所有第一定时器的延时超时的SAS链路发起一个Discovery过程。
8、如权利要求3至7中任一项所述的方法,其特征在于,该方法进一步包括:在所述第二定时器的延时超时前,接收到SMP DISCOVER请求,则停止所述第二定时器的延时,并响应所述SMP DISCOVER请求。
9、如权利要求1至7中任一项所述的方法,其特征在于,所述延时时间为:按照后退算法计算得到的延时时间。
10、如权利要求9所述的方法,其特征在于,所述后退算法包括:二元指数后退算法或线性增值后退算法。
11、如权利要求10所述的方法,其特征在于,所述后退算法为二元指数后退算法;
所述按照后退算法计算得到延时时间包括:
对于二元指数后退算法函数f1(n)中的输入参数n,在系统启动后设置n的初始值n=0;每检测到一次设定的状态变化n累加1;在当前延时时长的延时超时后,如果SAS链路状态仍然处于设定的状态变化,则令n=(n+1)/2作为该SAS链路下一次后退算法计算的初始值,否则,令n=0;
当SAS链路发生设定的状态变化时,将n的当前取值代入二元指数后退算法函数f1(n)中,得到延时时长。
12、如权利要求1至7中任一项所述的方法,其特征在于,所述设定的状态变化为:任意状态变化;
或者为:发生link-up的状态变化;
或者为:发生link-down的状态变化。
13、如权利要求12所述的方法,其特征在于,所述设定的状态变化为:发生link-up的状态变化或者发生link-down的状态变化时,所述发起Discovery过程之前,进一步包括:检测所述SAS链路是否仍然处于所述设定的状态变化,如果是,则发起所述Discovery过程。
14、如权利要求1至7中任一项所述的方法,其特征在于,该方法进一步包括:
为每条SAS链路设置统计时间区间、以及该统计时间区间内的链路状态告警阈值和链路状态禁用阈值;
对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数,在所述SAS链路的链路状态变化次数大于其对应的链路状态告警阈值时,对所述SAS链路进行告警;在所述SAS链路的链路状态变化次数大于其对应的链路状态禁用阈值时,禁用所述SAS链路。
15、如权利要求14所述的方法,其特征在于,所述对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数为:对应每条SAS链路,采用环算法统计其每个统计时间区间内的链路状态变化次数。
16、如权利要求14所述的方法,其特征在于,该方法进一步包括:
为每条SAS链路设置链路状态告警总阈值;
对应每条SAS链路,统计其链路状态总的变化次数,在所述SAS链路的链路状态总变化次数大于其对应的链路状态告警总阈值时,对所述SAS链路进行告警。
17、一种用于实现SAS链路状态变化抑制的监控实体,其特征在于,该监控实体包括:
检测单元,用于检测监控实体的SAS链路是否发生设定的状态变化,在所述SAS链路每发生一次设定的状态变化时,向延时处理单元发送一次对应所述SAS链路的延时通知;
延时处理单元,用于在每次接收到对应所述SAS链路的延时通知时,确定对应所述SAS链路的当前延时时长,并重启对应所述SAS链路的第一定时器;
过程触发单元,用于在所述第一定时器的延时超时后,发起Discovery过程。
18、如权利要求17所述的监控实体,其特征在于,所述延时处理单元进一步在所述第一定时器的延时超时后,发送启动通知;
所述过程触发单元,用于根据所述启动通知,发起Discovery过程。
19、如权利要求18所述的监控实体,其特征在于,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
该监控实体进一步包括:合并处理单元,用于接收来自延时处理单元的启动通知,在每接收到一个启动通知时,确定当前的合并处理时间,并重启对应的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知;
或者,所述合并处理单元用于接收来自延时处理单元的启动通知,根据所述启动通知,判断当前是否存在对应合并处理时间的第二定时器,如存在,则不进行任何处理;如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。
20、如权利要求17所述的监控实体,其特征在于,所述设定的状态变化为:发生link-up的状态变化或发生link-down的状态变化;
所述延时处理单元进一步在所述第一定时器的延时超时后,向检测单元发送超时通知;
所述检测单元进一步根据来自延时处理单元的超时通知,检测监控实体的SAS链路是否仍处于所述设定的状态变化,如果是,则发送启动通知;
所述过程触发单元,用于根据所述启动通知,发起Discovery过程。
21、如权利要求20所述的监控实体,其特征在于,所述监控实体为Expander设备,且所述Expander设备的SAS链路包括两条或两条以上;
该监控实体进一步包括:合并处理单元,用于接收来自检测单元的启动通知,在每接收到一个启动通知时,确定当前的合并处理时间,并重启对应的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知;
或者,所述合并处理单元用于接收来自检测单元的启动通知,根据所述启动通知,判断当前是否存在对应合并处理时长的第二定时器,如存在,则不进行任何处理;如不存在,则确定当前合并处理时长,启动对应所述当前合并处理时长的第二定时器,在所述第二定时器的延时超时后,向过程触发单元发送启动通知。
22、如权利要求17至21中任一项所述的监控实体,其特征在于,该监控实体进一步包括:第一监控单元,用于对应每条SAS链路,统计其每个统计时间区间内的链路状态变化次数,在所述SAS链路的链路状态变化次数大于其对应的链路状态告警阈值时,对所述SAS链路进行告警;在所述SAS链路的链路状态变化次数大于其对应的链路状态禁用阈值时,禁用所述SAS链路。
23、如权利要求22所述的监控实体,其特征在于,该监控实体进一步包括:第二监控单元,用于对应每条SAS链路,统计其链路状态总的变化次数,在所述SAS链路的链路状态总变化次数大于其对应的链路状态告警总阈值时,对所述SAS链路进行告警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100810192A CN101515871B (zh) | 2009-03-27 | 2009-03-27 | 一种sas链路状态变化抑制方法和监控实体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100810192A CN101515871B (zh) | 2009-03-27 | 2009-03-27 | 一种sas链路状态变化抑制方法和监控实体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101515871A true CN101515871A (zh) | 2009-08-26 |
CN101515871B CN101515871B (zh) | 2011-04-20 |
Family
ID=41040176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100810192A Expired - Fee Related CN101515871B (zh) | 2009-03-27 | 2009-03-27 | 一种sas链路状态变化抑制方法和监控实体 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101515871B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075441A (zh) * | 2011-02-24 | 2011-05-25 | 福建星网锐捷网络有限公司 | 链路带宽信息更新发布方法、装置及网络设备 |
CN102591838A (zh) * | 2010-11-15 | 2012-07-18 | Lsi公司 | 一种确定性sas发现和配置的方法 |
CN102833087A (zh) * | 2011-06-17 | 2012-12-19 | 中兴通讯股份有限公司 | 一种ima传输中质量不稳定链路的处理方法及装置 |
CN104679447A (zh) * | 2014-12-31 | 2015-06-03 | 曙光信息产业股份有限公司 | 磁盘控制方法及装置 |
CN108337181A (zh) * | 2017-01-20 | 2018-07-27 | 深圳市中兴微电子技术有限公司 | 一种交换网拥塞管理方法和装置 |
CN111382040A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 一种网络性能测试的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738397B2 (en) * | 2004-02-19 | 2010-06-15 | Intel Corporation | Generating topology information identifying devices in a network topology |
CN101359309B (zh) * | 2007-08-03 | 2012-03-07 | 中兴通讯股份有限公司 | 串行附接小型计算机系统接口硬盘状态指示装置及方法 |
US7475163B1 (en) * | 2008-01-17 | 2009-01-06 | International Business Machines Corporation | Method and system for resolving SAS timing issues for long-distance SAS extender |
-
2009
- 2009-03-27 CN CN2009100810192A patent/CN101515871B/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591838A (zh) * | 2010-11-15 | 2012-07-18 | Lsi公司 | 一种确定性sas发现和配置的方法 |
CN102591838B (zh) * | 2010-11-15 | 2015-04-08 | Lsi公司 | 一种确定性sas发现和配置的方法 |
CN102075441A (zh) * | 2011-02-24 | 2011-05-25 | 福建星网锐捷网络有限公司 | 链路带宽信息更新发布方法、装置及网络设备 |
CN102075441B (zh) * | 2011-02-24 | 2013-07-24 | 福建星网锐捷网络有限公司 | 链路带宽信息更新发布方法、装置及网络设备 |
CN102833087A (zh) * | 2011-06-17 | 2012-12-19 | 中兴通讯股份有限公司 | 一种ima传输中质量不稳定链路的处理方法及装置 |
CN104679447A (zh) * | 2014-12-31 | 2015-06-03 | 曙光信息产业股份有限公司 | 磁盘控制方法及装置 |
CN108337181A (zh) * | 2017-01-20 | 2018-07-27 | 深圳市中兴微电子技术有限公司 | 一种交换网拥塞管理方法和装置 |
CN108337181B (zh) * | 2017-01-20 | 2021-05-28 | 深圳市中兴微电子技术有限公司 | 一种交换网拥塞管理方法和装置 |
CN111382040A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 一种网络性能测试的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101515871B (zh) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712309B (zh) | 一种微服务架构下的微服务节点防护方法和系统 | |
CN101515871A (zh) | 一种sas链路状态变化抑制方法和监控实体 | |
US20210006484A1 (en) | Fault detection method, apparatus, and system | |
US9007200B2 (en) | Process method and apparatus for preventing alarm jitter | |
EP3420463B1 (en) | Lease-based heartbeat protocol method and apparatus | |
JP4984162B2 (ja) | 監視制御方法および監視制御装置 | |
CN107547301B (zh) | 一种主备设备倒换方法及装置 | |
CN110187995B (zh) | 一种熔断对端节点的方法及熔断装置 | |
CN106161140B (zh) | 确定被监控节点工作状态的方法、监控节点和集群系统 | |
JP2015524122A (ja) | ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置 | |
CN112118499B (zh) | 光网络单元onu掉电告警方法、装置、设备及存储介质 | |
CN110287135A (zh) | 一种总线轮询方法和装置 | |
WO2011026371A1 (zh) | 历史性能数据的有效性检测方法及装置 | |
CN104994173A (zh) | 一种消息处理方法和系统 | |
JP2017508391A (ja) | 異なる通信技術を用いるネットワークで送受信されるデータ及びイベントギャップの整合方法 | |
CN113220352A (zh) | 关机控制方法及装置 | |
CN101534304A (zh) | Sas域变化非全遍历发现过程的方法和系统 | |
CN108512698B (zh) | 一种网络容灾方法、装置及电子设备 | |
JP5046232B2 (ja) | 火災受信機及び制御方法 | |
CN114124755B (zh) | 网络数据断流检测方法及装置、终端设备和存储介质 | |
CN113220554B (zh) | 检测程序代码的性能的方法和设备 | |
WO2014040470A1 (zh) | 告警消息的处理方法及装置 | |
CN111475223B (zh) | 一种信息提醒的管理方法、装置 | |
US20150163113A1 (en) | Communication control apparatus | |
JP2012169910A (ja) | 通信装置、経路選択方法及びプログラム |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20200327 |