实现pci适配卡进行热插拔的方法

文档序号:6458078阅读:443来源:国知局
专利名称:实现pci适配卡进行热插拔的方法
技术领域
本发明涉及一种PCI适配卡热插拔功能的方法,且特别涉及一种不提供 PCI适配卡热插拔的环境下实现PCI适配卡进行热插拔的方法。
背景技术
周边零件连接适酉己卡产品(Peripheral Component Interconnect, PCI适酉己卡, 包括PCI-Express、 PCI-X及mini-PCI等等)的测试过程,是将一待测试的PCI 适配卡插入一计算机装置的PCI接口插槽中,此PCI接口插槽可接受PCI适 配卡,并利用一套测试软件对此PCI适配卡进行种种的测试项目(如性能测 试、电力负载测试等等),待此PCI适配卡经测试无误后,便可更换下一PCI 适配卡而持续进行相同的测试方式。
然而,上述计算机装置的操作系统采用美商微软公司的窗口 2000 (Windows 2000 ),由于窗口 200(f的操作系统并未支持PCI接口的热插拔 功能,当测试人员未关闭计算机装置及操作系统下,而更换PCI适配卡时,操 作系统无法辨识PCI适配卡原先所使用的总线代号,而无法分配新的PCI适配 卡一组总线代号,而操作系统便出现错误。
因此,每当测试人员测试完且拔除一PCI适配卡后,便必须关闭计算机装 置及操作系统,待插入下一PCI适配卡后,才可再次开启计算机装置及操作系 统。如此,测试人员必须重复花费关闭及开启计算机装置(包括操作系统)的时 间,才能进行下一次的PCI适配卡测试,相当耗费测试时间及测试成本,而上 述的操作系统相当普遍,倘若业者全面改用可提供PCI适配卡热插拔环境的操 作系统时,则必须花费更多的金钱、人力、时间进行软件购买、更换及教育训 练,对于营利为目的的业者绝非最好的选择,因此,若能保持PCI适配卡的测 试工作于现存的操作系统下,又可克服上述的不便及缺点,縮短测试的时间及 流程,即为业者所亟于解决的目标。

发明内容
本发明的目的是在一不提供PCI适配卡热插拔的环境下实现PCI适配卡进
行热插拔的方法,以避免重复花费关闭及开启计算机装置(包括操作系统)的时 间,进而节省测试时间及测试成本。
根据上述的目的,本发明一种实现PCI适配卡进行热插拔的方法,应用于 不提供PCI适配卡热插拔环境的一测试主机,测试主机具有二个以上的PCI 总线,该些PCI总线之间分别由一PCI桥接器相互连接,该些PCI总线可供 连接至少一 PCI待测卡,此方法包括(a)储存PCI桥接器所分配到的一总线代 号;(b)使PCI桥接器失能;(C)切断PCI桥接器的供应电源;(d)待PCI待测卡 被更换为另一 PCI待测卡后,恢复PCI桥接器的供应电源;(e)将先前所储存 的总线代号,分配回PCI桥接器,以提供测试主机使用;以及(f)使PCI桥接器 致能。
本发明的另一实施方式为一种实现PCI适配卡进行热插拔的方法,应用于 一不提供PCI适配卡热插拔环境的一测试主机,测试主机具有至少三阶PCI 总线,任二阶PCI总线之间由一 PCI桥接器而形成串联,各PCI总线可供连 接至少一 PCI待测卡,此方法包括(a)纪录第二阶PCI总线以后的各PCI桥接 器所分配的总线代号;(b)使所有PCI桥接器失能;(c)切断第二阶PCI总线以 后的PCI桥接器的供应电源;(d)待PCI待测卡被更换后,恢复第二阶PCI总 线以后的PCI桥接器的供应电源;(e)对第二阶PCI总线以后的PCI桥接器进 行侦测,并于侦测到PCI桥接器时,分配对应的总线代号,直到所有的PCI 桥接器被分配总线代号完毕为止;以及(f)使所有PCI桥接器致能。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1本发明第一实施例的测试主机内各组件的连接示意图2本发明第二实施例的测试主机的PCI总线分配图3本发明第二实施例的前阶段流程图4本发明第二实施例的后阶段流程图5本发明第二实施例的步骤303的细部流程图。其中,附图标记
1:测试主机
11:操作系统
12:中央处理单元
13:PCI总线
14:PCI桥接器
15:PCI界面插槽
16:PCI待测卡
17:总线代号
18:配置登记码
19:储存装置
20:开关组件
201-207:步骤 301-304:步骤 3031-3035:步骤
具体实施例方式
本发明揭露一种实现PCI适配卡进行热插拔的方法,于一第一实施例中, 请见图1所示,本发明第一实施例的测试主机内各组件的连接示意图。此方法 应用于可进行PCI适配卡测试程序的一测试主机1上,此测试主机1采用不提 供PCI适配卡热插拔环境的操作系统ll(如美商微软公司出品的窗口 2000 、 窗口XP^等),且于硬件方面具有中央处理单元12、至少二PCI总线13 (PCI bus) 、 PCI桥接器14(PCI Bridge)、 PCI接口插槽15(PCI Slot)及PCI接口 的待测卡16,其中待测卡16可供插设于其中一 PCI接口插槽15上,PCI接口 插槽15连接于任一 PCI总线13上,其中一 PCI总线13与该中央处理单元12 相连接,而任二相邻PCI总线13由此PCI桥接器14相互连接,其余的PCI 总线13由此PCI桥接器14与中央处理单元12相连接。
当测试主机1开机而启动此操作系统11后,会分配一组总线代号17至 PCI桥接器14,以供中央处理单元12辨识其与待测卡16后续传输数据之用。 其中中央处理单元12将使上述PCI桥接器14所分配到的总线代号17而记录至PCI桥接器14的一配置登记码18中(PCI-to-PCI Bridge Configuration registers),此组总线代号17分别为一主阶总线代号(primary bus number) 可代表此PCI桥接器14本身所位于PCI总线13的位置、 一次阶总线代号 (secondary bus number)可代表此PCI桥接器14本身位置的下一阶PCI总线 13位置,及一末阶总线代号(subordinate bus number),可代表此PCI桥接 器14本身位置后最末阶的PCI总线13位置。
当PCI接口插槽15上的待测卡16被测试完毕,而欲进行热插拔功能时, 不必如传统般关闭测试主机1及操作系统U,而首先使中央处理单元12将PCI 桥接器14所分配到的此组总线代号17 (包括主阶总线代号、次阶总线代号及 末阶总线代号)纪录至一储存装置19 (如内存等),接着,进行此PCI桥 接器14失能(disable)及切断供应电源(power off)的工作,此时PCI桥 接器14便失去配置登记码18中的总线代号17,于是便可于此测试主机1及 操作系统11仍运行下更换另一待测卡16。
当PCI接口插槽15上的待测卡16进行热插拔功能,而更换另一待测卡 16后,接着便使中央处理单元12回复此PCI桥接器14的供应电源(power on), 并于侦测到此PCI桥接器14后,分配先前所储存的该组总线代号17至此PCI 桥接器14的配置登记码18中,使得PCI桥接器14具有先前的总线代号17, 之后,再进行PCI桥接器14致能的工作,如此,当测试主机i的操作系统ll 侦测到再次致能的PCI桥接器14,且侦测其对应新待测卡16的PC工桥接器14 巳分配有总线代号17时,便不会自行分配总线代号,而会依据此PCI桥接器 14的总线代号17进行工作。
另外,当测试主机1具有大量PCI总线13时,此些PCI总线13的资源分 配呈阶层式,请同时见图2所示,图2本发明第二实施例的测试主机的PCI 总线分配图,至少有三阶(i、 ii及iii) PCI总线13以上,(此第二实施例 是以五阶为例)任二阶PCI总线13之间由一PCI桥接器14而形成串联,其中 第一阶(i) PCI总线13与中央处理单元12相连接,使得第二阶(ii) PCI 总线13之后的其余PCI总线13均由第一、二阶(i、 ii) PCI总线13之间的 PCI桥接器A而与中央处理单元12相连接,而PCI桥接器A与第二、三阶(ii、 iii) PCI总线13之间的PCI总线B中,设有一可断/开电路的开关组件20 (switch)(复见图1),其中此测试主机1具有7条不同的PCI总线13 (依序为Bus 0, Bus 14, Bus 15, Bus 16、 18及Bus 17、 19),共5阶(i、 ii、 iii、 iv及v) 、 6个PCI桥接器(A、 B、 C、 D、 E及F)及连接2个待测的网 络卡1、 2。
其中第一阶(i) PCI总线Bus O与第二阶(ii) PCI总线Bus 14之间连 接有PCI桥接器A、第二阶(ii) PCI总线Bus 14与第三阶(iii) PCI总线 Bus 15之间连接有PCI桥接器B、第三阶(iii) PCI总线Bus 15分别与第四 阶(iv) PCI总线Bus 16之间连接有PCI桥接器C,与第四阶PCI总线Bus 18 之间连接有PCI桥接器E、第四阶PCI (iv)总线Bus 16与第五阶(v) PCI 总线Bus 17之间连接有PCI桥接器D,第四阶(iv) PCI总线Bus 18与第五 阶(v) PCI总线Bus 19之间连接有PCI桥接器F。而网络卡1连接至PCI总 线Bus 17上,网络卡2连接至PCI总线Bus 19上。
当网络卡l、 2被测试完毕,而欲分别更换待测的另一网络卡之前,此实 施例可细分成二详细的阶段,如图3,前阶段为更换另一网络卡之前的种种步 骤,如图4,后阶段为更换另一网络卡之后的种种步骤,测试主机依据下列步 骤进行前阶段
步骤(201)储存各PCI桥接器B、 C、 D、 E及F所分配到的总线代号17:
当此测试主机1被开机且其操作系统11被启动时,中央处理单元12会依 据各PCI桥接器A、 B、 C、 D、 E及F各别所对应的PCI总线Bus 0、 14、 15、 16、 17、 18及19,而分配各PCI桥接器A、 B、 C、 D、 E及F的主阶总线代号、 次阶总线代号及末阶总线代号,如此实施例中,PCI桥接器A的主阶总线代号 /次阶总线代号/末阶总线代号分别为0/14/19; PCI桥接器B的主阶总线代号/ 次阶总线代号/末阶总线代号分别为14/15/19; PCI桥接器C的主阶总线代号/ 次阶总线代号/末阶总线代号分别为15/16/17;而PCI桥接器D的主阶总线代 号/次阶总线代号/末阶总线代号分别为16/17/17,而PCI桥接器E的主阶总 线代号/次阶总线代号/末阶总线代号分别为15/18/19,而PCI桥接器F的主 阶总线代号/次阶总线代号/末阶总线代号分别为18/19/19。
之后,再使此中央处理单元12纪录各PCI桥接器B、 C、 D、 E及F所对应 的主阶总线代号、次阶总线代号及末阶总线代号总线代号。
步骤(202)使PCI桥接器A失能(disable):
此中央处理单元12对PCI桥接器A的其中一脚位发出一失能信号,使得PCI桥接器A因此而被关闭,而由于其它PCI桥接器B、 C、 D、 E及F皆位于 第二阶(ii) PCI总线(即PCI总线bus14)后,因此,当PCI桥接器A被关 闭时,其它PCI桥接器B、 C、 D、 E及F也因此无法作用; 步骤(203)分别卸载各网络卡l、 2的驱动程序
为保护各网络卡l、 2于热插拔后的状态,特地于热插拔前关闭各网络卡 1、 2的驱动程序,使得各网络卡l、 2失去其功能。
步骤(204)切断各PCI桥接器B、 C、 D、 E及F的供应电源 此实施例中,当此测试主机1接收切断各PCI桥接器B、 C、 D、 E及F的 供应电源的指令后,中央处理单元12便驱动此开关组件20形成断路,使得 PCI桥接器A无法传送电源至PCI桥接器B,依此类推,PC工桥接器C、 D、 E 及F亦无法得到电源,使得各PCI桥接器B、 C、 D、 E及F分别失去其主阶总
线代号/次阶总线代号/末阶总线代号;
步骤(205)对各PCI桥接器B、 C、 D、 E及F进行测试,判断是否确实失 去供应电源,若是,则进行步骤(206),否则回步骤(204):
为保护测试人员于分别移除各网络卡1、 2时不致触电,以及保护各网络 卡l、 2,必须确定各PCI桥接器B、 C、 D、 E及F确实失去供应电源。
步骤(206)通知此测试主机1的操作系统11,更新各网络卡1、 2已无 作用的状态
此步骤可以重新整理的指令,使得操作系统ll重新扫瞄各网络卡l、 2, 当操作系统ll无法侦测各网络卡l、 2时,则显示已无各网络卡l、 2存在;
步骤(207)显示一可更换网络卡的信息,以告知测试人员可换卡的时机。
当测试人员将各另一网络卡分别插设于一 PCI接口插槽15后,并可开始 进行后阶段,见图4,测试主机依据下列步骤进行后阶段
歩骤(301)恢复PCI桥接器B、 C、 D、 E及F的供应电源
此实施例中,当测试主机1接收恢复各PCI桥接器B、 C、 D、 E及F的供 应电源的指令后,此中央处理单元12便驱动此开关组件20形成通路,使得 PCI桥接器A可再度传送电源至PCI桥接器B、 C、 D、 E及F;
步骤(302)对各PCI桥接器B、 C、 D、 E及F进行测试,判断是否确实恢 复供应电源,若是,则进行步骤(303),否则回步骤(301):
步骤(303)依序对各PCI桥接器B、 C、 D、 E及F进行侦测,并于侦测到PCI桥接器B、 C、 D、 E及F时,依据先前所储存的总线代号17,对应地分配 至PCI桥接器B、 C、 D、 E及F,直到所有的PCI桥接器B、 C、 D、 E及F被侦 测且被分配对应的总线代号17为止;
虽然PCI桥接器B、 C、 D、 E及F刚被恢复供应电源,但是,并未被重新 分配一组总线代号17,因此,测试主机1必须将PCI桥接器B、 C、 D、 E及F 先前已储存的总线代号17依序分配回去,图5本发明第二实施例的步骤303 的细部流程图。步骤(303)的细部步骤为
步骤(3031)将先前的总线代号17分配回PCI桥接器B: 测试主机1仅能由PCI桥接器A侦测到PCI桥接器B,因此,测试主机l 便将PCI桥接器B先前已储存的的总线代号17分配予PCI桥接器B,使得PCI 桥接器B的配置登记码18中的主阶总线代号/次阶总线代号/末阶总线代号分 别为14/15/19。
步骤(3032)依据PCI桥接器B的总线代号17,判断是否侦测到任何的 PCI桥接器C、 D、 E或F,若是,则进行步骤(3033),否则,进行步骤(3031)。
此时,倘若PCI桥接器B的总线代号17正确,测试主机1便能由PCI桥 接器B侦测到PCI总线Bus 15上的PCI桥接器C及E,否则,代表PCI桥接 器B的总线代号17出现错误,必须重新检查PCI桥接器B的总线代号17后, 将正确的总线代号分17配回PCI桥接器B。
步骤(3033)将先前的总线代号17分配回PCI桥接器C及E:
测试主机1再将PCI桥接器C及E先前已储存的的总线代号17各别分配 予PCI桥接器C及E,使得PCI桥接器C及E的配置登记码18中的主阶总线 代号/次阶总线代号/末阶总线代号分别为15/16/17及15/18/19。
步骤(3034)依据PCI桥接器C及E的总线代号17,依序判断是否侦测 到任何的PCI桥接器D或F,若是,则进行步骤(3035),否则,进行步骤(3033)。
同样地,倘若PCI桥接器C或E的总线代号17正确,测试主机l接着便 能由PCI桥接器C侦测到PCI桥接器D、由PCI桥接器E侦测到PCI桥接器F, 否则,代表PCI桥接器C或E的总线代号17出现错误,必须重新检査PCI桥 接器C或E的总线代号17后,将正确的总线代号17分配回PCI桥接器C或E。
步骤(3035)将先前的总线代号17分配回PCI桥接器D及F:
测试主机1再将PCI桥接器D及F先前已储存的的总线代号17各别分配予PCI桥接器D及F,使得PCI桥接器D及F的配置登记码18中的主阶总线 代号/次阶总线代号/末阶总线代号分别为16/17/17及18/19/19。
如此,各PCI桥接器B、 C、 D、 E及F便可依序取得原先的总线代号,可 提供测试主机1与各另一网络卡之间进行数据的存取。
步骤(304)使PCI桥接器A致能
此测试主机1对PCI桥接器A的其中一脚位发出一致能信号,使得PCI 桥接器A因此而被启动,而由于其它PCI桥接器B、 C、 D、 E及F凭借PCI桥 接器A与此测试主机1内的中央处理单元12连接,故,其它PCI桥接器B、 C、 D、 E及F也跟着被启动。
如此,测试主机1的操作系统11侦测到PCI桥接器A、 B、 C、 D、 E及F 均被致能后,便检查PCI桥接器B、 C、 D、 E及F是否已分配有总线代号17, 当操作系统11检査到PCI桥接器B、 C、 D、 E及F己分配有各自的总线代号 17时,操作系统11便不会自行分配总线代号,而可依据此PCI桥接器B、 C、 D、 E及F各自的总线代号17进行工作。
由于测试主机采用的操作系统并不支持PCI适配卡热插拔环境,如此,本 发明可节省重复关闭及开启计算机装置及操作系统两次的时间,进而节省测试 时间及测试成本,提升测试效率。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情
况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
ii
权利要求
1. 一种实现PCI适配卡进行热插拔的方法,应用于一测试主机,该测试主机具有一不提供PCI适配卡热插拔环境的操作系统及至少二PCI总线,该些PCI总线之间分别由一PCI桥接器相互连接,该些PCI总线可供连接至少一PCI待测卡,其特征在于,该方法包括(a)储存该PCI桥接器所分配到的一组总线代号;(b)使该PCI桥接器失能;(c)切断该PCI桥接器的供应电源;(d)待该PCI待测卡被更换为另一PCI待测卡后,恢复该PCI桥接器的供应电源;(e)将先前所储存的该组总线代号,分配予该PCI桥接器,以提供该测试主机使用;以及(f)使该PCI桥接器致能。
2. 根据权利要求1所述的实现PCI适配卡进行热插拔的方法,其特征在于, 该步骤(a)中该PCI桥接器所分配到的总线代号包括一主阶总线代号、 一次阶 总线代号及一末阶总线代号,并分别纪录至一储存装置。
3. 根据权利要求2所述的实现PCI适配卡进行热插拔的方法,其特征在于, 该步骤(e)中将先前所储存的该组总线代号,分配予该PCI桥接器之前,该测 试主机需侦测到该PCI桥接器。
4. 一种实现PCI适配卡进行热插拔的方法,应用于一测试主机,该测试 主机具有一不提供PCI适配卡热插拔环境的操作系统及至少三阶PCI总线,任 二阶PCI总线之间由一 PCI桥接器而形成串联,每一该些PCI总线可供连接至 少一PCI待测卡,其特征在于,该方法包括(a) 纪录第二阶PCI总线以后的每一该些PCI桥接器所分配的总线代号;(b) 使所有PCI桥接器失能;(c) 切断该第二阶PCI总线以后的每一该些PCI桥接器的供应电源;(d) 待该至少一 PCI待测卡被更换后,恢复该第二阶PCI总线以后的每一 该些PCI桥接器的供应电源;(e) 对该第二阶PCI总线以后的每一该些PCI桥接器进行侦测,并于侦测到一PCI桥接器时,分配对应的总线代号,直到所有的PCI桥接器被分配总线 代号完毕为止;以及(f)使所有PCI桥接器致能。
5. 根据权利要求4所述的实现PCI适配卡进行热插拔的方法,其特征在于, 该步骤(a)中每一该些PCI桥接器所分配到的总线代号各包括一主阶总线代 号、 一次阶总线代号及一末阶总线代号,并分别纪录至一储存装置。
6. 根据权利要求4所述的实现PCI适配卡进行热插拔的方法,其特征在于, 步骤(b)对该第一、二阶PCI总线间的PCI桥接器的其中一脚位发出一失能信 号,使得该第二阶PCI总线后的PCI桥接器皆失能。
7. 根据权利要求4所述的实现PCI适配卡进行热插拔的方法,其特征在于, 该步骤(c)中于该第一、二阶PCI总线间的PCI桥接器与该第二、三阶PCI总 线间的PCI桥接器之间,设有一开关组件,该测试主机驱使该开关组件形成断 路,切断该第二阶PCI总线后的PCI桥接器的供应电源。
8. 根据权利要求4所述的实现PCI适配卡进行热插拔的方法,其特征在于, 该步骤(d)中,该测试主机驱使该开关组件形成开路,使得该第一、二阶PCI 总线间的PCI桥接器可再度传送电源至该第二阶PCI总线后的PCI桥接器的供 应电源。
9. 根据权利要求4所述的实现PCI适配卡进行热插拔的方法,其特征在于, 该步骤(e)中包括将先前的总线代号分配回该第二、三阶PCI总线间的PCI桥接器 依据该第二、三阶PCI总线间的PCI桥接器,判断是否于下二阶PCI总线间侦测到任何PC工桥接器;以及当判断到任一 PCI桥接器时,将先前的总线代号分配回该下二阶PCI总线间的PCI桥接器。
10. 根据权利要求4所述的实现PCI适配卡进行热插拔的方法,其特征在 于,步骤(f)对该第一、二阶PCI总线间的PCI桥接器的其中一脚位发出一致 能信号,使得该第二阶PCI总线后的PCI桥接器皆致能。
全文摘要
一种实现PCI适配卡进行热插拔的方法,应用于不提供PCI适配卡热插拔环境的一测试主机,测试主机具有至少二PCI总线,各PCI总线可供连接一PCI待测卡且各PCI总线之间分别以一PCI桥接器相互串联,测试主机于储存各PCI桥接器所分配到的总线代号后,便依序使PCI桥接器失能及失去供应电源;再于PCI待测卡被更换后,开始恢复PCI桥接器的供应电源,将先前所储存的总线代号分配回PCI桥接器,再使PCI桥接器致能,如此测试主机侦测到被更换PCI待测卡的PCI桥接器仍具有总线代号,便依据此PCI桥接器的总线代号进行工作。
文档编号G06F13/40GK101499045SQ20081000685
公开日2009年8月5日 申请日期2008年2月1日 优先权日2008年2月1日
发明者吴明城 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1