一种插拔硬盘的方法、装置、电子设备及介质制造方法及图纸

技术编号:33957256 阅读:13 留言:0更新日期:2022-06-29 23:49
本申请公开了一种插拔硬盘的方法、装置、电子设备及介质,涉及计算机技术领域。该方法包括:检测NVMe硬盘的热插拔事件,其中,NVMe硬盘的热插拔事件为预先注册到pciehp中断上的热插拔事件;通过pciehp中断将NVMe硬盘的热插拔事件上报至内核态驱动;将处理后的NVMe硬盘的热插拔事件上报至用户态驱动。热插拔即带电插拔,本申请中将NVMe硬盘的热插拔事件注册到pciehp中断,通过pciehp中断将热插拔事件进行上报至内核态驱动以及用户态驱动进行热插拔处理,解决了更换NVMe硬盘时需要断电的问题,从而提高存储业务的稳定性及可靠性。从而提高存储业务的稳定性及可靠性。从而提高存储业务的稳定性及可靠性。

【技术实现步骤摘要】
一种插拔硬盘的方法、装置、电子设备及介质


[0001]本申请涉及计算机
,特别是涉及一种插拔硬盘的方法、装置、电子设备及介质。

技术介绍

[0002]在云计算时代,海量数据需要通过存储设备写入到后端硬盘中,并在需要的时候从后端硬盘中读取出来,目前主流的基于非易失性存储器协议(Non

Volatile Memory Express,NVMe)的硬盘(简称NVMe硬盘)有几T的容量,当应用到企业级的存储场景中时,一块NVMe硬盘不能满足需求,它需要几十甚至上百块的NVMe硬盘才能满足要求。但是任何设备都有使用寿命,在使用过程中也可能出现异常的损坏,这种情况下就要适时的替换掉异常的NVMe硬盘,但如果每替换一张盘就给设备下一次电,从而影响存储业务的稳定性及可靠性。
[0003]由此可见,如何提高存储业务的稳定性及可靠性,是本领域技术人员亟待解决的问题。

技术实现思路

[0004]本申请的目的是提供一种插拔硬盘的方法、装置、电子设备及介质,用于提高存储业务的稳定性及可靠性。
[0005]为解决上述技术问题,本申请提供一种插拔硬盘的方法,包括:
[0006]检测NVMe硬盘的热插拔事件;其中,所述NVMe硬盘的热插拔事件为预先注册到pciehp中断上的热插拔事件,所述NVMe硬盘支持热插拔;
[0007]通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动以便于所述内核态驱动对所述NVMe硬盘进行热插拔处理;
[0008]将处理后的所述NVMe硬盘的热插拔事件上报至用户态驱动以便于所述用户态驱动对所述NVMe硬盘进行热插拔处理。
[0009]优选地,所述NVMe硬盘的个数为多个,所述通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动包括:
[0010]选取目标内核态驱动;其中,所述目标内核态驱动的个数为一个;
[0011]通过所述pciehp中断将各所述NVMe硬盘的热插拔事件上报至所述目标内核态驱动。
[0012]优选地,在所述检测NVMe硬盘的热插拔事件之前,还包括:
[0013]修改所述NVMe硬盘的上一级桥片的配置空间以便于上一级所述桥片的completion timeout寄存器的值在预设范围内。
[0014]优选地,所述通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动以便于所述内核态驱动对所述NVMe硬盘进行热插拔处理包括:
[0015]通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动;
[0016]通过所述内核态驱动获取所述NVMe硬盘对应的寄存器的状态值;
[0017]根据所述寄存器的状态值判断所述NVMe硬盘是否发生热插拔事件;
[0018]若是,则通过所述内核态驱动对所述NVMe硬盘进行热插拔处理。
[0019]优选地,所述将处理后的所述NVMe硬盘的热插拔事件上报至用户态驱动包括:
[0020]通过Netlink协议将处理后的所述NVMe硬盘的热插拔事件上报至所述用户态驱动。
[0021]优选地,在所述将处理后的所述NVMe硬盘的热插拔事件上报至用户态驱动以便于所述用户态驱动对所述NVMe硬盘进行热插拔处理之后,还包括:
[0022]在所述用户态驱动中添加热插拔标志位。
[0023]优选地,所述在所述用户态驱动中添加热插拔标志位之后,还包括:
[0024]根据所述热插拔标志位获取发生热插拔事件的所述NVMe硬盘;
[0025]将发生热插拔事件的所述NVMe硬盘上存储的数据存储至未发生热插拔事件的所述NVMe硬盘中。
[0026]为了解决上述技术问题,本申请还提供一种插拔硬盘的装置,包括:
[0027]检测模块,用于检测NVMe硬盘的热插拔事件;其中,所述NVMe硬盘的热插拔事件为预先注册到pciehp中断上的热插拔事件,所述NVMe硬盘支持热插拔;
[0028]第一上报模块,用于通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动以便于所述内核态驱动对所述NVMe硬盘进行热插拔处理;
[0029]第二上报模块,用于将处理后的所述NVMe硬盘的热插拔事件上报至用户态驱动以便于所述用户态驱动对所述NVMe硬盘进行热插拔处理。
[0030]为了解决上述技术问题,本申请还提供一种电子设备,包括:
[0031]存储器,用于存储计算机程序;
[0032]处理器,用于执行所述计算机程序时实现上述的插拔硬盘的方法的步骤。
[0033]为了解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的插拔硬盘的方法的步骤。
[0034]本申请所提供的插拔硬盘的方法,该方法包括:检测NVMe硬盘的热插拔事件,其中,NVMe硬盘的热插拔事件为预先注册到pciehp中断上的热插拔事件;通过pciehp中断将NVMe硬盘的热插拔事件上报至内核态驱动以便于内核态驱动对NVMe硬盘进行热插拔处理;将处理后的NVMe硬盘的热插拔事件上报至用户态驱动以便于用户态驱动对NVMe硬盘进行热插拔处理。热插拔即带电插拔,本申请中将NVMe硬盘的热插拔事件注册到pciehp中断,通过pciehp中断将热插拔事件进行上报至内核态驱动以及用户态驱动进行热插拔处理,解决了更换NVMe硬盘时需要断电的问题,从而提高存储业务的稳定性及可靠性。
[0035]此外,本申请还提供一种插拔硬盘的装置、电子设备及计算机可读存储介质,与上述提到的插拔硬盘的方法相对应,效果同上。
附图说明
[0036]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人
员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1为本申请提供的一种插拔硬盘的方法;
[0038]图2为本申请的一实施例提供的一种插拔硬盘的装置的结构图;
[0039]图3为本申请另一实施例提供的一种电子设备的结构图;
[0040]图4为本申请实施例提供的一种热插拔方法的应用场景示意图。
具体实施方式
[0041]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
[0042]本申请的核心是提供一种插拔硬盘的方法、装置、电子设备及介质,用于提高存储业务的稳定性及可靠性。
[0043]当前在更换硬盘时通常需要断电才能拔盘,在断电的过程中,若存在正在运行的程序,则会影响程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种插拔硬盘的方法,其特征在于,包括:检测NVMe硬盘的热插拔事件;其中,所述NVMe硬盘的热插拔事件为预先注册到pciehp中断上的热插拔事件,所述NVMe硬盘支持热插拔;通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动以便于所述内核态驱动对所述NVMe硬盘进行热插拔处理;将处理后的所述NVMe硬盘的热插拔事件上报至用户态驱动以便于所述用户态驱动对所述NVMe硬盘进行热插拔处理。2.根据权利要求1所述的插拔硬盘的方法,其特征在于,所述NVMe硬盘的个数为多个,所述通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动包括:选取目标内核态驱动;其中,所述目标内核态驱动的个数为一个;通过所述pciehp中断将各所述NVMe硬盘的热插拔事件上报至所述目标内核态驱动。3.根据权利要求2所述的插拔硬盘的方法,其特征在于,在所述检测NVMe硬盘的热插拔事件之前,还包括:修改所述NVMe硬盘的上一级桥片的配置空间以便于上一级所述桥片的completion timeout寄存器的值在预设范围内。4.根据权利要求1至3任意一项所述的插拔硬盘的方法,其特征在于,所述通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动以便于所述内核态驱动对所述NVMe硬盘进行热插拔处理包括:通过所述pciehp中断将所述NVMe硬盘的热插拔事件上报至内核态驱动;通过所述内核态驱动获取所述NVMe硬盘对应的寄存器的状态值;根据所述寄存器的状态值判断所述NVMe硬盘是否发生热插拔事件;若是,则通过所述内核态驱动对所述NVMe硬盘进行热插拔处理。5.根据权利要求4所述的插拔硬盘的方法,...

【专利技术属性】
技术研发人员:张君龙
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1