PCIe设备的热插入方法和装置、热拔出方法和装置制造方法及图纸

技术编号:14271174 阅读:92 留言:0更新日期:2016-12-23 15:54
本申请公开了一种PCIe设备的热插入方法和装置、热拔出方法和装置,热插入方法包括通过中断获得PCIe设备插入到系统中的信息;查询所述PCIe设备的资源空间需求;查询PCIe设备的上一级桥设备的第一空闲资源空间;如果所述第一空闲资源空间小于所述资源空间需求,则查询所述上一级桥设备的更上一级桥设备的第二空闲资源空间,如果所述第二空闲资源空间不小于所述资源空间需求,则将所述第二空闲资源空间分配给PCIe设备;在PCIe设备的上一级桥设备的扩展寄存器对中对PCIe设备占用的资源空间进行记录,能够充分利用系统的资源空间,保证了在插入新设备的桥设备资源空间不足但是全局资源空间充足的情况下,新设备依然可用,提高PCIe设备热插入的成功率。

【技术实现步骤摘要】

本专利技术属于计算机存储系统
,特别是涉及一种PCIe设备的热插入方法和装置、热拔出方法和装置
技术介绍
随着数字化时代的到来,在人们的日常生活和科学研究中,越来越多的传统业务开始数字化、网络化,促使数据爆炸式增长,存储系统在整个业务处理系统中的地位也愈发重要,为了增加存储系统的可扩展性、灵活性和可靠性,提出了对IO卡(包括FC卡、SAS卡)支持热插拔的需求。PCIe热插拔可以有效避免由于更换外设引起的存储系统停机,对于提高存储系统的可用性、可靠性意义重大。1997年,PCI SIG制定了第一个PCI热插拔规范,其中定义了支持热插拔所必需的平台、板卡和软件元素。PCI SIG推出了标准热插拔控制器规范(SHPC SPEC),其中明确了热插拔的标准使用模式和严格的寄存器组要求,并且允许操作系统提供商在平台特定的软件之外提供热插拔支持,逐步完成了热插拔标准制定工作,进入技术的全面推广阶段。2002年以后,Intel把热插拔作为一种天然属性赋予新推出的PCI Express规范,PCI Express热插拔总结了五年来工业标准的经验。直到最新的PCIe 3.0标准中,依然支持PCIe设备的热插拔,具有完整功能的PCI Express热插拔系统在平台硬件和固件支持之外,还必须有操作系统以及设备驱动程序的支持。根据规范,一个完整的PCI Express热插拔系统需要几方面的相互配合,分别为硬件元素、固件元素和软件元素。硬件元素是指主板总线系统的电气特性方面的支持,包括热插拔控制器(Hot-Plug Controller)、卡槽电源切换逻辑(Card Slot Power Switching Logic)、板卡重置逻辑(Card Reset Logic)、电源指示灯(Power Indicator)、提示按钮(Attention Button)和板卡存在检测引脚(Card Present Detect Pins)等等;固件元素是指主板BIOS必须对热插拔提供的支持,要实现PCI Express热插拔,固件必须提供OSHP方法或ACPI_OSC方法之一;软件元素是指操作系统操综合使用PCI Express热插拔所必须提供的功能组件。为了提供PCI Express热插拔服务,Linux内核PCIExpress热插拔(pciehp)子系统实现了用户操作界面、热插拔服务程序和标准热插拔系统驱动等热插拔软件元素,并使软件的行为符合热插拔标准使用模式。在PCIe设备热插入过程中,pciehp模块检测到设备插入事件,会调用设备对应驱动的probe函数,为设备分配资源空间并使能设备,但是此时设备的资源空间可能分配不成功。这是因为对于正常PCIe设备的资源分配,是在系统启动时,OS先采用深度优先的算法遍历PCIe总线系统,获得PCIe总线系统的拓扑结构,并统计每个PCIe设备的资源需求。对于PCIe桥设备,其资源空间要包含插在其上的终端设备的资源空间,如图1所示,图1为现有技术中的PCIe设备热插入过程示意图,Bridge1的资源区间包含了Device2、Device3的资源区间,当有事务下发到Bridge1时,Bridge1检查事务目的地址是否落在其资源空间中,如果是,则向下转发该事务,由Device2和Device3自主判定是否响应该事务请求;如果不在其资源空间中,则丢弃该事务。在系统启动之后,Bridge1的资源区间和Device2、Device3的资源区间都已确定,如果此时想在Bridge1下的总线上插入设备Device4,则需要从Bridge1的资源空间中划分出空闲的一块给Device4使用,如果空闲空间不足,则Device4无法被系统使用。
技术实现思路
为解决上述问题,本专利技术提供了一种PCIe设备的热插入方法和装置、热拔出方法和装置,能够充分利用系统的资源空间,保证了在插入新设备的桥设备资源空间不足但是全局资源空间充足的情况下,新设备依然可用,而且不会暂停也不会影响系统中其他PCIe设备的正常使用,从而提高PCIe设备热插入的成功率,进而提高存储系统的可用性、可扩展性和可靠性。本专利技术提供的一种PCIe设备的热插入方法,包括:通过中断获得PCIe设备插入到系统中的信息;查询所述PCIe设备的资源空间需求;查询所述PCIe设备的上一级桥设备的第一空闲资源空间,如果所述第一空闲资源空间不小于所述资源空间需求,则将所述第一空闲资源空间分配给所述PCIe设备;如果所述第一空闲资源空间小于所述资源空间需求,则查询所述上一级桥设备的更上一级桥设备的第二空闲资源空间,如果所述第二空闲资源空间不小于所述资源空间需求,则将所述第二空闲资源空间分配给所述PCIe设备;在所述PCIe设备的上一级桥设备的扩展寄存器对中对所述PCIe设备占用的资源空间进行记录。优选的,在上述PCIe设备的热插入方法中,还包括:如果所述第二空闲资源空间小于所述资源空间需求时,则继续向上回溯,遍历从根节点到所述PCIe设备路径上的所有桥设备;如果找到具有足够的空闲资源空间的预设桥设备,则将所述预设桥设备的空闲资源空间分配给所述PCIe设备;在所述预设桥设备到所述PCIe设备的路径上所有桥设备的扩展寄存器对中对所述PCIe设备占用的资源空间进行记录。优选的,在上述PCIe设备的热插入方法中,还包括:如果从所述根节点到所述PCIe设备路径上的所有桥设备都不具有足够的空闲资源空间,则报告热插入过程失败。本专利技术提供的一种PCIe设备的热插入装置,包括:插入信息获得单元,用于通过中断获得PCIe设备插入到系统中的信息;第一资源空间需求查询单元,用于查询所述PCIe设备的资源空间需求;第一空闲资源空间查询和分配单元,用于查询所述PCIe设备的上一级桥设备的第一空闲资源空间,如果所述第一空闲资源空间不小于所述资源空间需求,则将所述第一空闲资源空间分配给所述PCIe设备;第二空闲资源空间查询和分配单元,用于当所述第一空闲资源空间小于所述资源空间需求时查询所述上一级桥设备的更上一级桥设备的第二空闲资源空间,如果所述第二空闲资源空间不小于所述资源空间需求,则将所述第二空闲资源空间分配给所述PCIe设备;第一记录单元,用于在所述PCIe设备的上一级桥设备的扩展寄存器对中对所述PCIe设备占用的资源空间进行记录。优选的,在上述PCIe设备的热插入装置中,还包括:遍历单元,用于当所述第二空闲资源空间小于所述资源空间需求时,则继续向上回溯,遍历从根节点到所述PCIe设备路径上的所有桥设备;第三空闲资源空间查询和分配单元,用于如果找到具有足够的空闲资源空间的预设桥设备,则将所述预设桥设备的空闲资源空间分配给所述PCIe设备;第二记录单元,用于在所述预设桥设备到所述PCIe设备的路径上所有桥设备的扩展寄存器对中对所述PCIe设备占用的资源空间进行记录。优选的,在上述PCIe设备的热插入装置中,还包括:报告单元,用于当从所述根节点到所述PCIe设备路径上的所有桥设备都不具有足够的空闲资源空间时报告热插入过程失败。本专利技术提供的一种PCIe设备的热拔出方法,包括:通过中断获得PCIe设备要从系统热拔出的信息;停止向待拔出的所述PCIe设备下发事务,释放待拔出的所述PCIe设备的资源空间本文档来自技高网
...
PCIe设备的热插入方法和装置、热拔出方法和装置

【技术保护点】
一种PCIe设备的热插入方法,其特征在于,包括:通过中断获得PCIe设备插入到系统中的信息;查询所述PCIe设备的资源空间需求;查询所述PCIe设备的上一级桥设备的第一空闲资源空间,如果所述第一空闲资源空间不小于所述资源空间需求,则将所述第一空闲资源空间分配给所述PCIe设备;如果所述第一空闲资源空间小于所述资源空间需求,则查询所述上一级桥设备的更上一级桥设备的第二空闲资源空间,如果所述第二空闲资源空间不小于所述资源空间需求,则将所述第二空闲资源空间分配给所述PCIe设备;在所述PCIe设备的上一级桥设备的扩展寄存器对中对所述PCIe设备占用的资源空间进行记录。

【技术特征摘要】
1.一种PCIe设备的热插入方法,其特征在于,包括:通过中断获得PCIe设备插入到系统中的信息;查询所述PCIe设备的资源空间需求;查询所述PCIe设备的上一级桥设备的第一空闲资源空间,如果所述第一空闲资源空间不小于所述资源空间需求,则将所述第一空闲资源空间分配给所述PCIe设备;如果所述第一空闲资源空间小于所述资源空间需求,则查询所述上一级桥设备的更上一级桥设备的第二空闲资源空间,如果所述第二空闲资源空间不小于所述资源空间需求,则将所述第二空闲资源空间分配给所述PCIe设备;在所述PCIe设备的上一级桥设备的扩展寄存器对中对所述PCIe设备占用的资源空间进行记录。2.根据权利要求1所述的PCIe设备的热插入方法,其特征在于,还包括:如果所述第二空闲资源空间小于所述资源空间需求时,则继续向上回溯,遍历从根节点到所述PCIe设备路径上的所有桥设备;如果找到具有足够的空闲资源空间的预设桥设备,则将所述预设桥设备的空闲资源空间分配给所述PCIe设备;在所述预设桥设备到所述PCIe设备的路径上所有桥设备的扩展寄存器对中对所述PCIe设备占用的资源空间进行记录。3.根据权利要求2所述的PCIe设备的热插入方法,其特征在于,还包括:如果从所述根节点到所述PCIe设备路径上的所有桥设备都不具有足够的空闲资源空间,则报告热插入过程失败。4.一种PCIe设备的热插入装置,其特征在于,包括:插入信息获得单元,用于通过中断获得PCIe设备插入到系统中的信息;第一资源空间需求查询单元,用于查询所述PCIe设备的资源空间需求;第一空闲资源空间查询和分配单元,用于查询所述PCIe设备的上一级桥设备的第一空闲资源空间,如果所述第一空闲资源空间不小于所述资源空间需求,则将所述第一空闲资源空间分配给所述PCIe设备;第二空闲资源空间查询和分配单元,用于当所述第一空闲资源空间小于所述资源空间需求时查询所述上一级桥设备的更上一级桥设备的第二空闲资源空间,如...

【专利技术属性】
技术研发人员:卓保特
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1