发明内容
本申请的目的是提供一种链路误码处理方法,以实现链路误码的检测与处理。
为解决上述技术问题,本申请提供一种链路误码处理方法,包括:
监测RAID卡的各宽端口中各PHY链路中的误码;
判断各所述PHY链路中的误码值是否大于阈值;
若所述PHY链路中的所述误码值大于所述阈值,则将所述PHY链路中的所述误码清零;
判断在预设时间后所述误码清零的所述PHY链路是否满足预设条件;
若在所述预设时间后所述误码清零的所述PHY链路不满足所述预设条件,则关闭所述误码清零的所述PHY链路。
优选地,所述判断在预设时间后所述误码清零的所述PHY链路是否满足预设条件包括:
判断在所述预设时间后所述误码清零的所述PHY链路中所述误码值是否再次大于所述阈值;
若是,则不满足所述预设条件,关闭所述误码清零的所述PHY链路。
优选地,在所述关闭所述误码清零的所述PHY链路之前,还包括:
获取所述误码清零的所述PHY链路所在的所述宽端口中已关闭的所述PHY链路的数量;
判断已关闭的所述PHY链路的数量是否小于所述宽端口中所有所述PHY链路的数量的二分之一;
若是,则进入到所述关闭所述误码清零的所述PHY链路的步骤;
若否,则输出宽端口告警信息,以提示更换所述宽端口。
优选地,还包括:
通过修改Expander配置文件降低所述PHY链路的传输速率,以便于降低所述PHY链路中所述误码的数量。
优选地,若所述PHY链路中的所述误码值大于所述阈值,还包括:
输出提示检修部件的信息。
优选地,在所述输出提示检修部件的信息之后,还包括:
生成所述PHY链路的误码日志。
优选地,在所述生成所述PHY链路的误码日志之后,还包括:
根据所述误码日志对所述PHY链路进行维护。
为解决上述技术问题,本申请还提供一种链路误码处理装置,包括:
监测模块,用于监测RAID卡的各宽端口中各PHY链路中的误码;
第一判断模块,用于判断各所述PHY链路中的误码值是否大于阈值;若所述PHY链路中的所述误码值大于所述阈值,则触发误码处理模块;
所述误码处理模块,用于将所述PHY链路中的所述误码清零;
第二判断模块,用于判断在预设时间后所述误码清零的所述PHY链路是否满足预设条件;若在所述预设时间后所述误码清零的所述PHY链路不满足所述预设条件,则触发链路关闭模块;
所述链路关闭模块,用于关闭所述误码清零的所述PHY链路。
优选地,所述第二判断模块用于判断在所述预设时间后所述误码清零的所述PHY链路中所述误码值是否再次大于所述阈值;
若是,则不满足所述预设条件,触发所述链路关闭模块。
优选地,还包括:
获取模块,用于获取所述误码清零的所述PHY链路所在的所述宽端口中已关闭的所述PHY链路的数量;
第三判断模块,用于判断已关闭的所述PHY链路的数量是否小于所述宽端口中所有所述PHY链路的数量的二分之一;若是,则触发所述链路关闭模块;若否,则触发告警模块;
所述告警模块,用于输出宽端口告警信息,以提示更换所述宽端口。
优选地,还包括:
配置文件修改模块,用于通过修改Expander配置文件降低所述PHY链路的传输速率,以便于降低所述PHY链路中所述误码的数量。
优选地,还包括:
提示模块,用于若所述PHY链路中的所述误码值大于所述阈值,输出提示检修部件的信息。
优选地,还包括:
误码日志生成模块,用于生成所述PHY链路的误码日志。
优选地,还包括:
维护模块,用于根据所述误码日志对所述PHY链路进行维护。
为解决上述技术问题,本申请还提供另一种链路误码处理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的链路误码处理方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的链路误码处理方法的步骤。
本申请所提供的链路误码处理方法,通过监测RAID卡的各宽端口中各PHY链路中的误码;判断各PHY链路中的误码值是否大于阈值;若PHY链路中的误码值大于阈值,则将PHY链路中的误码清零;判断在预设时间后误码清零的PHY链路是否满足预设条件;若在预设时间后误码清零的PHY链路不满足预设条件,则关闭误码清零的PHY链路。由此可知,上述方案实现了链路误码的监测,能够及时地检测到链路误码的发生;同时根据存在误码的链路的具体情况进行误码清零或关闭链路,有效的解决了链路误码的问题,延长了硬件设备的使用寿命,节省了硬件设备的更换成本。
此外,本申请实施例还提供了一种链路误码处理装置及计算机可读存储介质,效果同上。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种链路误码处理方法、装置及计算机可读存储介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
服务器中的RAID技术被广泛应用是从RAID卡开始的,早期的RAID卡基于外设部件互连标准(Peripheral Component Interconnect,PCI)总线(64bit/33MHz/66MHz),提供Ultra160的SCSI通道。随着新的总线、接口技术的出现,之后的RAID卡开始支持PCI-X总线(64bit/66MHz,64bit/100MHz,64bit/133MHz)、PCI-E总线(X1、X4、X8等),也开始支持Ultra320 SCSI、SATA1、SAS、SATA2等接口。RAID卡最大的两大功能是提供RAID运算,以及提供数据通道,所以在一般的RAID卡上都会有两个大的核心芯片,一个是基于Intel或IBMPowerPC的IOP芯片,另一个是提供SCSI/SATA/SAS的I/O控制器芯片。
对于小型计算机系统接口(Small Computer System Interface,SCSI)来说,属于并行通道技术,所以有零通道、单通道、双通道甚至四通道的RAID卡,每个通道支持15个有效地址。对于SATA来说,属于点对点串行通道技术,所以有双端口、四端口、八端口甚至更多端口的RAID卡。对于SAS来说,也属于点对点串行技术,并且引入了交换、虚拟端口等概念,一般有X4(即4个PHY链路组成的一个宽Port)、2X4(即有两个宽Port)宽端口的RAID卡。
图1为本申请实施例提供的服务器内部硬件拓扑示意图。如图1所示,图中的RAID卡为具有两个宽端口的RAID卡,通过其中一个宽端口级联前上Expander背板,通过另一个宽端口级联前下Expander背板,每个宽端口中均包含四根PHY链路。Expander背板用于上行口连接RAID卡宽端口,扩展出多个下行口用于连接硬盘;具体地,前上和前下Expander背板均级联多个数据盘。进一步地,系统盘背板通过SAS线缆连接前上Expander背板,系统盘背板级联多个系统盘RAID1,用于通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据;而后下Expander背板通过SAS线缆级联前下Expander背板,并级联多个数据盘。
在具体实施中,RAID卡和Expander之间的单根PHY链路会出现误码异常:机器在重启时,会概率性出现单根PHY链路的误码相较其他PHY链路有明显增加的情况。因此为了解决遇到链路误码增加的情况时只能更换硬件材料的问题,本申请实施例提供了一种链路误码处理方法。图2为本申请实施例提供的一种链路误码处理方法的流程图。如图2所示,方法包括:
S10:监测RAID卡的各宽端口中各PHY链路中的误码。
具体地,在服务器正常运行时,持续监测RAID卡的各宽端口中各PHY链路中的误码,具体监测误码数量。例如在图1中,持续监测两个宽端口中共八根PHY链路中的误码数量。
S11:判断各PHY链路中的误码值是否大于阈值。若PHY链路中的误码值大于阈值,则进入步骤S12。
将PHY链路中的误码数量的误码值与阈值进行比较,判断误码值是否大于阈值。若大于阈值,则确认发生了链路误码,进入步骤S12;若未大于阈值,则确认未发生链路误码,继续监测各PHY链路中的误码。需要注意的是,本实施例中,对于阈值大小不做限制,根据具体的实施情况而定。作为一种优选的实施例,阈值可为经验值200。
S12:将PHY链路中的误码清零。
当确认发生了链路误码,则对发生链路误码的PHY链路进行Reset,即重启PHY链路,以对其中的误码清零。
S13:判断在预设时间后误码清零的PHY链路是否满足预设条件。若在预设时间后误码清零的PHY链路不满足预设条件,则进入步骤S14。
在对PHY链路进行误码清零后,继续判断在预设时间后进行误码清零的PHY链路是否满足预设条件。若在预设时间后误码清零的PHY链路不满足预设条件,说明该PHY链路再次发生了链路误码,则进入步骤S14。
需要注意的是,本实施例中对于预设时间不做限制,根据具体的实施情况而定。对于预设条件不做限制,可为误码清零的PHY链路未发生链路误码,还可为误码清零的PHY链路中的误码值在允许范围内,根据具体的实施情况而定。
S14:关闭误码清零的PHY链路。
在预设时间后误码清零的PHY链路不满足预设条件,则说明该PHY链路再次发生了链路误码,则需要关闭该PHY链路,以解决链路误码,可通过其他的PHY链路进行数据传输。
本实施例中,通过监测RAID卡的各宽端口中各PHY链路中的误码;判断各PHY链路中的误码值是否大于阈值;若PHY链路中的误码值大于阈值,则将PHY链路中的误码清零;判断在预设时间后误码清零的PHY链路是否满足预设条件;若在预设时间后误码清零的PHY链路不满足预设条件,则关闭误码清零的PHY链路。由此可知,上述方案实现了链路误码的监测,能够及时地检测到链路误码的发生;同时根据存在误码的链路的具体情况进行误码清零或关闭链路,有效的解决了链路误码的问题,延长了硬件设备的使用寿命,节省了硬件设备的更换成本。
在上述实施例的基础上:
作为一种优选的实施例,判断在预设时间后误码清零的PHY链路是否满足预设条件包括:
判断在预设时间后误码清零的PHY链路中误码值是否再次大于阈值;
若是,则不满足预设条件,关闭误码清零的PHY链路。
作为一种优选的实施例,本实施例中,判断在预设时间后误码清零的PHY链路是否满足预设条件,具体为判断在预设时间后误码清零的PHY链路中误码值是否再次大于阈值。即在对发生链路误码的PHY链路进行误码清零后,在预设时间之后再次判断该PHY链路中误码值是否再次大于阈值。如果确认再次大于阈值,则说明该PHY链路再次发生了链路误码,不满足预设条件,关闭该PHY链路,通过其他PHY链路进行数据传输。
本实施例中,通过判断在预设时间后误码清零的PHY链路中误码值是否再次大于阈值;若是,则不满足预设条件,关闭误码清零的PHY链路,实现了PHY链路的链路误码的修复机制,延长了硬件设备的使用寿命,节省了硬件设备的更换成本。
图3为本申请实施例提供的另一种链路误码处理方法的流程图。如图3所示,在关闭误码清零的PHY链路之前,还包括:
S15:获取误码清零的PHY链路所在的宽端口中已关闭的PHY链路的数量。
S16:判断已关闭的PHY链路的数量是否小于宽端口中所有PHY链路的数量的二分之一。若是,则进入到步骤S14;若否,则进入到步骤S17。
S17:输出宽端口告警信息,以提示更换宽端口。
在具体实施中,为了保障Expander背板的下行硬盘的带宽速率,则与Expander背板级联的宽端口中,因发生链路误码而关闭的PHY链路的数量需要小于一个固定数量,以便于宽端口中剩余的PHY链路能够保障Expander背板的下行硬盘的带宽速率。
具体地,在关闭误码清零的PHY链路之前,首先获取误码清零的PHY链路所在的宽端口中已关闭的PHY链路的数量,即确定该宽端口中之前关闭了多少PHY链路。进一步地,判断已关闭的PHY链路的数量是否小于宽端口中所有PHY链路的数量的二分之一。以SAS X4宽端口为例,该宽端口中存在四根PHY链路,则判断该宽端口中已关闭的PHY链路的数量是否小于两根。若是,则可以继续关闭PHY链路,进入步骤S14;若否,则说明此时该宽端口中的PHY链路已经达到能够保障Expander背板的下行硬盘的带宽速率的数量,无法继续关闭PHY链路,则说明该宽端口已经无法再进行链路误码的处理,此时输出宽端口告警信息,以提示更换新的宽端口。
本实施例中,通过获取误码清零的PHY链路所在的宽端口中已关闭的PHY链路的数量。判断已关闭的PHY链路的数量是否小于宽端口中所有PHY链路的数量的二分之一。若是,则关闭误码清零的PHY链路;若否,则输出宽端口告警信息,以提示更换宽端口,实现了链路误码的处理,同时保障了Expander背板下行硬盘的带宽速率。
在上述实施例的基础上:
作为一种优选的实施例,还包括:
通过修改Expander配置文件降低PHY链路的传输速率,以便于降低PHY链路中误码的数量。
为了进一步地解决链路误码,作为一种优选的实施例,本实施例中还可通过修改Expander配置文件降低PHY链路的传输速率。例如,将RAID卡至Expander背板的链路传输速率由12Gb/s(SAS链路默认速率为12Gb/s)降速至6Gb/s,从而减少了PHY链路中的误码的数量,降低了误码值。
在上述实施例的基础上:
作为一种优选的实施例,若PHY链路中的误码值大于阈值,还包括:
输出提示检修部件的信息。
在具体实施中,当PHY链路中的误码值大于阈值,则确认PHY链路发生了链路误码。为了保证设备的正常运行,输出提示检修线缆或RAID卡的等部件的信息,以提示用户对硬件部件进行检修。
作为一种优选的实施例,在输出提示检修部件的信息之后,生成PHY链路的误码日志,以记录此时PHY链路发送链路误码的具体情况。进一步地,在生成PHY链路的误码日志之后,根据误码日志对PHY链路进行维护,确保了硬件设备的可靠运行。
在上述实施例中,对于链路误码处理方法进行了详细描述,本申请还提供链路误码处理装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件结构的角度。
图4为本申请实施例提供的一种链路误码处理装置的结构图。如图4所示,链路误码处理装置包括:
监测模块10,用于监测RAID卡的各宽端口中各PHY链路中的误码。
第一判断模块11,用于判断各PHY链路中的误码值是否大于阈值;若PHY链路中的误码值大于阈值,则触发误码处理模块。
误码处理模块12,用于将PHY链路中的误码清零;
第二判断模块13,用于判断在预设时间后误码清零的PHY链路是否满足预设条件;若在预设时间后误码清零的PHY链路不满足预设条件,则触发链路关闭模块;
链路关闭模块14,用于关闭误码清零的PHY链路。
作为一种优选的实施例,第二判断模块用于判断在预设时间后误码清零的PHY链路中误码值是否再次大于阈值;
若是,则不满足预设条件,触发链路关闭模块。
作为一种优选的实施例,还包括:
获取模块,用于获取误码清零的PHY链路所在的宽端口中已关闭的PHY链路的数量;
第三判断模块,用于判断已关闭的PHY链路的数量是否小于宽端口中所有PHY链路的数量的二分之一;若是,则触发链路关闭模块;若否,则触发告警模块;
告警模块,用于输出宽端口告警信息,以提示更换宽端口。
作为一种优选的实施例,还包括:
配置文件修改模块,用于通过修改Expander配置文件降低PHY链路的传输速率,以便于降低PHY链路中误码的数量。
作为一种优选的实施例,还包括:
提示模块,用于若PHY链路中的误码值大于阈值,输出提示检修部件的信息。
作为一种优选的实施例,还包括:
误码日志生成模块,用于生成PHY链路的误码日志。
作为一种优选的实施例,还包括:
维护模块,用于根据误码日志对PHY链路进行维护。
本实施例中,链路误码处理装置包括监测模块、第一判断模块、误码处理模块、第二判断模块和链路关闭模块。通过监测RAID卡的各宽端口中各PHY链路中的误码;判断各PHY链路中的误码值是否大于阈值;若PHY链路中的误码值大于阈值,则将PHY链路中的误码清零;判断在预设时间后误码清零的PHY链路是否满足预设条件;若在预设时间后误码清零的PHY链路不满足预设条件,则关闭误码清零的PHY链路。由此可知,上述方案实现了链路误码的监测,能够及时地检测到链路误码的发生;同时根据存在误码的链路的具体情况进行误码清零或关闭链路,有效的解决了链路误码的问题,延长了硬件设备的使用寿命,节省了硬件设备的更换成本。
图5为本申请实施例提供的另一种链路误码处理装置的结构图。如图5所示,链路误码处理装置包括:
存储器20,用于存储计算机程序。
处理器21,用于执行计算机程序时实现如上述实施例中所提到的链路误码处理方法的步骤。
本实施例提供的链路误码处理装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图形处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的链路误码处理方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于链路误码处理方法涉及到的数据。
在一些实施例中,链路误码处理装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对链路误码处理装置的限定,可以包括比图示更多或更少的组件。
本实施例中,链路误码处理装置包括存储器和处理器。处理器用于执行计算机程序时实现如上述实施例中所提到的链路误码处理方法的步骤。通过监测RAID卡的各宽端口中各PHY链路中的误码;判断各PHY链路中的误码值是否大于阈值;若PHY链路中的误码值大于阈值,则将PHY链路中的误码清零;判断在预设时间后误码清零的PHY链路是否满足预设条件;若在预设时间后误码清零的PHY链路不满足预设条件,则关闭误码清零的PHY链路。由此可知,上述方案实现了链路误码的监测,能够及时地检测到链路误码的发生;同时根据存在误码的链路的具体情况进行误码清零或关闭链路,有效的解决了链路误码的问题,延长了硬件设备的使用寿命,节省了硬件设备的更换成本。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。通过监测RAID卡的各宽端口中各PHY链路中的误码;判断各PHY链路中的误码值是否大于阈值;若PHY链路中的误码值大于阈值,则将PHY链路中的误码清零;判断在预设时间后误码清零的PHY链路是否满足预设条件;若在预设时间后误码清零的PHY链路不满足预设条件,则关闭误码清零的PHY链路。由此可知,上述方案实现了链路误码的监测,能够及时地检测到链路误码的发生;同时根据存在误码的链路的具体情况进行误码清零或关闭链路,有效的解决了链路误码的问题,延长了硬件设备的使用寿命,节省了硬件设备的更换成本。
为了使本领域的技术人员更好的理解本申请的技术方案,下面结合附图6对上述本申请作进一步的详细说明。图6为本申请实施例提供的链路误码处理方法在应用场景中的流程图。如图6所示,该方法包括:
S20:监测各PHY链路中的误码;
S21:当确认PHY链路中的误码值大于阈值,Reset该PHY链路;
S22:在预设时间后,若经过Reset的PHY链路中的误码值再次大于阈值,检测当前宽端口中关闭的PHY链路的数量;
S23:若当前宽端口中关闭的PHY链路的数量小于当前宽端口中所有PHY链路的数量的二分之一,关闭上述经过Reset的PHY链路;
S24:若当前宽端口中关闭的PHY链路的数量不小于当前宽端口中所有PHY链路的数量的二分之一,输出宽端口告警信息。
该应用场景具体为:监测RAID卡各宽端口中各PHY链路中的误码情况。当确认PHY链路中的误码值大于阈值,Reset该PHY链路,对该PHY链路中的误码清零。在预设时间后,若经过Reset的PHY链路中的误码值持续升高并再次大于阈值,检测当前宽端口中关闭的PHY链路的数量。为保障Expander背板下行硬盘的带宽速率,若当前宽端口中关闭的PHY链路的数量小于当前宽端口中所有PHY链路的数量的二分之一,允许关闭上述经过Reset的PHY链路;若当前宽端口中关闭的PHY链路的数量不小于当前宽端口中所有PHY链路的数量的二分之一,则直接输出宽端口告警信息,以提示更换宽端口。
以上对本申请所提供的一种链路误码处理方法、装置及计算机可读存储介质。进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。