CN109992437B - 硬盘闪断的处理方法、装置、设备和存储介质 - Google Patents

硬盘闪断的处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN109992437B
CN109992437B CN201711479708.XA CN201711479708A CN109992437B CN 109992437 B CN109992437 B CN 109992437B CN 201711479708 A CN201711479708 A CN 201711479708A CN 109992437 B CN109992437 B CN 109992437B
Authority
CN
China
Prior art keywords
hard disk
link establishment
time
flash
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.)
Active
Application number
CN201711479708.XA
Other languages
English (en)
Other versions
CN109992437A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711479708.XA priority Critical patent/CN109992437B/zh
Priority to PCT/CN2018/119710 priority patent/WO2019128673A1/zh
Publication of CN109992437A publication Critical patent/CN109992437A/zh
Application granted granted Critical
Publication of CN109992437B publication Critical patent/CN109992437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Abstract

本发明提供了一种硬盘闪断的处理方法、装置、设备和存储介质,涉及存储技术领域。该硬盘闪断的处理方法,包括:在主机设备接收到中断事件通知的情况下,获取与中断事件通知对应的硬盘的连接状态,连接状态包括插拔状态和未插拔状态;若与中断事件通知对应的硬盘的连接状态为未插拔状态,则统计接收到中断事件通知后硬盘在一段时长内的链路建立频率;检测硬盘在一段时长内的链路建立频率是否超出安全链路建立频率;若硬盘在一段时长内的链路建立频率超出安全链路建立频率,则确定硬盘发生闪断故障。利用本发明的技术方案能够实现对硬盘闪断故障的识别,便于对发生闪断故障的硬盘进行处理,提高主机设备的操作系统的工作效率。

Description

硬盘闪断的处理方法、装置、设备和存储介质
技术领域
本发明涉及存储技术领域,尤其涉及一种硬盘闪断的处理方法、装置、设备和存储介质。
背景技术
在需要外接硬盘的主机设备中,向硬盘读写数据。正常的硬盘在设备中完成上线和初始化后,会在主机设备中保持稳定的工作状态,不停的完成主机设备下发的数据读写操作。但是硬盘可能会由于内部异常,使得硬盘插入主机设备后不断重复硬盘上线、硬盘下线的动作。硬盘插入主机设备后不断重复硬盘上线、硬盘下线的动作即为硬盘闪断。硬盘闪断不仅导致硬盘无法使用,而且使得主机设备还需要相应地去处理硬盘上线和硬盘下线的中断事件,降低了主机设备的工作效率。
主机设备可根据信号握手检测来完成硬盘的上线识别。但是硬盘闪断现象是在硬盘上线后才出现的,而在硬盘上线时的信号握手检测是正常的。因此,通过信号握手检测可以识别硬盘是否上线,但无法检测到硬盘是否发生闪断故障。使得硬盘发生闪断故障时,操作系统的工作效率仍较低。
发明内容
本申请提供一种硬盘闪断的处理方法、装置、设备和存储介质,能够实现对硬盘闪断故障的识别,便于对发生闪断故障的硬盘进行处理,提高了主机设备的操作系统的工作效率。
第一方面,本申请提供了一种硬盘闪断的处理方法,包括:在主机设备接收到中断事件通知的情况下,获取与中断事件通知对应的硬盘的连接状态,连接状态包括插拔状态和未插拔状态;若与中断事件通知对应的硬盘的连接状态为未插拔状态,则统计接收到中断事件通知后硬盘在一段时长内的链路建立频率;检测硬盘在一段时长内的链路建立频率是否超出安全链路建立频率;若硬盘在一段时长内的链路建立频率超出安全链路建立频率,则确定硬盘发生闪断故障。
在主机设备接收到中断事件通知的情况下,通过与中断事件通知对应的硬盘的连接状态,判断是否触发硬盘闪断的检测和处理。若硬盘的连接状态为未插拔状态,则可统计接收到中断事件通知后硬盘在在一段时长内的链路建立频率。通过对比硬盘在一段时长内的链路建立频率与安全链路建立频率,判断在未发生物理插入的条件下,硬盘与主机设备中间的链路是否发生多次断开又连接的情况。在未发生物理插入的条件下,硬盘与主机设备中间的链路建立频率超过安全链路建立频率,判定出硬盘发生闪断故障。从而实现对硬盘闪断故障的识别,便于对发生闪断故障的硬盘进行处理,避免主机设备中的操作系统占用大量资源处理由于硬盘发生闪断故障引起的硬盘不断的断开链路和建立链路,从而提高了主机设备的操作系统的工作效率。
在第一方面的一些实施例中,统计接收到中断事件通知后硬盘在一段时长内的链路建立频率,包括:以主机设备接收到中断事件通知后的任一时刻为起始时刻,从起始时刻开始记录链路建立次数;将记录的链路建立次数满足预设链路建立统计次数的时刻作为截止时刻;基于预设链路建立统计次数和起始时刻与截止时刻之间的时长,计算得到起始时刻与截止时刻之间的时长内的链路建立频率,并将起始时刻与截止时刻之间的时长内的链路建立频率作为一段时长内的链路建立频率。
在第一方面的一些实施例中,统计接收到中断事件通知后硬盘在一段时长内的链路建立频率,包括:以主机设备接收到中断事件通知后的任一时刻为起始时刻,从起始时刻开始计时;获取计时的时长为预设时长内的链路建立次数;基于链路建立次数和预设时长,计算得到预设时长内的链路建立频率,并将预设时长内的链路建立频率作为一段时长内的链路建立频率。
在第一方面的一些实施例中,获取与中断事件通知对应的硬盘的连接状态,包括:检测是否存在插拔标记,插拔标记是根据用于连接硬盘的硬盘连接器的连接状态引脚的引脚电平变化生成的;若存在插拔标记,则确定硬盘的连接状态为插拔状态;若不存在插拔标记,则确定硬盘的连接状态为未插拔状态。
设置插拔标记,使得对硬盘连接状态的获取检测更加方便直观,在不存在插拔标记的情况下可快速触发硬盘闪断的检测识别。
在第一方面的一些实施例中,硬盘闪断的处理方法还包括:通信隔离发生闪断故障的硬盘与主机设备。
硬盘与主机设备进行通信的端口被关闭后,主机设备的操作系统不会再对硬盘不断的断开链接和建立链接的请求进行响应,从而隔离硬盘发生闪断故障对主机设备的影响。
在第一方面的一些实施例中,通信隔离发生闪断故障的硬盘与主机设备,包括:控制关闭主机设备的硬盘连接器用于与硬盘进行通信的端口。
在第一方面的一些实施例中,端口包括串行高级技术附件SATA端口或串行连接小型计算机系统SAS端口。
在第一方面的一些实施例中,在将发生闪断故障的硬盘与主机设备通信隔离之后,还包括:若检测到发生闪断的硬盘对应的主机设备的硬盘连接器再次发生物理插入,则恢复硬盘连接器连接的硬盘与主机设备之间的通信。
在新的硬盘插入后,可恢复该硬盘与主机设备之间的通信,避免已经更换正常硬盘却没有使用而造成的资源浪费。
第二方面,本申请提供了一种硬盘闪断的处理装置,其特征在于,包括:状态获取模块,用于在主机设备接收到中断事件通知的情况下,获取与中断事件通知对应的硬盘的连接状态,连接状态包括插拔状态和未插拔状态;统计模块,用于若与中断事件通知对应的硬盘的连接状态为未插拔状态,则统计接收到中断事件通知后硬盘在一段时长内的链路建立频率;检测模块,用于检测硬盘在一段时长内的链路建立频率是否超出安全链路建立频率;闪断确定模块,用于若硬盘在一段时长内的链路建立频率超出安全链路建立频率,则确定硬盘发生闪断故障。
在第二方面的一些实施例中,统计模块具体用于:以主机设备接收到中断事件通知后的任一时刻为起始时刻,从起始时刻开始记录链路建立次数;将记录的链路建立次数满足预设链路建立统计次数的时刻作为截止时刻;基于预设链路建立统计次数和起始时刻与截止时刻之间的时长,计算得到起始时刻与截止时刻之间的时长内的链路建立频率,并将起始时刻与截止时刻之间的时长内的链路建立频率作为一段时长内的链路建立频率。
在第二方面的一些实施例中,统计模块具体用于:以主机设备接收到中断事件通知后的任一时刻为起始时刻,从起始时刻开始计时;获取计时的时长为预设时长内的链路建立次数;基于链路建立次数和预设时长,计算得到预设时长内的链路建立频率,并将预设时长内的链路建立频率作为一段时长内的链路建立频率。
在第二方面的一些实施例中,状态获取模块具体用于:检测是否存在插拔标记,插拔标记是根据用于连接硬盘的硬盘连接器的连接状态引脚的引脚电平变化生成的;若存在插拔标记,则确定硬盘的连接状态为插拔状态;若不存在插拔标记,则确定硬盘的连接状态为未插拔状态。
在第二方面的一些实施例中,上述硬盘闪断的处理装置还包括:通信隔离模块,用于通信隔离发生闪断故障的硬盘与主机设备。
在第二方面的一些实施例中,通信隔离模块具体用于:控制关闭主机设备的硬盘连接器用于与硬盘进行通信的端口。
在第二方面的一些实施例中,端口包括串行高级技术附件SATA端口或串行连接小型计算机系统SAS端口。
在第二方面的一些实施例中,上述硬盘闪断的处理装置还包括:通信恢复模块,用于当检测到发生闪断的硬盘对应的主机设备的硬盘连接器再次发生物理插入,恢复硬盘连接器连接的硬盘与主机设备之间的通信。
第三方面,本申请提供一种硬盘闪断的处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述技术方案中的硬盘闪断的处理方法。
第四方面,本申请提供一种存储介质,其上存储有程序,程序被处理器执行时实现上述技术方案中的硬盘闪断的处理方法。
附图说明
图1为本发明一实施例中一种硬盘闪断的处理方法的流程图;
图2为本发明实施例中一种硬盘连接器的示意图;
图3为本发明实施例中SATA硬盘与主机设备进行通信的端口的SControl寄存器的字段示意图;
图4为本发明一实施例一示例中一种硬盘闪断处理的方法的流程图;
图5为本发明一实施例中一种硬盘闪断处理的装置的结构示意图;
图6为本发明另一实施例中一种硬盘闪断处理的装置的结构示意图;
图7为本发明一实施例中一种硬盘闪断处理的设备的结构示意图。
具体实施方式
本发明实施例提供一种硬盘闪断的处理方法、装置、设备和存储介质,可应用于主机设备对连接在主机设备的硬盘进行闪断故障判定及处理的场景中。硬盘可通过主机设备中的硬盘连接器与主机设备连接。硬盘可为串行高级技术附件(Serial AdvancedTechnology Attachment,SATA)硬盘,也可以为串行连接小型计算机系统接口(SerialAttached Small Computer System Interface,SAS)硬盘,在此并不限定硬盘的种类。硬盘可以预先插入硬盘连接器后封装在主机设备中的硬盘,也可以为外接的随时可插拔的硬盘,在此并不限定。主机设备可以为服务器、用户端主机等,在此并不限定。
图1为本发明一实施例中一种硬盘闪断的处理方法的流程图。硬盘闪断的处理方法可由硬盘闪断装置执行,硬盘闪断装置可以为安装在主机中的功能模块,也可为外接在主机设备上的功能装置,在此并不限定。如图1所示,硬盘闪断的处理方法包括步骤S101至步骤S104。
在步骤S101中,在主机设备接收到中断事件通知的情况下,获取与中断事件通知对应的硬盘的连接状态。
当硬盘与主机之间的链路断开或建立时,会向主机设备发送中断事件通知以上报中断事件。主机设备接收到中断事件通知,触发对硬盘闪断的识别和处理。其中,连接状态用于表征硬盘与主机设备的硬盘连接器是否连通。连接状态包括插拔状态和未插拔状态。插拔状态表征硬盘相对于硬盘连接器发生物理插入或物理拔出。未插拔状态表征硬盘保持与硬盘连接器的连通,并未发生物理插入或物理拔出。硬盘的物理插入和物理拔出均会引起主机设备的硬盘连接器与硬盘的连接端口的状态发生变化。在硬盘插入主机设备的硬盘连接器,主机设备上电或者主机设备挂载的硬盘的驱动程序开始运行后,主机设备可获取到硬盘连接器与硬盘的连接端口的初始状态。若主机设备检测到硬盘连接器与硬盘的连接端口的端口由初始状态变化为其他状态,则可判定硬盘发生了物理拔出。硬盘发生物理拔出后,硬盘连接器与硬盘的连接端口的状态为空闲状态。若硬盘连接器与硬盘的连接端口的状态由空闲状态变化为初始状态,则可判定硬盘发生了物理插入。
在一个示例中,主机设备可设置插拔标记,插拔标记表明硬盘发生物理插入或物理拔出。插拔标记是根据用于连接硬盘的硬盘连接器的连接状态引脚的引脚电平变化生成的。若连接状态引脚的引脚电平发生变化,则可确定硬盘与硬盘连接器发生了物理插入或物理拔出。其中,连接状态引脚为硬盘连接器中的一个引脚,状态连接引脚可指示硬盘活动状态。比如,若硬盘为SATA硬盘,则与SATA硬盘匹配的硬盘连接器中的电源线接口中的P11引脚为本发明实施例中的连接状态引脚。图2为本发明实施例中一种硬盘连接器的示意图。如图2所示,硬盘连接器包括数据线接口和电源线接口。其中,数据线接口包括地线引脚GND以及数据信号收发引脚Rx和Tx。电源线接口包括供电引脚(包括3.3V、5V和12V)、接地引脚GND和P11引脚以及其他引脚。P11引脚被定义为一个多功能的引脚,P11引脚可用于控制硬盘起转,以及指示硬盘活动状态等。P11引脚的功能也可以受用户控制自定义。
若硬盘未发生物理插入或物理拔出,则不会生成插拔标记。因此可通过检测是否存在插拔标记来判断与中断事件通知对应的硬盘的连接状态。若存在插拔标记,则确定硬盘的连接状态为插拔状态。若不存在插拔标记,则确定硬盘的连接状态为未插拔状态
在步骤S102中,若与中断事件通知对应的硬盘的连接状态为未插拔状态,则统计接收到中断事件通知后硬盘在一段时长内的链路建立频率。
硬盘在插入主机设备的硬盘连接器后,硬盘需要与主机设备进行链路建立。在一个示例中,硬盘与主机设备可通过握手信号建立链路。若硬盘为闪断硬盘,则硬盘则会发生闪断故障导致硬盘下线,断开与主机设备之间的链路。由于闪断硬盘还连接在硬盘连接器上,硬盘会再次与主机设备进行链路建立。之后,闪断硬盘将会重复与主机设备断开链路、再次与主机设备建立链路的过程。
与中断事件通知对应的硬盘的连接状态为未插拔状态,则表明主机设备接收到中断事件通知后的链路建立并不是因为硬盘的物理插入引起的。需要通过一段时长内的链路建立频率来判断该硬盘是否发生闪断故障。需要说明的是,在本发明实施例中,硬盘每发生一次物理插入,则在物理插入之前统计的链路建立次数清零。
在一个示例中,可以将主机设备接收到中断事件通知后的任一时刻作为起始时刻,从起始时刻开始记录链路建立次数。将记录的链路建立次数满足预设链路建立统计次数的时刻作为截止时刻。预设链路建立统计次数和起始时刻与截止时刻之间的时长,计算得到起始时刻与截止时刻之间的时长内的链路建立频率,并将起始时刻与截止时刻之间的时长内的链路建立频率作为一段时长内的链路建立频率。比如,将主机设备接收到中断事件通知后的时刻作为起始时刻,记录链路建立次数达到10次所需要的时长,若链路建立次数达到10次的时长为5分钟,则在这5分钟内的链路建立频率为2次/分钟。
在另一个示例中,可以将主机设备接收到中断事件通知后的任一时刻为起始时刻,从起始时刻开始计时。获取计时的时长为预设时长内的链路建立次数。基于链路建立次数和预设时长,计算得到预设时长内的链路建立频率,并将预设时长内的链路建立频率作为一段时长内的链路建立频率。比如,主机设备接收到中断事件通知的时刻为当天上午10:00,预设时长为10分钟,可统计当天上午10:05至上午10:15之间的链路建立次数为15次,则在这10分钟内的链路建立频率为1.5次/分钟。
在步骤S103中,检测硬盘在一段时长内的链路建立频率是否超出安全链路建立频率。
在正常状态下,硬盘每发生一次物理插入,则硬盘对应会与主机设备进行一次链路建立。若硬盘发生闪断故障,硬盘每发生一次物理插拔,硬盘可能对应会与主机设备进行多次链路建立。可通过设定安全链路建立频率用于判断硬盘是否发生闪断故障。安全链路建立频率为硬盘未发生闪断故障所限定的最高的链路建立频率,安全链路建立频率可根据具体的工作场景、工作需求、经验等设定,在此并不限定。链路建立频率未超出安全链路建立频率则表明链路建立均为正常状态下的链路建立,是物理插入引起的链路建立,而不是由于硬盘的闪断故障引起的异常链路建立。链路建立频率超出安全链路建立频率则表明链路建立是由于硬盘的闪断故障引起的异常链路建立。
在步骤S104中,若硬盘在一段时长内的链路建立频率超出安全链路建立频率,则确定硬盘发生闪断故障。
比如,硬盘在最近一次发生物理插入后的10分钟内的链路建立频率为3次/分钟,安全链路建立频率为2次/分钟,则可确定硬盘发生闪断故障。
在确定发生闪断故障的硬盘后,为了避免发生闪断故障的硬盘不断的断开与主机设备的链接,又再次与主机设备进行链接建立对主机设备的操作系统的影响。可通信隔离发生闪断故障的硬盘与主机设备。具体的,可控制关闭主机设备的连接器用于与硬盘进行通信的端口。如图2所示,可控制硬盘连接器关闭与硬盘连接的数据线接口。比如,硬盘为SATA硬盘,则可根据SATA协议,对SATA硬盘与主机设备进行通信的端口的状态控制寄存器(tatus and Control Registers,SControl寄存器)进行控制。SATA硬盘与主机设备进行通信的端口具有一组状态控制寄存器,具体的,可通过一组状态控制寄存器中的第3个状态控制寄存器(即SCR2)来进行控制。比如,图3为本发明实施例中SATA硬盘与主机设备进行通信的端口的SControl寄存器的字段示意图。如图3所示,SControl寄存器的字段包括保留字段即Reserve(0)字段、端口扩展器端口(Port Multiplier Port,PMP)字段、电源管理选择(Select Power Management,SPM)字段、接口电源管理(Interface power Management,IPM)字段、速度(speed,SPD)字段和侦查(detection,ET)字段。其中,保留字段的默认值为0。PMP字段用于端口扩展器通信时使用。SPM字段可用于设置端口的电源管理状态。IPM字段可用于表示端口支持的电源管理状态。SPD字段代表当SATA端口的链接建立时所允许协商的最大速率。DET字段用于控制端口的设备侦查功能和接口初始化。在本发明实施例中,可将SATA硬盘与主机设备进行通信的端口的SControl寄存器中的DET字段设置为0100b,从而关闭SATA硬盘与主机设备进行通信的端口。硬盘与主机设备进行通信的端口被关闭后,主机设备的操作系统不会再对硬盘不断的断开链接和建立链接的请求进行响应,从而隔离硬盘发生闪断故障对主机设备的影响。
在通信隔离发生闪断故障的所硬盘与主机设备之后,若用户更换新的硬盘,将新的硬盘插入原发生闪断故障的硬盘所在的硬盘连接器,主机设备检测到硬盘连接器在此发生物理插拔,则可恢复该硬盘连接器当前连接的硬盘与主机设备之间的通信。具体的,可将主机设备与该硬盘之间用于通信的端口使能。比如,硬盘为SATA硬盘,则可根据SATA协议,将SATA硬盘与主机设备进行通信的端口的SControl寄存器中的DET字段设置为0001b,使能该端口,建立该硬盘与主机设备之间的通信。使得更换新的硬盘后,可使用新更换的硬盘,避免资源浪费。
在一个示例中,上述实施例中的硬盘用于与主机设备通信的端口可以为SATA端口、SAS端口等,在此并不限定。
在本发明实施例中,在主机设备接收到中断事件通知的情况下,通过与中断事件通知对应的硬盘的连接状态,判断是否触发硬盘闪断的检测和处理。若硬盘的连接状态为未插拔状态,则可统计接收到中断事件通知后硬盘在在一段时长内的链路建立频率。通过对比硬盘在一段时长内的链路建立频率与安全链路建立频率,判断在未发生物理插入的条件下,硬盘与主机设备中间的链路是否发生多次断开又连接的情况。在未发生物理插入的条件下,硬盘与主机设备中间的链路建立频率超过安全链路建立频率,判定出硬盘发生闪断故障。从而实现对硬盘闪断故障的识别,便于对发生闪断故障的硬盘进行处理,避免主机设备中的操作系统占用大量资源处理由于硬盘发生闪断故障引起的硬盘不断的断开链路和建立链路,从而提高了主机设备的操作系统的工作效率。
下面将以硬盘闪断处理装置内置于主机设备,以及硬盘为SATA硬盘为例,对SATA硬盘的硬盘闪断处理的方法进行举例说明。图4为本发明一实施例一示例中一种硬盘闪断处理的方法的流程图。如图4所示,硬盘闪断的处理方法可包括步骤S201至步骤S213。
在步骤S201中,硬盘接入主机设备。
需要说明的是,本示例的初始场景为硬盘还未接入主机设备的场景。这里的硬盘接入主机设备具体可为硬盘插入主机设备的硬盘连接器中,也可为硬盘连接硬盘连接器所在的单盘启动。
在步骤S202中,通过主机设备的硬盘连接器上的P11引脚的引脚电平,判断硬盘连接器连接的硬盘是否发生过物理插拔。
步骤S202的说明可参见上述实施例中步骤S101至步骤S104中的相关内容,在此不再赘述。
在步骤S203中,若判定硬盘发生过物理插拔,则使能该硬盘与主机设备通信的端口。
其中,可通过调整SATA硬盘与主机设备通信的端口的SControl寄存器中的DET字段,使能硬盘与主机设备通信的端口。具体说明可参见上述实施例中步骤S101至步骤S104中的相关内容,在此不再赘述。
在步骤S204中,硬盘与主机设备之间进行SATA协商链接建立。
硬盘与主机设备之间可通过握手信号协商建立链接。
在步骤S205中,硬盘与主机设备之间的链接建立成功后,主机设备向主机设备中的中央处理器(Central Processing Unit,CPU)发出中断事件通知。
在本示例中,中断事件通知为通知CPU硬盘与主机设备之间的链接已建立成功的载体。在其他的示例中,也可采用其他指令或消息作为载体,在此并不限定。
在步骤S206中,主机设备的CPU接收中断事件通知,处理硬盘链接建立成功后的上线事件。
主机设备的CPU接收到中断通知,获取到硬盘与主机设备之间的链接成功的信息。硬盘加入主机设备所在的系统,主机设备处理硬盘上线的事件,使得硬盘上线。
在步骤S207中,主机设备判断该硬盘是否发生物理插拔。
步骤S207的说明可参见上述实施例中步骤S101至步骤S104中的相关内容,在此不再赘述。
在步骤S208中,若判定该硬盘发生物理插拔,硬盘与主机设备之间建立链接,则确定硬盘为正常硬盘。
硬盘发生物理插拔后,在正常情况下,硬盘需要与主机设备之间建立链接,在这种条件下的链路建立为正常的链路建立。
在步骤S209中,若确定硬盘为正常硬盘,主机设备为硬盘挂载驱动,驱动为硬盘生产对应的块设备节点。
驱动为硬盘生产对应的块设备节点后表明驱动挂载成功。
在步骤S210中,主机设备完成硬盘设备初始化,使硬盘开始工作。
在步骤S211中,若判定该硬盘未发生过物理插拔,硬盘与主机设备之间建立链路,则确定硬盘为闪断硬盘。
硬盘未发生物理插拔后,在正常情况下,硬盘与主机设备之间不会重新建立链接,在硬盘未发生物理插拔的条件下,链路建立为异常的链路建立。
在步骤S212中,若硬盘为闪断硬盘,则根据SATA协议将主机设备的硬盘连接器与该闪断硬盘进行通信的端口关闭。
在步骤S213中,若主机设备检测到硬盘连接器再次发生了物理插拔,则恢复硬盘连接器与当前的硬盘用于通信的端口的通信功能,并跳转至步骤S202,重新进行当前硬盘的闪断判断和处理流程。
其中,步骤S210至步骤S213的说明可参见上述实施例中步骤S101至步骤S104中的相关内容,在此不再赘述。
在本发明的另一个实施例中,也可以记录一段时间内硬盘的物理插拔状态,若物理插拔状态表征硬盘在一段时长内发生了物理插入,则可获取硬盘在这一段时长内的物理插入频率,并检测硬盘在这一段时长内的链路建立频率与硬盘在这一段时长内的物理插入频率的差值是否超出安全链路频率差值阈值。也可获取硬盘在这一段时长内的物理插拔次数,并检测硬盘在这一段时长内的链路建立次数与硬盘在这一段时长内的物理插拔次数的差值是否超出安全链路次数差值阈值。
在正常状态下,硬盘每发生一次物理插拔,则硬盘对应会与主机设备进行一次链路建立。在某些情况下,硬盘未发生闪断故障,硬盘每发生一次物理插拔,硬盘可能对应会与主机设备进行多次链路建立,但在一段时长内,非闪断故障引发的链路建立的次数小于闪断故障引发的链路次数。安全链路频率差值阈值可根据工作场景、工作需求、经验等设定,在此并不限定。闪断故障条件下链路建立频率高于非闪断故障下的链路建立频率。比如,在5分钟内,检测到硬盘发生2次物理插拔,在这5分钟内硬盘的链路建立次数为2次,即物理插入频率为1次/分钟,链路建立频率为1次/分钟,链路建立频率与物理插入频率的差值为0。设定安全链路频率差值阈值为1次/分钟。链路建立频率与物理插入频率的差值未超过安全链路频率差值阈值,则确定硬盘未发生闪断故障。若在5分钟内硬盘的链路建立次数为10次,则链路建立频率与物理插拔频率的差值超过安全链路频率差值阈值,可确定硬盘发生闪断故障。
图5为本发明一实施例中一种硬盘闪断处理的装置300的结构示意图。如图5所示,硬盘闪断处理的装置300包括状态获取模块301、统计模块302、检测模块303和闪断确定模块304。
状态获取模块301,用于在主机设备接收到中断事件通知的情况下,获取与中断事件通知对应的硬盘的连接状态,连接状态包括插拔状态和未插拔状态。
统计模块302,用于若与中断事件通知对应的硬盘的连接状态为未插拔状态,则统计接收到中断事件通知后硬盘在一段时长内的链路建立频率。
检测模块303,用于检测硬盘在一段时长内的链路建立频率是否超出安全链路建立频率。
闪断确定模块304,用于若硬盘在一段时长内的链路建立频率超出安全链路建立频率,则确定硬盘发生闪断故障。
在本发明实施例中,在主机设备接收到中断事件通知的情况下,通过与中断事件通知对应的硬盘的连接状态,判断是否触发硬盘闪断的检测和处理。若硬盘的连接状态为未插拔状态,则可统计接收到中断事件通知后硬盘在在一段时长内的链路建立频率。通过对比硬盘在一段时长内的链路建立频率与安全链路建立频率,判断在未发生物理插入的条件下,硬盘与主机设备中间的链路是否发生多次断开又连接的情况。在未发生物理插入的条件下,硬盘与主机设备中间的链路建立频率超过安全链路建立频率,判定出硬盘发生闪断故障。从而实现对硬盘闪断故障的识别,便于对发生闪断故障的硬盘进行处理,避免主机设备中的操作系统占用大量资源处理由于硬盘发生闪断故障引起的硬盘不断的断开链路和建立链路,从而提高了主机设备的操作系统的工作效率。
在一个示例中,统计模块302具体用于:以主机设备接收到中断事件通知后的任一时刻为起始时刻,从起始时刻开始记录链路建立次数;将记录的链路建立次数满足预设链路建立统计次数的时刻作为截止时刻;基于预设链路建立统计次数和起始时刻与截止时刻之间的时长,计算得到起始时刻与截止时刻之间的时长内的链路建立频率,并将起始时刻与截止时刻之间的时长内的链路建立频率作为一段时长内的链路建立频率。
在一个示例中,统计模块302具体用于:以主机设备接收到中断事件通知后的任一时刻为起始时刻,从起始时刻开始计时;获取计时的时长为预设时长内的链路建立次数;基于链路建立次数和预设时长,计算得到预设时长内的链路建立频率,并将预设时长内的链路建立频率作为一段时长内的链路建立频率。
在一个示例中,状态获取模块301具体用于:检测是否存在插拔标记,插拔标记是根据用于连接硬盘的硬盘连接器的连接状态引脚的引脚电平变化生成的;若存在插拔标记,则确定硬盘的连接状态为插拔状态;若不存在插拔标记,则确定硬盘的连接状态为未插拔状态。
图6为本发明另一实施例中一种硬盘闪断处理的装置300的结构示意图。与图5所示的硬盘闪断处理的装置300相比,图6所示的硬盘闪断处理的装置300还包括通信隔离模块305和通信恢复模块306。
通信隔离模块305,用于通信隔离发生闪断故障的硬盘与主机设备。
具体的,通信隔离模块305具体用于:控制关闭主机设备的硬盘连接器用于与硬盘进行通信的端口。
通信恢复模块306,用于当检测到发生闪断的硬盘对应的主机设备的硬盘连接器再次发生物理插入,恢复硬盘连接器连接的硬盘与主机设备之间的通信。
在一个示例中,端口包括SATA端口或SAS端口。
结合图1至图6描述的根据本发明实施例的硬盘闪断的处理方法和装置可以由网元400来实现。图7为发明一实施例中的一种硬盘闪断的处理设备400的硬件结构示意图。
硬盘闪断的处理设备400包括存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序。
在一个示例中,上述处理器402可以包括中央处理器(CPU),或者特定集成电路(ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器401可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器401可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器401可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器401可在网元400的内部或外部。在特定实施例中,存储器401是非易失性固态存储器。在特定实施例中,存储器401包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器402通过读取存储器401中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行上述各个实施例中的硬盘闪断的处理方法。
在一个示例中,硬盘闪断的处理设备400还可包括通信接口403和总线404。其中,如图7所示,存储器401、处理器402、通信接口403通过总线404连接并完成相互间的通信。
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。也可通信接口403接入输入设备和/或输出设备。
总线404包括硬件、软件或两者,将网元400的部件彼此耦接在一起。举例来说而非限制,总线404可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线404可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
本发明一实施例还提供一种存储介质,该存储介质上存储有程序,该程序被处理器执行时可实现上述各个实施例中的硬盘闪断的处理方法。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置实施例、网元设备实施例和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (18)

1.一种硬盘闪断的处理方法,其特征在于,包括:
在主机设备接收到中断事件通知的情况下,获取与所述中断事件通知对应的硬盘的连接状态,所述连接状态包括插拔状态和未插拔状态;
若与所述中断事件通知对应的硬盘的连接状态为未插拔状态,则统计接收到所述中断事件通知后所述硬盘在一段时长内的链路建立频率;
检测所述硬盘在所述一段时长内的链路建立频率是否超出安全链路建立频率;
若所述硬盘在所述一段时长内的链路建立频率超出所述安全链路建立频率,则确定所述硬盘发生闪断故障;
其中,所述插拔状态表征所述硬盘相对于硬盘连接器发生物理插入或物理插出,所述未插拔状态表征所述硬盘相对于所述硬盘连接器未发生物理插入和物理插出。
2.根据权利要求1所述的方法,其特征在于,所述统计接收到所述中断事件通知后所述硬盘在一段时长内的链路建立频率,包括:
以所述主机设备接收到所述中断事件通知后的任一时刻为起始时刻,从所述起始时刻开始记录链路建立次数;
将记录的链路建立次数满足预设链路建立统计次数的时刻作为截止时刻;
基于所述预设链路建立统计次数和所述起始时刻与所述截止时刻之间的时长,计算得到所述起始时刻与所述截止时刻之间的时长内的链路建立频率,并将所述起始时刻与所述截止时刻之间的时长内的链路建立频率作为所述一段时长内的链路建立频率。
3.根据权利要求1所述的方法,其特征在于,所述统计接收到所述中断事件通知后所述硬盘在一段时长内的链路建立频率,包括:
以所述主机设备接收到所述中断事件通知后的任一时刻为起始时刻,从所述起始时刻开始计时;
获取计时的时长为预设时长内的链路建立次数;
基于所述链路建立次数和所述预设时长,计算得到所述预设时长内的链路建立频率,并将所述预设时长内的链路建立频率作为所述一段时长内的链路建立频率。
4.根据权利要求1所述的方法,其特征在于,所述获取与所述中断事件通知对应的硬盘的连接状态,包括:
检测是否存在插拔标记,所述插拔标记是根据用于连接所述硬盘的硬盘连接器的连接状态引脚的引脚电平变化生成的;
若存在所述插拔标记,则确定所述硬盘的连接状态为插拔状态;
若不存在所述插拔标记,则确定所述硬盘的连接状态为未插拔状态。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,还包括:
通信隔离发生闪断故障的所述硬盘与所述主机设备。
6.根据权利要求5所述的方法,其特征在于,所述通信隔离发生闪断故障的所述硬盘与所述主机设备,包括:
控制关闭所述主机设备的硬盘连接器用于与所述硬盘进行通信的端口。
7.根据权利要求6所述的方法,其特征在于,所述端口包括串行高级技术附件SATA端口或串行连接小型计算机系统SAS端口。
8.根据权利要求5所述的方法,其特征在于,在所述将发生闪断故障的所述硬盘与主机设备通信隔离之后,还包括:
若检测到发生闪断的所述硬盘对应的主机设备的硬盘连接器再次发生物理插入,则恢复所述硬盘连接器连接的硬盘与所述主机设备之间的通信。
9.一种硬盘闪断的处理装置,其特征在于,包括:
状态获取模块,用于在主机设备接收到中断事件通知的情况下,获取与所述中断事件通知对应的硬盘的连接状态,所述连接状态包括插拔状态和未插拔状态;
统计模块,用于若与所述中断事件通知对应的硬盘的连接状态为未插拔状态,则统计接收到所述中断事件通知后所述硬盘在一段时长内的链路建立频率;
检测模块,用于检测所述硬盘在所述一段时长内的链路建立频率是否超出安全链路建立频率;
闪断确定模块,用于若所述硬盘在所述一段时长内的链路建立频率超出所述安全链路建立频率,则确定所述硬盘发生闪断故障;
其中,所述插拔状态表征所述硬盘相对于硬盘连接器发生物理插入或物理插出,所述未插拔状态表征所述硬盘相对于所述硬盘连接器未发生物理插入和物理插出。
10.根据权利要求9所述的装置,其特征在于,所述统计模块具体用于:
以所述主机设备接收到所述中断事件通知后的任一时刻为起始时刻,从所述起始时刻开始记录链路建立次数;
将记录的链路建立次数满足预设链路建立统计次数的时刻作为截止时刻;
基于所述预设链路建立统计次数和所述起始时刻与所述截止时刻之间的时长,计算得到所述起始时刻与所述截止时刻之间的时长内的链路建立频率,并将所述起始时刻与所述截止时刻之间的时长内的链路建立频率作为所述一段时长内的链路建立频率。
11.根据权利要求9所述的装置,其特征在于,所述统计模块具体用于:
以所述主机设备接收到所述中断事件通知后的任一时刻为起始时刻,从所述起始时刻开始计时;
获取计时的时长为预设时长内的链路建立次数;
基于所述链路建立次数和所述预设时长,计算得到所述预设时长内的链路建立频率,并将所述预设时长内的链路建立频率作为所述一段时长内的链路建立频率。
12.根据权利要求9所述的装置,其特征在于,所述状态获取模块具体用于:
检测是否存在插拔标记,所述插拔标记是根据用于连接所述硬盘的硬盘连接器的连接状态引脚的引脚电平变化生成的;
若存在所述插拔标记,则确定所述硬盘的连接状态为插拔状态;
若不存在所述插拔标记,则确定所述硬盘的连接状态为未插拔状态。
13.根据权利要求9至12中任意一项所述的装置,其特征在于,还包括:
通信隔离模块,用于通信隔离发生闪断故障的所述硬盘与所述主机设备。
14.根据权利要求13所述的装置,其特征在于,所述通信隔离模块具体用于:控制关闭所述主机设备的硬盘连接器用于与所述硬盘进行通信的端口。
15.根据权利要求14所述的装置,其特征在于,所述端口包括串行高级技术附件SATA端口或串行连接小型计算机系统SAS端口。
16.根据权利要求13所述的装置,其特征在于,还包括:
通信恢复模块,用于当检测到发生闪断的所述硬盘对应的主机设备的硬盘连接器再次发生物理插入,恢复所述硬盘连接器连接的硬盘与所述主机设备之间的通信。
17.一种硬盘闪断的处理设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述处理器执行所述程序时实现如权利要求1至8中任意一项所述的硬盘闪断的处理方法。
18.一种存储介质,其特征在于,其上存储有程序,所述程序被处理器执行时实现如权利要求1至8中任意一项所述的硬盘闪断的处理方法。
CN201711479708.XA 2017-12-29 2017-12-29 硬盘闪断的处理方法、装置、设备和存储介质 Active CN109992437B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711479708.XA CN109992437B (zh) 2017-12-29 2017-12-29 硬盘闪断的处理方法、装置、设备和存储介质
PCT/CN2018/119710 WO2019128673A1 (zh) 2017-12-29 2018-12-07 硬盘闪断的处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711479708.XA CN109992437B (zh) 2017-12-29 2017-12-29 硬盘闪断的处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN109992437A CN109992437A (zh) 2019-07-09
CN109992437B true CN109992437B (zh) 2020-08-14

Family

ID=67066525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711479708.XA Active CN109992437B (zh) 2017-12-29 2017-12-29 硬盘闪断的处理方法、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN109992437B (zh)
WO (1) WO2019128673A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
CN112527700B (zh) * 2020-12-04 2024-04-12 四川效率源信息安全技术股份有限公司 一种基于pci-e装置实现隔离缺陷硬盘的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103543962A (zh) * 2013-10-28 2014-01-29 创新科软件技术(深圳)有限公司 一种扩展卡的磁盘上下线处理方法
CN105045691A (zh) * 2015-07-16 2015-11-11 浪潮(北京)电子信息产业有限公司 一种故障检测方法和系统
CN105468497A (zh) * 2015-12-15 2016-04-06 迈普通信技术股份有限公司 中断异常监控方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200807425A (en) * 2006-06-05 2008-02-01 Renesas Tech Corp Semiconductor device, unique ID of semiconductor device and method for verifying unique ID
CN103390429B (zh) * 2013-07-29 2016-07-27 华为技术有限公司 一种硬盘的在线检测方法及服务器
KR20150064351A (ko) * 2013-12-03 2015-06-11 삼성전자주식회사 전자기기 및 전자기기의 제어방법
CN105871586A (zh) * 2015-12-09 2016-08-17 乐视致新电子科技(天津)有限公司 一种控制数据传输的方法及移动终端
CN105760247A (zh) * 2016-02-05 2016-07-13 浪潮(北京)电子信息产业有限公司 一种硬盘故障处理系统和方法
CN106294084A (zh) * 2016-09-12 2017-01-04 恒为科技(上海)股份有限公司 一种硬盘状态监测系统
CN106815119A (zh) * 2016-12-20 2017-06-09 曙光信息产业(北京)有限公司 服务器的硬件监控装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103543962A (zh) * 2013-10-28 2014-01-29 创新科软件技术(深圳)有限公司 一种扩展卡的磁盘上下线处理方法
CN105045691A (zh) * 2015-07-16 2015-11-11 浪潮(北京)电子信息产业有限公司 一种故障检测方法和系统
CN105468497A (zh) * 2015-12-15 2016-04-06 迈普通信技术股份有限公司 中断异常监控方法和装置

Also Published As

Publication number Publication date
CN109992437A (zh) 2019-07-09
WO2019128673A1 (zh) 2019-07-04

Similar Documents

Publication Publication Date Title
JP4967023B2 (ja) シリアルインタフェースにおける信号ノイズフィルタリング
US9696777B2 (en) Computer port control
KR101355453B1 (ko) 정보 처리장치 및 정보 처리장치의 제어방법
EP2821882B1 (en) Computer device and method for converting working mode of universal serial bus connector of the computer device
CN109992437B (zh) 硬盘闪断的处理方法、装置、设备和存储介质
EP2798428B1 (en) Apparatus and method for managing operation of a mobile device
CN111157813B (zh) 充电电流的确定方法及装置
CN112783721B (zh) 一种i2c总线监控的方法、装置、系统及存储介质
US8549191B2 (en) Method and apparatus for SATA hot unplug
WO2018121351A1 (zh) 接口卡状态检测方法、接口卡及线卡
CN109739328B (zh) 一种m.3ssd的复位电路及方法
CN101630278A (zh) 记录电子装置当机异常信息的方法及其电子装置
CN115098342A (zh) 系统日志收集方法、系统、终端及存储介质
JP2007047909A (ja) Usbデバイス及びそのスタンバイ状態回避方法
CN105100344A (zh) 一种用户识别模块卡热插拔处理方法以及移动终端
CN112214094B (zh) 一种应对硬盘的电源发生抖动的方法和设备
CN111539044A (zh) 服务器电源固件写保护控制方法、装置、设备及存储介质
CN112751753A (zh) 一种保护单板主备状态的方法和通信设备
CN101470613A (zh) 电脑系统及其基本输入输出系统的侦错方法与开机方法
CN113032182B (zh) 一种计算机系统异常恢复的方法和设备
CN116467705B (zh) 一种服务器防入侵全时监控系统和服务器
CN114003461A (zh) 服务器故障预测方法、系统、终端及存储介质
CN109634906B (zh) 一种ic通信系统和方法
CN107241218B (zh) 一种故障检测方法及装置
CN114443454A (zh) 一种电子设备

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