PCIE插卡的热插拔方法、系统、装置和可读存储介质与流程

文档序号:13661257阅读:418来源:国知局
PCIE插卡的热插拔方法、系统、装置和可读存储介质与流程

本发明涉及热插拔领域,特别涉及一种pcie插卡的热插拔方法、系统、装置和可读存储介质。



背景技术:

热插拔,是一种允许用户在不关闭系统、不切断电源的情况下取出或更换损坏的硬盘、电源或卡板等部件的硬件管理方式,从而提高系统对灾难的及时恢复能力、扩展性和灵活性等。尤其在统一存储技术中,数据的安全保障是存储设备的核心要求,因此保证设备长时间不停的正常运转是存储设备的关键,因此当出现坏件或需要对部件进行替换、升级的时候,保证设备不停机是关键,热插拔技术就在这时起作用,即在存储设备正常开机、运行的状态下,对故障配件进行更换或添加新的配件,也就是所谓的热替换、热添加、热升级。

pcie(pciexpress)的热插拔产生于为pci总线制定的热插拔控制器标准规范(shpc)。pcie热插拔的设计理念属于一种“无意外(nosurprise)”式策略,即用户在插入或拔出接口卡时,需要先行通知系统,系统软件做好准备,再通知用户热插拔。

在实现热插拔技术时,需要系统中支持热插拔的pcie插卡、热插拔控制器、热插拔驱动系统三者配合,缺一不可。其中,热插拔协议中需要三支动作信号,由用户操作通过pcie插卡传输给热插拔控制器,三支信号分别为:

在位信号:热插拔控制器通过在位信号来判断pcie插卡插入到pcie插槽中,以此进行相关寄存器设置和中断发出;

mrl锁紧信号:通过mrl锁紧信号来通知控制器,pcie插卡已经正确插入槽位中,且已经固定好了,可以进行下一步动作;

power按钮信号:通过power按钮信号,来通知控制器对pcie插卡进行上下电。

但是,并不是所有市面上的pcie插卡,都完全符合pcie的热插拔标准,一些pcie插卡没有在位信号或mrl锁紧信号,这种插卡在现有技术的pcie协议中无法进行相应的热插拔操作。



技术实现要素:

有鉴于此,本发明的目的在于提供一种pcie插卡的热插拔方法、系统、装置和可读存储介质,能够满足所有pcie插卡的应用。其具体方案如下:

一种pcie插卡的热插拔方法,包括:

判断所述pcie插卡是否存在在位信号和/或mrl锁紧信号;

当所述pcie插卡存在所述在位信号和/或所述mrl锁紧信号,则通过cpld获取所述在位信号和/或所述mrl锁紧信号;

当所述pcie插卡没有所述在位信号,则通过所述cpld获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号;

当所述pcie插卡没有所述mrl锁紧信号,则通过所述cpld获取的所述在位信号,生成所述mrl锁紧信号;

通过所述cpld获取所述pcie插卡的power信号;

通过所述cpld将所述在位信号、所述mrl锁紧信号和所述power信号发送至热插拔控制器。

优选的,所述当所述pcie插卡没有所述在位信号,则通过所述cpld获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号的过程,包括:

当所述pcie插卡没有所述在位信号,则通过所述cpld获取所述pcie插卡的id信号,作为所述pcie插卡的在位信号。

优选的,所述热插拔方法还包括:

当所述热插拔控制器的外接电源突然掉电,判断所述pcie插卡是否需要备电;如果否,则由所述cpld模拟生成power信号发送给所述热插拔控制器,以对所述pcie插卡进行下电操作。

优选的,所述热插拔方法还包括:

进行cpu与所述cpld之间关于所述pcie插卡的信息交互。

优选的,所述进行cpu与所述cpld之间关于所述pcie插卡的信息交互的过程包括:

通过所述cpu对所述cpld中的所述pcie插卡的信息进行监控。

优选的,所述进行cpu与所述cpld之间关于所述pcie插卡的信息交互的过程包括:

通过所述cpu向所述cpld发送热插拔模拟指令,以进行热插拔相关调试。

相应的,本发明还公开了一种pcie插卡的热插拔系统,包括:

判断模块,用于判断所述pcie插卡是否存在在位信号和/或mrl锁紧信号;

信号获取模块,用于:

当所述pcie插卡存在所述在位信号和/或所述mrl锁紧信号,则通过cpld获取所述在位信号和/或所述mrl锁紧信号;当所述pcie插卡没有所述在位信号,则通过所述cpld获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号;当所述pcie插卡没有所述mrl锁紧信号,则通过所述cpld获取的所述在位信号,生成所述mrl锁紧信号;通过所述cpld获取所述pcie插卡的power信号;

信号发送模块,用于通过所述cpld将所述在位信号、所述mrl锁紧信号和所述power信号发送至热插拔控制器。

相应的,本发明还公开了一种pcie插卡的热插拔装置,包括cpld和热插拔控制器,其中所述cpld具体用于:

判断所述pcie插卡是否存在在位信号和/或mrl锁紧信号;当所述pcie插卡存在所述在位信号和/或所述mrl锁紧信号,获取所述在位信号和/或所述mrl锁紧信号;当所述pcie插卡没有所述在位信号,获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号;当所述pcie插卡没有所述mrl锁紧信号,获取的所述在位信号,生成所述mrl锁紧信号;获取所述pcie插卡的power信号;然后将所述在位信号、所述mrl锁紧信号和所述power信号发送至所述热插拔控制器。

相应的,所述热插拔装置还包括:与所述cpld进行关于所述pcie插卡的信息交互的cpu。

相应的,本发明还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述pcie插卡的热插拔方法的步骤。

本发明公开了一种pcie插卡的热插拔方法,包括:判断所述pcie插卡是否存在在位信号和/或mrl锁紧信号;当所述pcie插卡存在所述在位信号和/或所述mrl锁紧信号,则通过cpld获取所述在位信号和/或所述mrl锁紧信号;当所述pcie插卡没有所述在位信号,则通过所述cpld获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号;当所述pcie插卡没有所述mrl锁紧信号,则通过所述cpld获取的所述在位信号,生成所述mrl锁紧信号;通过所述cpld获取所述pcie插卡的power信号;通过所述cpld将所述在位信号、所述mrl锁紧信号和所述power信号发送至热插拔控制器。由于本发明考虑了各类pcie插卡,当该pcie插卡没有在位信号或mrl锁紧信号时,通过cpld获取或生成热插拔控制器需要的在位信号或mrl锁紧信号,来完成pcie插卡的热插拔,不需改变现有pcie的技术协议,不需考虑pcie插卡类型,便可以应用各类pcie插卡。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例中一种pcie插卡的热插拔方法的步骤流程图;

图2为本发明实施例中一种pcie插卡的热插拔系统的结构分布图;

图3为本发明实施例中一种pcie插卡的热插拔装置的结构分布图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种pcie插卡的热插拔方法,参见图1所示,包括:

s1:判断所述pcie插卡是否存在在位信号和/或mrl锁紧信号;

s2:当所述pcie插卡存在所述在位信号和/或所述mrl锁紧信号,则通过cpld获取所述在位信号和/或所述mrl锁紧信号;当所述pcie插卡没有所述在位信号,则通过所述cpld获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号;当所述pcie插卡没有所述mrl锁紧信号,则通过所述cpld获取的所述在位信号,生成所述mrl锁紧信号;

其中,pcie插卡的状态信号为各类pcie插卡均存在的信号,包括id信号等。

s3:通过所述cpld获取所述pcie插卡的power信号;

s4:通过所述cpld将所述在位信号、所述mrl锁紧信号和所述power信号发送至热插拔控制器。

本实施例中,由于考虑了各类pcie插卡,当该pcie插卡没有在位信号或mrl锁紧信号时,通过cpld获取或生成热插拔控制器需要的在位信号或mrl锁紧信号,来完成pcie插卡的热插拔,不需改变现有pcie的技术协议,不需考虑pcie插卡类型,便可以应用各类pcie插卡。

进一步的,由于热插拔信号都经过cpld发出,也为开发人员根据产品特性对热插拔信号进行灵活的控制提供了接口,提高了系统的可扩展性。

本发明实施例公开了一种具体的pcie插卡的热插拔方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的还包括:

当所述热插拔控制器的外接电源突然掉电,判断所述pcie插卡是否需要备电;如果否,则由所述cpld模拟生成power信号发送给所述热插拔控制器,以对所述pcie插卡进行下电操作。

可以理解的是,数据安全的保护是存储设备运行的重中之重。在外部电源突然断电时,要通过电池来完成备电与落盘,将内存中数据完整的保存下来。为了充分利用有限的备用电池,保证电池的供电时间,可以将不需备电的pcie插卡下电来节省电能。

本实施例还可以包括步骤:

进行cpu与所述cpld之间关于所述pcie插卡的信息交互。

其中,这里的信息交互可以包括cpu对cpld中pcie插卡的信息监控,还可以包括cpu对cpld发送热插拔模拟指令,已进行热插拔相关调试。当然,还可以包括cpu与cpld之间的其他信息交互。

可以理解的是,cpu与cpld通过i2c总线完成信息交互,使得cpu可以及时获取pcie插卡的信息,而且降低了之前的调试难度。

相应的,本实施例公开了一种pcie插卡的热插拔系统,参见图2所示,包括:

判断模块01,用于判断所述pcie插卡是否存在在位信号和/或mrl锁紧信号;

信号获取模块02,用于:

当所述pcie插卡存在所述在位信号和/或所述mrl锁紧信号,则通过cpld获取所述在位信号和/或所述mrl锁紧信号;当所述pcie插卡没有所述在位信号,则通过所述cpld获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号;当所述pcie插卡没有所述mrl锁紧信号,则通过所述cpld获取的所述在位信号,生成所述mrl锁紧信号;通过所述cpld获取所述pcie插卡的power信号;

信号发送模块03,用于通过所述cpld将所述在位信号、所述mrl锁紧信号和所述power信号发送至热插拔控制器。

相应的,本实施例公开了一种pcie插卡的热插拔装置,参见图3所示,包括cpld11和热插拔控制器12,其中cpld11具体用于:

判断所述pcie插卡是否存在在位信号和/或mrl锁紧信号;当所述pcie插卡存在所述在位信号和/或所述mrl锁紧信号,获取所述在位信号和/或所述mrl锁紧信号;当所述pcie插卡没有所述在位信号,获取所述pcie插卡的状态信号,作为所述pcie插卡的在位信号;当所述pcie插卡没有所述mrl锁紧信号,获取的所述在位信号,生成所述mrl锁紧信号;获取所述pcie插卡的power信号;然后将所述在位信号、所述mrl锁紧信号和所述power信号发送至所述热插拔控制器。

相应的,所述热插拔装置还包括:与cpld11进行关于所述pcie插卡的信息交互的cpu13。

可以理解的是,cpld11与cpu13通过i2c总线进行信息交互。

相应的,本实施例公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文实施例中pcie插卡的热插拔方法的步骤。

其中,有关pcie插卡的热插拔方法的相关细节参照上述实施例,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种pcie插卡的热插拔方法、系统、装置和可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1