用于无中断动态热插拔的系统与方法

文档序号:6398391阅读:183来源:国知局
专利名称:用于无中断动态热插拔的系统与方法
技术领域
总的来说,本发明涉及数据处理系统,具体地讲,涉及数据处理系统的热插拔组件。再具体一些,本发明涉及一种方法、系统与数据处理系统配置,其允许无中断地热插拔增加与减少对称多处理器数据处理系统的处理器结点。
背景技术
在个人与商业环境中,对更好和资源更丰富的数据处理系统的需要,使产业界不断改进为客户使用而设计的系统。一般地,对于商业与个人用系统,改进一直集中在提供更快的处理器,更大的上层缓存,更大量的只读存储器(ROM),更大的随机访问存储器(RAM)空间,等等。
满足客户需求还需要使客户能够用更多的资源(包括硬件资源)来提升和/或扩展已经存在的系统。例如,具有配备了CD-ROM的计算机的客户以后可能决定“升级”到或者增加DVD驱动器。或者,客户可能购买具有64K字节缓存的奔腾(Pentium)1处理器芯片的系统,而后来决定升级/改变该芯片到奔腾3芯片,并且增加缓存容量到256K字节。
当前数据处理系统的设计允许通过一些努力对系统硬件配置进行这类基本改变。如本领域技术人员所知,升级处理器和/或存储器涉及打开计算机机箱,“卡入(clip)”新芯片或存储条到母板上可用的、各自的处理器槽与存储器槽内。同样,可以将DVD播放器连接到母板上接收用内部输入/输出(I/O)端口。对于某些系统,也可以将外部DVD驱动器连接到外部串行或者USB端口之一。
另外,尤其对于商用系统,改进还包括提供更大量的处理资源,即不是用更快的处理器来替换当前的处理器,而是再购买几个同样的处理系统并且将它们连接在一起以提供更高的总体处理能力。当前大部分商用系统都设计成多个处理器放在单一系统中,并且许多商用系统为分布式和/或联网系统,其中多个单一系统相互连接并且共享处理任务/负荷。然而,即使是这些“大型”商用系统也会随着客户需求的改变而不断升级或扩展。
可以看到,当升级或者改变系统时,尤其对于在内部添加的组件,经常需要在完成安装之前关闭系统电源。然而,对于外部添加的组件,可能只要在系统加电并运行时插入该组件。不管添加组件所使用的方法(内部或者外部添加)如何,该系统都包含与用于识别增加了附加硬件或者只是识别发生了系统配置改变的互连结构(fabric)相关联的逻辑。然后该逻辑可能引起向用户输出提示以(或者自动地)初始化系统配置升级,并且如果需要的话,还加载所需要的驱动程序以完成新硬件的安装。可以看到,当从系统中移除组件时,也需要系统配置升级。
使新的I/O硬件几乎立刻为数据处理系统所使用的技术在本领域中一般称为“即插即用”。当前系统的这种功能使系统在识别组件并且安装了正常操作所需的驱动程序等等之后,能够自动允许系统使用该组件。
图1A显示商用SMP,包括处理器101与处理器102、存储器104以及输入/输出(I/O)设备106,它们通过互连结构108相互连接。互连结构108包括线路与控制逻辑,用于传递在组件之间的通信,并且控制MP 100对硬件配置改变的响应。由此,新的硬件组件也将通过互连结构108(之间或者间接)连接到现有的组件。
如图1A所示,MP 100包括虚线表示的逻辑分区110(即软件实现的分区),其在逻辑上将第一处理器101与第二处理器102分离。在MP 100中使用逻辑分区110使得第一处理器101与第二处理器102能够互相独立地运行。另外,在实质上逻辑分区110保护每个处理器不受其他处理器的运行问题与不可用时间的影响。
可以如上所述地扩展诸如SMP 100的商用系统以满足客户需求。另外,对商用系统的改变可能是故障组件的结果,该故障组件使该系统不能以全部能力运行,或者在更糟的情况下运行。当发生这种情况时,必须替换故障组件。有些商用客户依靠系统制造商/供应商来管理所需维修或升级。其他商用客户雇佣维护技师(或者技术支持人员),这些人的主要工作就是确保系统保持运行,并且确保完成所需的对于系统的升级和/或修改,而不会严重中断客户的雇员访问该系统的能力或者该系统继续处理对时间敏感工作的能力。
在当前系统中,如果客户(即技术支持人员)希望从图1A的系统中移除一个处理器(例如第一处理器101),则客户必须完成下列序列的步骤
(1)阻止指令在第一处理器101上,并且抑制所有I/O;(2)在处理器之间强行隔离;(3)然后关闭系统(断电)。从客户的角度可以看到中断,这是因为系统不能用于任何处理(即,甚至第二处理器102上的操作也被暂停);(4)移除处理器101,重新对系统加电;以及(5)然后系统(第二处理器102)取消停顿。取消停顿的过程涉及重新启动系统,重新引导OS以及重新开始I/O操作与指令的处理。
类似地,如果客户希望添加处理器(例如第一处理器101)到只有第二处理器102的系统,则必须进行基本相反的步骤序列(1)阻止指令在第二处理器101上执行,并且抑制所有I/O。从客户的角度可以看到中断,这是因为系统不能用于任何处理(即,第二处理器102上的操作被暂停);(2)然后关闭系统(断电)。
(3)添加第一处理器101并且重新对系统加电;此时使用第一处理器101。初始化一般涉及进行一系列的测试,包括内置的自检测(BIST)等等;(4)然后系统取消停顿。取消停顿的过程涉及重新启动系统,以及重新开始I/O操作和重新开始两个处理器上的指令的处理。
对于大型商用系统,上述五步或者六步过程可能是非常耗时的,在有些情况下需要多达几个小时才能完成。在这一不可用时间内,客户不能使用/访问系统。因此这类中断对于客户十分明显,并且根据行业或者系统的用途可能导致巨大的财务损失。另外,如上所述,不管完成添加还是移除处理,都需要系统的最小重启或者完全重启。可以看到,对于具有实际物理分区的系统,也可能觉察到上述中断,如下所述。
系统1B显示具有物理分区的示例MP服务器集群。MP服务器集群120包含三个服务器,即通过背板连接器121互连的第一服务器121,第二服务器122和第三服务器123。每个服务器都是与图1A的MP 100类似的、具有处理器131、存储器136以及I/O138的完整处理系统。虚线表示的物理分区126将第三服务器123从第一服务器121和第二服务器122分离。开始可以将第一服务器121和第二服务器122互相耦合,而第三服务器123可以在以后添加。或者,开始可以将所有服务器互相耦合,然后第三服务器123可以在以后移除。不论是添加还是移除第三服务器123,上面涉及关闭整个系统并且致使客户觉察到中断的多步过程是从MP服务器集群120添加/移除第三服务器123的唯一已知方法。
将服务器或者处理器从更大系统中移除的触发原因经常是该组件在运行时显示了问题。这些问题可能由许多原因造成,例如坏晶体管,故障逻辑或者线路等等。一般地,当制造系统/资源时,该系统会经过一系列的测试以确定该系统是否正确运行。对于诸如图1B所述的服务器系统尤其如此。即使测试有近于100%的准确性,也可能检测不到有些制造时的问题。另外,制成后一段时间内部组件(晶体管等等)经常出故障,并且该系统可能发送给客户并且添加到客户的现有系统中。当系统连接到客户现有系统时,一般在该系统上进行另一系列的测试,以确保所添加的系统在现有系统的确定参数下运转正常。后一系列的测试(客户水平)由技师(或者设计工程师)启动,这些人的任务是确保现有系统保持运转,使不可用时间尽可能短。
在非常大/复杂的系统中,在现有系统以及新添加的系统上运行测试的任务经常占据技师很大一部分时间,并且当发生问题时,直到该问题发生后一段时间(可能几天),一般不会认识到该问题。当发现特定资源的问题时,一般必须更换该资源。如上所述,即使当所替换/移除的资源在逻辑上或者物理上与从其他系统隔离开时,更换资源也需要技师关闭整个系统。
分担系统负荷的问题组件与没有该组件的系统相比可能导致降低工作效率。或者,问题组件可能将错误引入到整个处理之中,这使整个系统无法使用。目前,移除这种组件需要技师首先进行整个系统的测试,找到是哪个组件引起的问题,然后启动上述的移除步骤序列。由此,系统维护的很大一部分需要技师不断地在系统上进行诊断测试,而且系统监视消耗大量的工时,并且可能对客户非常昂贵。另外,只有技师运行诊断时才会确定问题组件,并且只有问题组件损坏了系统正在处理的操作时,才能确定问题组件。可能必须抛弃某些处理结果,并且可能必须将系统复原到最后一次正确的状态。
本发明认识到希望提供一种用来将外部即插即用组件的热插拔功能扩展到需要额外处理能力的大型服务器系统的系统与方法。向SMP热插拔MP服务器的方法与系统将是受人们欢迎的改进。人们还希望热插拔操作时在系统上见不到不可用时间,从而使该操作对于客户保持不可见。此处所描述的发明将提供这些以及其他优点。

发明内容
公开了一种数据处理系统,其在不中断整体处理系统当前操作的前提下,提供单个的可热插拔组件的热插拔添加与移除功能。该数据处理系统包括诸如处理器、存储器以及I/O设备的主要组件。这些组件通过由连接线路、连接端口以及逻辑组件构成的互连结构相互连接。该连接端口支持热插拔组件,从而可以将外部可热插拔组件耦合至该数据处理系统。除了硬件组件之外,该数据处理系统还包括软件组件,即服务元件与操作系统(OS)。该逻辑组件包括配置、路由逻辑以及操作逻辑。配置逻辑选择该数据处理系统在运行时所遵照的配置简档(profile)/参数。路由逻辑与运行逻辑提供控制如何传递该数据处理系统上的通信(数据等等)的路由协议。
当可热插拔组件连接到可用的系统连接器时,服务元件自动检测该连接并且为该扩展后系统选择正确的配置文件。第一组件的服务元件担当主机的角色,从而新添加组件的服务元件由主服务元件控制。一旦加载该配置文件到硬件配置寄存器中并且对新元件的系统检查指示该新元件准备好运行,则将该新元件集成到现有系统中。服务元件向操作系统发信号以开始向新元件分配负荷。由此从客户的角度看,整个过程发生在不断电或者中断现有元件的操作的前提下。
在另一实施例中,在不中断剩余主系统的当前处理的前提下,也可以实现可热插拔组件的移除。该移除可以由维护技师启动或者或者为自动实现。
本发明的上述以及其他目的、特征以及优点在下面的详细描述中将变得显而易见。


被认为是本发明特征的新颖特性在权利要求中列出。然而本发明本身以及使用的优选实施例、其进一步的目的与优点,最好通过在参照附图的同时阅读下面详细的实施例描述来加以理解,其中图1A为根据现有技术的多处理器系统(MP)的主要组件的方框图;图1B为显示根据现有技术的服务器集群的多个服务器的方框图;图2为根据本发明一个实施例的数据处理系统(服务器)的方框图,该数据处理系统(服务器)设计有互连结构控制逻辑,用来提供各种热插拔功能;
图3为包含根据本发明一个实施例的被配置用于热插拔的图2的两个服务器的MP的方框图;图4A为显示根据本发明一个实施例的向图3的MP添加服务器的过程的流程图;图4B为显示根据本发明一个实施例的从图3的MP移除服务器的过程的流程图;图5为根据本发明一个实施例的允许所有主要组件的热插拔扩展的数据处理系统的方框图;图6为显示根据本发明一个实施例的完成显示可检测问题的热插拔组件的自动检测与动态移除的过程的流程图。
具体实施例方式
本发明提供一种方法与系统,其允许热插拔地添加与移除处理系统的主要组件的功能,而不含有现有系统所需的不可用时间。具体地讲,本发明提供在数据处理系统行业的三个主要优点(1)在对称多处理器系统(SMP)中可热插拔处理器/服务器,不会中断正在进行的系统操作;(2)在多处理器系统(MP)中可热插拔组件,包括存储器、异构处理器以及输入/输出(I/O)扩展设备,不会中断正在进行的系统操作;以及(3)对于影响系统热插拔组件的问题的自动检测,以及不暂停其他系统组件运行地对该问题组件的动态移除。
为简单起见,上述三项改进被描述为具有单独的标题的小节,其中一般热插拔功能分为热插拔小节与分离的热移除小节。这些小节的内容可能重叠。然而,实施例功能中重叠在第一次遇到时详细描述,以后将引用。
1.硬件配置现在转到附图,具体地参考图2,其中显示了一个多处理器系统(MP),其设计成具有可能实现本发明的各种特性的互连结构(fabric)与其他组件。MP 200包括第一处理器201与第二处理器202,MP 200还包括存储器204与输入/输出(I/O)组件206。各种组件通过互连结构(interconnect fabric)208进行互连,该互连结构包括热插拔连接器220。添加新的可热插拔硬件组件(直接或者间接)通过互连结构208的热插拔连接器220来完成,详细描述如下。
互连结构208包括线路与控制逻辑,用于传递在组件之间的通信,并且控制MP 100对硬件配置改变的响应。控制逻辑包括路由逻辑207与配置设置逻辑209。具体地讲,如MP 200左侧的插图所示,配置设置逻辑209包括第一与第二配置设置,配置A 214与配置B 216。配置A 214与配置B 216耦合至模式设置寄存器218,该寄存器由锁存器217控制。下面将更详细地描述配置设置逻辑209内的组件的操作。
除上面的组件之外,MP 200还包括服务元件(S.E.)212。S.E.212为小型微控制器,包含特殊的软件编码的逻辑(software-coded logic)(与操作系统(OS)分离),其被用来维护系统的组件并且完成大型系统的接口操作。因此S.E.212运行所需的代码来控制MP 200。S.E.212通知OS在MP内的附加的处理器资源(即处理器数目的增加/减少),以及其他系统资源(即存储器与I/O等等)的添加/移除。
图3显示两个与图2的200类似的MP,其通过热插拔连接器220耦合在一起,以生成更大的对称MP(SMP)系统。MP 200标记为元件0与元件1,需要这样的标记用于描述目的。元件1可能通过设计用来耦合分离的MP的热插拔连接器220的线路、连接器针或者电缆连接耦合至元件0。在一个实施例中,MP可以直接插入后台处理器扩展机架,该机架允许扩展客户的SMP以容纳附加的MP。
作为示例,元件0为希望增加其主系统的处理能力/资源的客户的主系统(或者服务器)。元件1为由系统技师添加到主系统的附属系统。根据本发明,元件1的添加通过此处所提供的热插拔操作来完成,而且在连接元件1时客户不会觉察到元件0的不可用时间。
如图3所示,SMP 300包括虚线表示的物理分区210,其将元件0与元件1分离。物理分区210使每个MP 200都能够比较独立于其他MP地运行,并且在有些实现中,在实质上逻辑分区210保护每个MP 200不受其他MP200的运行问题与不可用时间的影响。
II.SMP中处理器的无中断热插拔添加图4A显示完成添加元件1到元件0的无中断热插拔操作的过程的流程图。根据下面描述的“热添加”例子,MP 200的初始运行状态如下
元件0使用互连结构208上的配置A运行OS与应用程序;元件0还与元件1在电气与逻辑上分离;服务元件0管理单一MP元件0的组件;互连结构通过配置A、为配置A设置的锁存器位置来路由控制等等;元件1可能不存在或者存在但还没有插入系统。
可能有除图2与3所示之外的其他/附加的硬件组件,并且所提供的这些硬件组件只为说明目的,而不是用来限制本发明。在当前实施例中,MP 200还包括使“切换”能够在固定数目的周期之内完成的逻辑,从而客户见不到明显的操作时间损失。可能分配许多周期来完成切换。互连结构控制逻辑向仲裁器请求该数目的周期以进行配置切换。在大部分实现中,实际所请求的时间量级为百万分之一秒(1微秒),从客户的角度这是可以忽略的(或者不可见的)。
回到图4A,该过程开始于方框402,此时维护技师在元件0运行的同时将元件1物理地插入元件0的热插拔连接器220。然后元件1加电,如方框404所示。在一个实施例中,技师将元件1物理地连接到电源。然而,本发明还考虑了通过热插拔连接器220来提供电源,以便只需要将主系统元件0直接连接到电源。这可以通过插入所有MP的背板连接器来完成。
一旦元件1接通电源,则元件1内的S.E.1完成检查点步骤序列来初始化元件1。在一个实施例中,在元件1上配有一组物理针,其由维护技师选择以启动检查点过程。
然而,在此处所描述的实施例中,S.E.0完成对向元件0插入另一元件的自动检测,如方框406所示。然后S.E.0担当主机的角色,并且触发S.E.1来启动元件1的加电重置(POR),如方框408所示。POR导致始终启动,运行BIST(内置自检测),并且初始化元件1的处理器、存储器与互连结构。
根据一个实施例,S.E.1还运行测试应用程序,以确保元件1操作正常。由此,根据上述测试在方框410作出确定,即元件1是否“干净”或者准备好集成到主系统(元件0)中。假定允许元件1集成,然后S.E.0与S.E.1在两个MP 200操作/运行的同时初始化在元件0与元件1的互连结构之间的互连,如方框412所示。该过程开启了通信路径使得两个互连结构都能够共享任务以及高效地协调信息的传递。该过程包括启动电气连接的驱动器与接收器,并且如果需要的话,还包括调节接口以最有效地运行复合系统,如方框415所示。在一个实施例中,接口的调节为内部过程,由互连结构的控制逻辑自动完成。为了同步整体系统上的操作,使元件0的控制逻辑担当主机的角色。然后元件0的控制逻辑控制在元件0与元件1上的所有操作。元件1的控制逻辑自动检测元件0的运行参数(例如配置模式设置),并且同步自己的运行参数以反映元件0的运行参数。在元件0的逻辑的控制之下,互连结构208逻辑地与物理地“结合”。
在完成接口调节的同时,将配置B 216载入两个元件的配置模式寄存器218,如方框416所示。载入同样的配置模式使得复合系统能够以与互连结构级上同样的路由协议运行。选择一个配置模式/协议而不是另一个的过程由锁存器217控制。在动态例子中,当S.E.寄存器登记下一个元件已经插入、完成了初始化并且准备好融入系统时,其为新的拓扑结构设置在现有的以及新元件两者之上的配置寄存器。然后该SE执行给硬件说“变(go)”的命令。在所示实施例中,当执行变命令时,自动状态机暂时挂起互连结构操作,改变锁存器217以使用配置B,并且重新开始互连结构操作。在可替换实施例中,该SE命令变将同步地改变所有元件上的锁存器217。不论哪种实施例,计算机系统中的OS与I/O设备都不会看到中断,这是因为该配置切换发生在处理器周期量级上(在本实施例中少于1微秒)。锁存器的值告诉硬件如何在SMP上传递信息,并且确定在互连结构上所实现的路由/运行协议。在一个实施例中,锁存器作为多路转接器(MUX)的选择输入,该多路转接器的数据输入端口耦合至配置寄存器之一。锁存器中的值使得选择一个配置寄存器或者另一个配置寄存器作为MUX输出。该MUX输出载入配置模式寄存器210。然后在系统运行时,自动状态机控制器实现协议。
热插拔操作后的系统运行状态如下元件0使用互连结构208上的配置B运行OS与应用程序;元件0还与元件1在电气与逻辑上连接;元件1使用互连结构208上的配置B运行OS与应用程序;元件1还与元件0在电气与逻辑上连接;服务元件0管理元件0与元件1两者的组件;互连结构通过配置B、为配置A设置的锁存器位置来路由控制等等。
复合系统继续以新的路由协议运行,该路由协议考虑了提高的处理能力与分布式存储器等等,如方框418所示。客户立即取得组合后系统的增加的处理资源/能力的好处,而再不会觉察到主系统的不可用时间或者必须重启系统。
可以看到,上述过程可以扩展,以包括大量附加元件或者一次一个地或者同时的相互连接。当一次一个地完成时,所选择的配置寄存器为每次新添加(或者减少)元件进行来回切换。另外,在另一实施例中,可以提供许多不同的配置寄存器,以处理多达特定数目的热插拔/连接元件。例如,根据系统分别包括1、2、3、或4个元件,可以有四个不同的寄存器堆用于选择。配置寄存器可以指向存储器的特定位置,在该位置上保存着为特定硬件配置所设计的更庞大的运行/路由协议,并且根据处理系统的当前配置启动。
III.存储器、I/O通道以及异构处理器的无中断热插拔图5显示热插拔功能的另一个扩展。具体地讲,图5扩展了上面的无中断热插拔功能,以包括附加存储器、I/O通道以及异构处理器的无中断热插拔添加。MP 500包括与图2中MP 200类似的主要组件,而新的组件以标号500表示。除了主要组件(即通过互连结构208耦合在一起的第一处理器201与第二处理器202、存储器504A和I/O通道506A)之外,MP 500还包括互连结构208上几个附加的连接器端口。在这些连接器端口中,包括存储器扩展端口521、热插拔I/O扩展端口522以及热插拔处理器扩展端口523。
每个扩展端口都具有对应的配置逻辑509A、509B以及509C,以控制相应组件的热插拔操作。类似于上面对于MP 300、元件0与元件1描述的过程,除了存储器504A之外,附加存储器504B还可以“插入”互连结构508的存储器扩展端口521。初始存储器地址范围0到N现在扩展到包括地址N+1到M。对于任何大小的存储器的配置模式都可以通过锁存器517A选择,该锁存器由S.E.212在添加附加存储器504B时设置。另外,附加I/O通道可通过热插拔I/O通道506B、506C提供到热插拔I/O扩展端口522。此外,对于I/O通道大小的配置模式可以通过锁存器517C选择,该锁存器由S.E.212在添加附加I/O通道506B、506C时设置。
最后,可以将非对称处理器(即与MP 200内的处理器201与202配置/设计不同的处理器)插入热插拔处理器扩展端口523,并且与上述对于服务器/元件1的过程类似地启动。然而,与其他配置逻辑509A、509B(它们只需要考虑可用存储器与I/O资源数量的增加)不同,用于处理器增加的配置逻辑509C涉及对更多参数的考虑,这是因为处理器是非对称的,并且正确配置模式的选择必须考虑负荷分担与分配等等。
上述配置使系统能够相应地缩减/增加处理器、存储器、和/或I/O通道,而MP 500上的处理没有可以察觉的中断。具体地讲,上面的配置使得存储器与I/O的可用地址空间能够增加(与缩减)。每一添加或者移除都互相独立地处理(即处理器相对于存储器或者I/O独立),并且由单独逻辑控制,如图所示。相应地,本发明将“热插拔”的概念扩展到不能按热插拔这个词的传统意义进行热插拔的设备上。
图5所示的系统的初始状态包括存储器空间总量N;I/O空间(即连接I/O设备的通道)数量R;以及速度Z上处理能力总量Y,等等。
从初始状态到系统范围的最终状态存储器空间总量M(M>N);I/O空间(即连接I/O设备的通道)数量T(T>R);以及速度Z与速度Z+W上处理能力总量Y+X。
上述变量只用于说明目的,并不是为了表示特定的参数值或者限制本发明。
使用上面的实施例,维护技师通过物理地插入附加的存储器、处理器和/或I/O来安装(多个)新组件,然后S.E.212完成自动检测与初始化/配置过程。对于添加附加存储器,S.E.212运行可信度测试,对于所有组件,S.E.212运行BIST。然后S.E.212初始化接口(此处由虚线表示),并且设置(多个)备选配置寄存器。在小于1微秒内,S.E.212完成整个硬件切换,然后S.E.212通知OS有新资源可用。然后OS根据哪些组件可用以及运行哪个配置来完成负荷分配等等。
IV.在处理系统中热插拔组件的无中断移除图4B显示完成热插拔组件的无中断移除过程的流程图。该过程通过参照图3的系统来描述,因此,该过程描述了从包括元件1到元件0的系统中元件1的移除。在该移除例子中,如图4B所示,SMP的初始运行状态为上述图4A的热插拔操作后的运行状态。
元件1的移除需要维护技师首先以某种方式发出即将移除的信号。在一个实施例中,在每个元件的外表面上都设有热移除按钮225。按钮225包括发光二极管(LED)或者其他信号装置,通过该装置维护技师可以凭视觉发现运行的元件是“在线”或者插入并且发挥作用的,还是离线的。相应地,在图4B中,当维护技师希望移除元件1时,该技师首先按下按钮225,如方框452所示。在假定每个元件都是卡入(clamp)某种背板连接器的另一实施例中,移除定位元件1的卡子(clamp)将发送信号给S.E.212,以开始拆除(take down)过程。在另一实施例中,系统管理员能够触发S.E.212,以启动特定组件的移除操作。该触发通过在该系统上运行的软件配置公用程序中选择移除选项来完成。在下面第5小节描述了一种自动移除方法,其不需要维护技师或者系统管理员来启动。
一旦按下了按钮225,则在后台开始拆除过程,客户是不可见的(即元件0在整个过程中保持运行)。S.E.212通知OS处理元件1资源的损失,如方框454所示。作为响应,OS将元件1上的任务/负荷分配给元件0,并且清空元件1,如方框456所示。S.E.212监视关于OS已经完成(与数据存储)从元件1到元件0的所有处理的再分配的指示,并且在方框458确定再分配是否已经完成。一旦再分配完成,则OS向S.E.212发消息,如方框460所示,并且S.E.212加载另一种配置设置到配置寄存器218之中,如方框462所示。加载另一种配置设置由S.E.212设置锁存器217以选择该配置设置来完成。在另一实施例中,当一开始按动按钮225以触发移除时,设置锁存器217。元件1被从SMP互连结构中逻辑地移除并且电气地移除,而不中断元件0。然后S.E.212使按钮225发光,如方框464所示。该灯光通知维护技师拆除过程完成。然后技师断电并物理地移除元件1,如方框466所示。
上述实施例使用按钮225内的LED来指示服务器的运行状态。由此,设置预定的颜色方案来向客户或者技师表明何时元件开(热插拔)或者关(移除)。例如,蓝颜色可能指示该元件工作正常,并且电气与逻辑地连接,红颜色可能指示该元件正处在被拆除的过程中,而且不应该被物理地移除,绿颜色(或者不发光)可能指示该元件已经被拆除(或者不再逻辑或电气地连接),而且可以被物理地移除。
V.问题组件的无中断自动检测与移除有了上面的热插拔组件的手工移除功能,本发明的一种扩展提供了问题组件的无扩散自动检测,以及没有在预定运行水平上发挥功能的元件或者有缺陷元件的自动移除。使用本发明的无扩散热插拔功能,技师能够移除问题元件而不用关闭整个系统。本发明将此功能进一步扩展,即允许对插入系统中的组件的自动问题检测,随后以不扩散的方式(当系统仍然在运行时)从系统中动态移除问题/缺陷组件。不同于由技师启动拆除,当前的自动检测与相应的拆除问题元件/组件的发生不需要人工干预,并且发生在后台而在其余处理系统上没有可以察觉的中断。本实施例允许高效的检测问题/缺陷组件,并且减轻了当使用问题组件来处理任务时对整体系统完整性的潜在威胁。本实施例还有助于及时替换缺陷组件,而对其余系统没有中断。
图6显示在热插拔环境中自动检测与动态再分配问题组件的过程。该过程开始于方框602,此时S.E.检测到新组件添加到系统中,并且保存系统当前的有效运行状态(处理器的配置状态、配置寄存器等等)。或者,S.E.在系统运行时,在预定的时间间隔处以及新组件被添加到系统的任意时刻自动保存运行状态。进入新的运行状态,并且测试系统硬件配置(包括新组件),如方框604所示。在方框606确定对于新运行状态与系统配置的测试是否产生OK信号。系统配置测试可能包括在整个系统上的BIST或者只在新组件上的BIST,以及其他配置测试,诸如新组件的可信度测试。当测试返回OK信号时,保存新运行状态为当前状态,如方框608所示。然后将该新运行状态在整个系统中实现,如方框610所示,并且该过程循环返回测试当发生变化或者经过预定时间段时任意的新运行状态。
当测试返回问题指示符例如BIST失败或者激活运行时间错误检查电路时,启动检测与再分配(deallocate)过程的再分配阶段。S.E.经过类似于图4B所描述的一系列的步骤,不同之处在于不同于图4B,其中移除过程由技师启动,本实施例中的移除过程为自动的,并且作为接到表示测试在某一水平上失败的指示的直接结果而启动。S.E.启动移除过程,如方框612所示,并且发生消息给输出设备,如方框614所示,以通知客户或者维护技师在特定组件中发现了问题并且该组件已被移除(或者正在移除)(即拿下线)。在一个实施例中,输出设备为连接到处理系统的监视器,并且技师通过该输出设备来监视整体系统的运行参数。在另一实施例中,问题被作为消息返回制造商或者供应商(通过网络媒体),然后制造商或者供应商可能立即采取措施以更换或者修理问题组件,如方框616所示。
在一个实施例中,检测阶段包括在芯片水平上的测试。由此,当系统运行时并且当系统被发送给客户之后,在系统上完成了制造商水平的测试。使用上面的过程,就向系统提供出厂质量的自测试功能以及基于这些测试的自动无中断动态重新配置。一个特定的实施例涉及分区的虚拟化。在分区转换时刻,保存分区的状态。通过各个组件中专用的硬件运行出厂质量的自测试。测试只需要以上述无中断方式切换分区所需的同一量级的时间(1微秒)。如果测试指示该分区不好,则S.E.自动重新分配负荷离开坏组件,并且恢复所保存的先前的良好状态。
虽然参照了优选实施例具体显示并且描述了本发明,但本领域的技术人员应该理解可以在不脱离本发明的原理与范围的前提下对形式与细节进行各种改动。
权利要求
1.一种数据处理系统,包括第一处理单元,具有将所述第一处理单元内部的组件互连的互连结构,其中所述互连结构包括至少一个热插拔连接器;第二处理单元,能够通过所述热插拔连接器电气与逻辑地连接到所述第一处理单元;用于在不中断正发生在所述第一处理单元上的操作的前提下,完成在所述第一处理单元与所述第二处理单元之间的电气与逻辑连接的装置;以及用于在电气与逻辑连接之后,自动将所述第一处理单元的负荷与所述第二处理单元共享的装置,其中在所述第一处理单元的互连结构上实现配置响应,以支持所述第二处理单元在所述互连结构上共享所述负荷,而不中断发生在所述第一处理单元上的所述操作。
2.如权利要求1所述的数据处理系统,其中所述互连结构进一步包括用于从多个配置中动态选择用于控制所述互连结构的路由以及通信操作的配置的逻辑,其中当所述数据处理系统只包含所述第一处理单元时,所述逻辑选择第一配置,并且当所述数据处理系统包含所述第一处理单元与所述第二处理单元两者时,所述逻辑选择第二配置。
3.如权利要求2所述的数据处理系统,其中用于完成所述连接的所述装置包含服务元件,在所述第一处理单元中运行,并且当所述服务元件检测到所述第二处理单元连接到所述第一处理单元时,所述服务元件触发所述逻辑以选择所述第二配置。
4.如权利要求1所述的数据处理系统,其中所述第一处理单元包含操作系统(OS),该操作系统根据所述数据处理系统的当前配置,控制数据处理系统上的操作,并且在所述数据处理系统内的处理器与其他组件之间分配负荷;以及用于完成所述连接的所述装置包含在所述第一处理单元中运行的服务元件,并且所述服务元件触发所述操作系统以将所述第一处理单元的负荷在所述第一处理单元与所述第二处理单元两者之间分配。
5.如权利要求1所述的数据处理系统,其中用于完成所述连接的所述装置包含在所述第一处理单元中运行的服务元件,并且响应于检测到所述第二处理单元连接到所述第一处理单元,所述服务元件触发在所述第二处理单元上的一系列运行准备测试,其中所述逻辑连接只有在所述运行准备测试返回肯定结果之后才完成。
6.如权利要求1所述的数据处理系统,进一步包括连接背板,提供用于互连所述第一处理单元的热插拔连接器与相关的所述第二处理单元的热插拔连接器的连接端口。
7.如权利要求1所述的数据处理系统,其中所述互连结构进一步包括用于动态重新配置路由与运行协议以在不造成所述第一处理单元挂起运行的前提下容纳所述第二处理单元的装置。
8.如权利要求1所述的数据处理系统,进一步包括用于在不中断正发生在所述第一处理单元上的操作的前提下移除在所述第一处理单元与所述第二处理单元之间的电气与逻辑连接的装置。
9.如权利要求1所述的数据处理系统,其中所述热插拔连接器为第一热插拔连接器,并且所述第二处理单元包括具有第二热插拔连接器的第二互连结构,该第二热插拔连接器用来将所述第二处理单元通过该连接器连接到第一处理单元。
10.一种数据处理系统,包括第一处理单元,具有将所述第一处理单元内部的组件互连的互连结构,其中所述互连结构包括至少一个热插拔连接器;第二处理单元,通过所述热插拔连接器电气与逻辑地连接到所述第一处理单元,并且所述第二处理单元是可热插拔的;用于在不中断正发生在所述第一处理单元上的操作的前提下,完成所述第二处理单元从所述第一处理单元的电气与逻辑移除的装置。
11.如权利要求10所述的数据处理系统,其中所述互连结构进一步包括用于从多个配置中动态选择用于控制所述互连结构的路由以及通信操作的配置的逻辑,其中当所述数据处理系统包含所述第一处理单元与所述第二处理单元两者时,所述逻辑选择第二配置,并且当所述数据处理系统只包含所述第一处理单元时,所述逻辑选择第一配置。
12.如权利要求11所述的数据处理系统,其中用于完成所述移除的所述装置包含服务元件,在所述第一处理单元中运行,并且当所述服务元件检测到所述第二处理单元连接到所述第一处理单元时,所述服务元件触发所述逻辑以选择所述第二配置。
13.如权利要求10所述的数据处理系统,其中所述第一处理单元包含操作系统(OS),该操作系统根据所述数据处理系统的当前配置,控制数据处理系统上的操作,并且在所述数据处理系统内的处理器与其他组件之间分配负荷;以及用于完成所述移除的所述装置包含在所述第一处理单元中运行的服务元件,并且所述服务元件触发操作系统以将负荷从所述第二处理单元重新分配到所述第一处理单元。
14.如权利要求10所述的数据处理系统,其中用于完成所述移除的所述装置包含在所述第一处理单元中运行的服务元件,并且所述服务元件自动生成在所述第一处理单元与所述第二处理单元之间的逻辑分割。
15.如权利要求10所述的数据处理系统,进一步包括连接背板,提供用于互连所述第一处理单元的热插拔连接器与相关的所述第二处理单元的热插拔连接器的连接端口。
16.如权利要求10所述的数据处理系统,其中所述互连结构进一步包括用于动态重新配置路由与运行协议以在不造成所述第一处理单元挂起运行的前提下不再容纳所述第二处理单元的装置。
17.如权利要求10所述的数据处理系统,其中所述热插拔连接器为第一热插拔连接器,并且所述第二处理单元包括具有第二热插拔连接器的第二互连结构,该第二热插拔连接器用来将所述第二处理单元通过该连接器连接到第一处理单元。
18.如权利要求10所述的数据处理系统,进一步包括第三处理单元;用于在不中断正发生在所述第一处理单元上的操作的前提下,动态建立所述第一处理单元与所述第三处理单元之间的电气与逻辑连接的装置;以及用于在不中断正发生在所述第一处理单元上的操作的前提下,动态重新配置所述数据处理系统以容纳所述第三处理单的装置。
19.一种在包含第一处理单元的数据处理系统中将第二处理单元热插拔到所述第一处理单元的系统,其中所述第一处理单元包括具有热插拔连接器以及可动态调整的配置的互连结构,所述系统包括用于将所述第二处理单元通过所述热插拔连接器连接到所述第一处理单元的装置;用于检测所述第二处理单元的连接并且确定所述第二处理单元是否工作正常的装置;用于当检测到工作正常的第二处理单元时,动态切换所述互连结构的配置到具有支持所述第二处理单元的路由以及运行协议的配置的装置;以及用于将所述第一处理单元的负荷与所述第二处理单元共享的装置。
20.如权利要求19所述的系统,进一步包括用于在不中断所述第一处理单元的操作的前提下,允许热移除所述第二处理单元的装置。
21.如权利要求20所述的系统,进一步包括操作系统(OS),该操作系统根据所述数据处理系统的当前配置,控制数据处理系统上的操作,并且在所述数据处理系统内的处理器与其他组件之间分配负荷。
22.一种在包含第一处理单元的数据处理系统中将第二处理单元热插拔到所述第一处理单元的方法,其中所述第一处理单元包括具有热插拔连接器以及可动态调整的配置的互连结构,所述方法包括检测所述第二处理单元通过所述热插拔连接器到所述第一处理单元的连接;确定所述第二处理单元是否工作正常;当检测到第二处理单元并且第二处理单元工作正常时,动态切换所述互连结构的配置到具有支持所述第二处理单元的路由以及运行协议的配置,其中所述切换发生在不中断所述第一处理单元上操作的前提下;以及将所述第一处理单元的负荷与所述第二处理单元共享。
23.如权利要求22所述的系统,进一步包括在不中断所述第一处理单元的操作的前提下,允许热移除所述第二处理单元。
全文摘要
一种在不中断整个处理系统当前操作的前提下,提供单个可热插拔组件的热插拔添加与移除功能的数据处理系统。该数据处理系统包括具有热插拔连接器的互连结构,在该热插拔连接器上可以将外部可热插拔组件耦合至该数据处理系统,并且逻辑组件包括配置逻辑与路由和操作逻辑。当可热插拔组件连接到该热插拔连接器时,服务元件自动检测该连接并且为该扩展后系统选择正确的配置文件。一旦加载该配置文件并且对新元件的系统检查指示该新元件准备好集成,则将该新元件集成到现有系统中,并且操作系统向该新元件分配负荷。由此从客户的角度看,整个过程发生在不断电或者中断现有元件的操作的前提下。
文档编号G06F13/40GK1542638SQ200410034359
公开日2004年11月3日 申请日期2004年4月12日 优先权日2003年4月28日
发明者拉维·K·阿里迈利, 迈克尔·S·弗洛伊德, 凯文·F·赖克, S 弗洛伊德, F 赖克, 拉维 K 阿里迈利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1