This application discloses a device for detecting hot-swap/pull events of HBA cards, including a PCI_e kernel driver and a user-mode hot-swap/pull parsing module; a PCI_e kernel driver for generating hot-swap/pull event messages of HBA cards after detecting hot-swap/pull events of HBA cards; and a user-mode hot-swap/pull parse module for identifying hot-swap/pull event messages of HBA cards. HBA card information and hot-swap/pull events; merge the continuous hot-swap/pull events of the same HBA card according to the preset merge rules; send hot-swap/pull processing instructions to the kernel driver and user driver corresponding to the HBA card according to the merge results, so that the kernel driver and user driver can execute the hot-swap/pull processing of the HBA card. This application can effectively improve the overall processing speed of the system for hot plug / pull events. The application also discloses a detection method for HBA card hot plug / pull event, and has the beneficial effect as well.
【技术实现步骤摘要】
一种HBA卡热插/拔事件的检测装置及方法
本申请涉及计算机
,特别涉及一种HBA卡热插/拔事件的检测装置及方法。
技术介绍
热插/拔(Hot-plug)即带电插/拔,可允许用户在不关闭系统、不切断电源的情况下取出和更换网卡、板卡等HBA(HostBusAdapter,主机总线适配器)卡,从而提高系统对灾难的及时恢复能力、扩展性和灵活性等。热插/拔功能的实现需要从硬件(包括HBA接口、寄存器等)和驱动程序两方面来进行支持热插/拔的相关基础设计。其中,在驱动程序方面,出于降低风险的目标考虑,目前的存储和服务器产品多使用内核态加用户态的设计方式,则每个HBA卡都存在内核态和用户态两个驱动,因此,当HBA卡从系统中热插/拔后,需要通过一定的检测装置将其热插/拔事件的发生信息在内核态和用户态间进行传递,以便内核态驱动和用户态驱动执行相应的热插/拔处理。现有技术中,一般是采用将每次的HBA卡热插/拔事件发生信息以文件形式在内核态和用户态间进行调用的方式。由于该方法将每次的HBA卡热插/拔事件都生成文件信息,而没有对其进行进一步的处理,并且需要进行文件查找与调用,因此处理速率较低,有待进一步提高。由此可见,采用何种HBA卡热插/拔事件的检测装置,以便有效地提高处理速度,是本领域技术人员所亟待解决的技术问题。
技术实现思路
本申请的目的在于提供一种HBA卡热插/拔事件的检测装置及方法,以便有效地提高处理速度。为解决上述技术问题,本申请提供一种HBA卡热插/拔事件的检测装置,包括:PCI-e内核驱动:用于在检测到HBA卡热插/拔后,生成HBA卡热插/拔事件消息并发送至用户 ...
【技术保护点】
1.一种HBA卡热插/拔事件的检测装置,其特征在于,包括:PCI‑e内核驱动:用于在检测到HBA卡热插/拔后,生成HBA卡热插/拔事件消息并发送至用户态热插/拔解析模块;所述用户态热插/拔解析模块:用于根据所述HBA卡热插/拔事件消息识别所述HBA卡信息和所述热插/拔事件;根据预设的合并规则对同一所述HBA卡的连续的热插/拔事件进行合并;根据合并结果分别向与所述HBA卡对应的内核态驱动和用户态驱动发送热插/拔处理指令,以便所述内核态驱动和所述用户态驱动根据所述热插/拔处理指令执行对所述HBA卡的热插/拔处理。
【技术特征摘要】
1.一种HBA卡热插/拔事件的检测装置,其特征在于,包括:PCI-e内核驱动:用于在检测到HBA卡热插/拔后,生成HBA卡热插/拔事件消息并发送至用户态热插/拔解析模块;所述用户态热插/拔解析模块:用于根据所述HBA卡热插/拔事件消息识别所述HBA卡信息和所述热插/拔事件;根据预设的合并规则对同一所述HBA卡的连续的热插/拔事件进行合并;根据合并结果分别向与所述HBA卡对应的内核态驱动和用户态驱动发送热插/拔处理指令,以便所述内核态驱动和所述用户态驱动根据所述热插/拔处理指令执行对所述HBA卡的热插/拔处理。2.根据权利要求1所述的检测装置,其特征在于,所述PCI-e内核驱动具体用于:在检测到HBA卡热插/拔后,生成所述HBA卡热插/拔事件消息并采用Uevent通信机制发送至所述用户态热插/拔解析模块。3.根据权利要求1所述的检测装置,其特征在于,所述用户态热插/拔解析模块具体用于:根据所述合并结果,采用Netlink通信机制分别向与所述HBA卡对应的内核态驱动和用户态驱动发送所述热插/拔处理指令。4.根据权利要求1至3任一项所述的检测装置,其特征在于,所述用户态热插/拔解析模块具体用于:采用延时队列处理机制,针对于合并后不同的热插/拔事件,向与所述HBA卡对应的内核态驱动和用户态驱动发送所述热插/拔处理指令。5.根据权利要求4所述的检测装置,其特征在于,所述合并规则包括:当所述HBA卡的热插/拔事件为连续的两次热插/拔事件时,若所述两次热插/拔事件的间隔时间小于预设时长,则清空所述HBA卡的所述两次热插/拔事件;所述预设时长小于所述延时队列处理机制的延时间隔时长;若所述两次热插/拔事件的间隔时间不小于预设时长,则保留所述HBA卡的所...
【专利技术属性】
技术研发人员:张雪庆,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。