CN100392631C - 对远程扩展设备的多主机支持 - Google Patents
对远程扩展设备的多主机支持 Download PDFInfo
- Publication number
- CN100392631C CN100392631C CNB2005101251050A CN200510125105A CN100392631C CN 100392631 C CN100392631 C CN 100392631C CN B2005101251050 A CNB2005101251050 A CN B2005101251050A CN 200510125105 A CN200510125105 A CN 200510125105A CN 100392631 C CN100392631 C CN 100392631C
- Authority
- CN
- China
- Prior art keywords
- expansion
- main frame
- subrack
- expansion card
- card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
一种数据处理组件,包括与一个或多个扩展插箱连接的一个或多个主机。分配状态信息存储在扩展插箱上,以将扩展插箱资源的分配状态传达给主机。主机取得分配状态,并且从分配状态中为与主机相连的各个扩展总线缆线确定扩展插箱中要进行配置的扩展卡的数量。扩展设备中的扩展卡数量的变化需要分配状态的变化,分配状态的变化可以采用电子方式实现(相对于人工重新配置)。类似地,扩展总线缆线的故障是通过采用电子方式通过不同的扩展总线缆线向另一个主机或向同一个主机重新分配资源来解决的,而不需要过多人工干预。该组件能够检验主机和扩展插箱之间的正确接线。
Description
技术领域
本发明涉及数据处理系统,并且更加具体地讲,涉及采用外部或远程I/O资源的数据处理系统。
背景技术
数据处理系统需要进行输入/输出(I/O)操作的资源。这些I/O资源包括,举例来说,用于永久性存储装置和网络通信的适配器卡。适配器卡最好与诸如PCI或PCI-X之类的行业标准总线接口兼容。系统处理单元借助桥路装置利用这些I/O资源,所述桥路装置访问I/O接口总线。一般来说,所有的I/O结构都处于系统机箱之内。客户一般来说需要的是处理系统,本文称为主机,它使得客户能够随着他们的商业要求的发展而扩展他们的I/O容量。同时,客户想要得到最大的灵活度,举例来说,包括跨越多个主机共享I/O资源的能力,以及改变这些主机之间的资源分配的能力。制造商通过供应本文称为扩展设备或扩展插箱(drawer)的产品来满足这些要求。I/O扩展插箱是通过扩展总线与主机相连的盒子或机箱。I/O扩展插箱一般包括一个或多个扩展卡,每个扩展卡具有多个适配器卡“插槽”,可由期望的适配器卡插入。
在使用现有的扩展插箱实现方案的情况下,在I/O扩展插箱中向另一个主机重新分配I/O资源比较困难并且是费时的。例如,当主机故障时,I/O扩展插箱内的I/O资源不可再用。可以通过将这些I/O资源重新分配给另一个主机使它们再次得到利用,但是要求系统管理员物理移动I/O扩展插箱或者将适配器卡从I/O扩展插箱移到另一个主机是不希望的事。希望实现一种为用户改变多个主机之间的I/O资源分配的电子装置。
发明内容
上面确定的目的是通过用于在一个或多个主机当中分配一个或多个I/O扩展插箱或I/O扩展插箱的一部分的电子装置和服务来实现的。主机和I/O扩展插箱的很多配置方案都是可行的。例如,某些主机具有一个或两个I/O扩展总线;较大的主机可以具有更多的I/O扩展总线。在任何给定的配置中I/O扩展插箱的数量都是可变的,同样I/O扩展插箱中的I/O扩展卡的数量也是可变的。I/O扩展插箱中的I/O扩展总线的数量也是可变的。I/O扩展插箱可以通过主机的I/O扩展总线直接附属于主机,或者它们可以借助I/O扩展插箱自己的I/O扩展总线以菊花链的方式连接在一起,然后再附属于一个或多个主机。
此外,本发明提供了保护I/O扩展卡的装置,从而防止其它主机访问其资源。提供了电源管理的装置,防止一个主机不与另一个所附属于的主机协同地切断I/O扩展插箱的电源,还提供了允许一个主机在因为另一个所附属于的主机无响应而不可能进行协同的时候切断或接通I/O扩展插箱的电源的取代装置。此外,电子分配服务提供了支持同种或异种主机的配置的手段,或者支持各个主机操作系统可能不同的配置的手段。电子分配服务可以由网络管理代理用来管理主机和I/O扩展插箱的复杂配置。
根据本发明的一个方面,提供一种适于与第一主机系统一起使用的扩展设备,包括:机箱;第一扩展总线端口,用于接纳来自第一主机的扩展总线连接;机箱内的第一扩展卡,其中第一扩展卡包括多个适配器插槽;和桥路装置,提供各个适配器插槽与扩展总线之间的接口;所述扩展设备还包括:用于监视机箱内的设置和状态的装置;机箱内的存储装置;和用于将第一扩展卡的分配状态存储在存储装置中并且用于将该分配状态提供给第一主机的装置,其中该分配状态表明第一主机是否可以配置第一扩展卡。
根据本发明的另一个方面,提供一种用于将第一主机耦合到至少一个扩展设备的方法,所述方法包括:将扩展设备的至少一个扩展卡中的每一个的分配状态存储在扩展设备上;由主机从扩展设备上取得所述分配状态;和由主机根据所取得的分配状态确定扩展设备中的要进行配置的扩展卡的数量和哪些扩展卡不进行配置。
根据本发明的另一个方面,提供一种数据处理组件,包括:第一平台类型的第一主机;通过第一扩展总线缆线与第一主机相连接并且包括分配给第一主机并且由第一主机配置的第一扩展卡的至少一个扩展插箱;和扩展插箱的存储装置,包含表明扩展卡的分配的分配状态;其中主机能够从存储装置取得分配状态并且能够根据分配状态中的信息确定是否对第一扩展卡进行配置。
操作综述
该优选实施方式使得分配服务请求能够跨越多个子系统(比如,但不局限于,主机的BIOS、I/O扩展插箱的控制器和远程管理代理)得到成功处理。例如,在引导期间,主机的BIOS能够确定有多少I/O扩展卡分配给它来进行配置,从而避免对分配给另一个主机的I/O扩展卡进行配置。主机的BIOS还可以确认它的I/O扩展总线缆线和它到I/O扩展插箱的管理链路缆线是否正确地连接在I/O扩展插箱的同一端上。
I.术语解释
I/O扩展插箱(插箱)-是处于主机外部的任何机箱,提供额外的I/O扩展卡插槽。在I/O扩展插箱和主机之间有两个总线连接:I/O扩展总线和插箱管理链路。注意,I/O扩展插箱可以由第二数据处理组件得到,不管该组件是否可以在不使用它的板上数据处理器和存储器的情况下配置成作为I/O资源工作,也可以与其它数据处理组件相互连接。
I/O扩展总线-提供主机和I/O扩展插箱之间和/或插箱内的I/O扩展卡之间的高速数据接口的总线及其相关缆线和连接器。
插箱管理链路(DML)-提供主机的服务处理器和位于I/O扩展插箱内的插箱管理控制器之间的接口的总线及其相关缆线和连接器。这并不需要是独立的物理缆线;例如,其可以集成在I/O扩展总线的相同缆线中。
插箱管理控制器(DMC)-监视和控制I/O扩展插箱内的环境条件(包括所安装的I/O扩展卡和其它机箱电子子组件)的逻辑电路,最好实现在微处理器内。DMC的部分职责是监测或控制风扇、温度、电压和设置及运行时间参数。
I/O扩展卡-I/O扩展插箱内的平板(印刷电路板)。该平板具有I/O扩展总线、I/O扩展桥路装置、适配器总线和多个板上适配器插槽。一个卡最可能仅具有一个桥路装置,但是每个I/O扩展卡也可以使用具有多个桥路装置的设计。各个桥路装置将I/O扩展总线连接到适配器总线上。I/O扩展卡插槽最好支持PCI或PCI-X总线体系结构,但是可以包括对任何其它的适配器总线体系结构的支持。
I/O扩展桥路装置-该桥路装置将I/O扩展总线转换为I/O扩展卡上的适配器总线。例如,有将IBM RIOG扩展总线转换为PIC-X适配器总线的桥路装置。
服务处理器(SP)-最好实现为小逻辑卡,存在于主机机箱之内并且提供多种服务,包括,但不局限于,配置检查、故障检测、错误报告和记录、对主机(及其自身)的固件更新支持、多种警报发送方法、用户用的设置和配置实用程序、多种远程连接方法、远程登陆、远程主机重置和远程电源控制、远程视频、远程诊断和主机环境条件的远程报告。
II.I/O扩展插箱模型
按照一种实施方式,I/O扩展插箱可以包括在IBM公司出品的RXE-100扩展插箱中建立的单元和设计特点。
按照这样的实施方式,各个插箱可以具有两个I/O扩展卡。I/O扩展插箱的一“端”称为A端或B端。各端可以包含一个I/O扩展卡。
在插箱中,具有建立在插箱中的从A端到B端的I/O扩展总线连接。某些I/O扩展插箱可以具有物理外部缆线,用来提供这种连接。
按照优选实现方式,A端存在于每个I/O扩展插箱内,使得具有一个I/O扩展卡的插箱就具有A端。
按照强调降低成本的实施方式,在该型号的插箱中的单独一个物理DMC监测和控制插箱中所有的I/O扩展卡。其它的实现方式可以具有用于各个I/O扩展卡的DMC(即,IBM pSeries设计)。按照单独一个物理DMC模块的实现方式,DMC最好可以配置成两个操作模式中的一种,即,“分离模式”和“统一模式”。操作的分离模式指的是这样一种模式:对DMC从逻辑上进行划分,以支持仅针对A端或仅针对B端的主机命令。操作的统一模式指的是这样一种模式:DMC接收来自单独一个主机的用于A端和B端(如果存在)的命令。
插箱的两端最好具有插箱管理链路(DML)。来自主机的DML可以用于A端或B端(分离模式)或者DML可以控制两端(统一模式)。
I/O扩展插箱此外还包含电源、冷却风扇、诊断指示器和机械封装。插箱符合与噪音等级、电磁辐射、易碎性等相关的标准。
虽然其它的I/O扩展插箱可以具有不同的细节,但是本文介绍的电子分配服务也可以容易地对它们进行支持。
III.电子分配命令
各个I/O扩展卡的分配状态信息存储在I/O扩展插箱中。使用一小组命令,主机从附属于其DML的各个插箱中取得分配状态。从所取得的分配状态信息中,主机为各个I/O扩展总线线缆(连接在主机和插箱之间)确定各个I/O扩展插箱内要进行配置的I/O扩展卡的数量。类似地,主机可以经由同一小组命令请求额外的I/O扩展卡或释放I/O扩展卡。按照一种实现方式,该命令组包括三种类型:Report
Assignment(报告分配)、Change Assignment(改变分配)和End
Assignment(结束分配)。下面将针对优选实施方式对主机和插箱内的各个子系统响应于各个命令类型的方式进行介绍。
A.主机BIOS功能和命令:
1.用户初始化主机:
用户重置(或通电)主机和其所连接的I/O扩展插箱。
2.报告分配(Report Assignment)命令
对于所连接的各个I/O扩展插箱,在引导时间期间(布局配置),主机BIOS发出初始命令,以获得DMC ID、I/O扩展插箱端(A或B)和DML所附属的插箱管理地址。主机BIOS发出第二类型的命令,以获得分配给它的I/O扩展卡(各个插箱中的)的数量。
对于其各个I/O扩展总线,BIOS检查是否第一I/O桥路设备已经经过配置(由另一个主机)。用速度设置成默认速度的I/O扩展总线进行查探。如果桥路设备没有经过配置,则BIOS对其进行配置并且获得DMC ID和I/O扩展插箱端(A或B)。利用来自初始命令的信息和经由第一经配置桥路设备获得的信息,BIOS可以确定DML和I/O扩展总线是否连接正确。如果该桥接设备已经经过配置,在BIOS断定不应对这个特定的I/O扩展桥路设备进行配置之前(因为它已经由另一个主机进行了配置),必须进行重试。
BIOS将适当的I/O扩展桥路设备配置在其各个I/O扩展总线上。这样做的时候,BIOS考虑到I/O扩展总线的数量以确定如何最好地分布I/O资源和优化I/O性能。BIOS重置没有分配给它的它已经临时配置过的任何桥路设备。如果BIOS检测到错误连接的缆线,它将会把错误消息传递给主机的事件日志(Event Log)。
3.用户检查报告的分配:
用户对显示针对各个附属I/O扩展插箱的信息的BIOS设置菜单进行输入。一般来说,提供给用户的信息包括DMC ID和主机的DML所附属于的I/O扩展插箱端(A或B)、DMC ID和主机的I/O扩展缆线所附属于的I/O扩展插箱端,和DMC缆线与I/O扩展总线缆线之间的任何接线不匹配。此外,当BIOS没有将任何桥路设备配置在I/O扩展总线上时,给出“无(none)”。另外,显示内容还包括当前分配给主机的I/O扩展卡的数量以及这些卡中的哪些用保留标识符进行了标记、当前未分配的I/O扩展卡的数量,和是否未分配的卡中任何一个也是保留的或具有不工作主机。BIOS在显示菜单的同时周期性地刷新这一菜单(借助从主机到DMC的心跳),以发出会话仍然有效的通知。
4.改变分配(Change Assignment)命令
从BIOS设置菜单中,用户可以释放或请求额外的I/O扩展卡。当用户请求未分配的I/O扩展卡时,BIOS发出三种形式之一的改变分配命令,该命令包括是否要将该I/O扩展卡仅保留给这个主机。如果I/O扩展卡得到保留,则只有这个主机能够访问该I/O扩展卡(即,提高安全性)。如果没有任何未分配I/O扩展卡可用,BIOS将不发送任何分配命令。BIOS将不允许把具有保留标识符的I/O扩展卡分配给新的主机,即使该I/O扩展卡的当前主机是不工作的。
当用户从主机释放分配的I/O扩展卡时,BIOS将发出改变分配命令,该命令将I/O扩展卡的状态改变为未分配并且如果它之前允许保留标识符则为该卡清除保留标识符。
BIOS在每次用户改变之后借助报告分配命令更新分配/未分配的I/O扩展卡的设置菜单显示。BIOS并不跨越引导周期地保持任何显示数据,因为没有必要这么做。这使得主机能够得到替换,并且新的主机可采用电子方式获取I/O扩展卡分配状态而不用客户干预。
5.结束分配(End Assignment):
当用户从设置菜单中退出时,BIOS发出结束分配命令以结束重新配置会话。如果DMC成功获知配置变化,则BIOS重置主机。
B.DMC功能和命令
在AC电源首次施加给I/O扩展插箱时,并且第一次在插箱内建立备用电源时,插箱管理控制器报告其ID及其连接主机的I/O扩展插箱端(A或B)。对于每个I/O扩展卡的分配状态数据存储在I/O扩展插箱自身中并且由DMC访问。如果一个或没有I/O扩展卡分配给主机,则DMC将会把I/O扩展插箱置于分离模式配置中。如果两个I/O扩展卡都分配给了同一个主机,则将插箱置于统一模式下。
1.对报告分配命令作出响应
当主机发出报告分配命令时,在所针对的I/O扩展插箱中的插箱管理控制器将不会理会来自于第二个主机的任何其它的后续分配命令,直到第一个主机发出结束分配命令。DMC将会在间歇时回应第二主机“忙”。
响应于报告分配命令,I/O扩展插箱中的DMC将其DMC ID、其插箱管理链路缆线所附属于的I/O扩展卡端(A或B)和分配给进行请求的主机的I/O扩展卡的数量返回给主机BIOS。如果I/O扩展卡之前已经指定为保留,则DMC将报告这一情况。DMC还返回可用于进行请求的主机的未分配I/O扩展卡的数量。
如果DMC确定不工作主机控制着I/O扩展卡(即,主机切断了AC电源或发生故障),则该I/O扩展卡将包含在未分配I/O扩展卡的数量里。将会用不工作主机标识符报告该I/O扩展卡。如果I/O扩展卡之前已经得到“保留”,则将用保留标识符报告该I/O扩展卡。
2.对改变分配命令作出响应:
当主机发出改变分配命令时,所针对的I/O扩展插箱内的插箱管理控制器将会对该命令作出响应(如果该DMC已经接收到来自主机的报告分配命令并且对其作出了响应,并且还没有对来自同一主机的结束分配命令作出响应)。否则,该DMC将会回应该主机“忙”。如果没有I/O扩展卡可用,主机BIOS将不发出改变分配命令,如果I/O扩展卡已经由另一个主机保留,主机BIOS也不会对该I/O扩展卡发出改变分配命令。DMC可以预防这两种可能,但是没有必要这么做。改变分配命令有三种变形:
a.不为进行请求的主机要求扩展卡:
DMC将保持当前的I/O扩展插箱模式(即,分离或统一)不变,对所有先前为主机要求的I/O扩展卡解除分配(un-assign),并且为各个I/O扩展卡重置保留标识符和不工作主机标识符、更新分配和未分配I/O扩展卡总数和向主机返回通过/失败完成码。
b.为进行请求的主机要求第一个可用扩展卡:
DMC将把I/O扩展插箱置于分离模式,将第一个可用的I/O扩展卡分配给进行请求的主机、根据需要更新保留标识符并且为该卡重置不工作主机标识符。DMC然后将会释放该插箱中之前该主机要求的任何其它的I/O扩展卡,并且为该卡重置保留和不工作标识符。最后,DMC将会更新分配和未分配I/O扩展卡的总数,并且向主机返回通过/失败完成码。
c.为进行请求的主机要求所有可用扩展卡:
DMC将会把I/O扩展插箱置于统一模式下,将所有的可用I/O扩展卡分配给进行请求的主机、根据需要更新保留标识符、为各个卡重置不工作主机标识符、更新分配和未分配I/O扩展卡的总数并且向主机返回通过/失败完成码。
3.对结束分配命令作出响应:
当主机发出报告分配命令时,所针对的I/O扩展插箱中的插箱管理控制器将不理会来自第二个主机的任何其它后续分配命令,直到第一主机发出结束分配命令。DMC将在间歇时回应第二主机“忙”。
结束分配命令完成对主机的I/O扩展卡分配的改变并且终止主机对I/O扩展插箱的DMC的独占,这于是允许DMC接受来自另一个主机的分配命令。结束分配命令并不影响I/O扩展插箱模式,也不影响I/O扩展卡的分配和标识符。
插箱管理控制器能够对主机在改变分配处理期间变为不工作的可能性进行检查;即,在前一分配命令完成之后启动冗员定时器,或者利用来自BIOS设置菜单的心跳重置冗员定时器。如果检测到不工作主机,则DMC将会自己启动结束分配,并且尝试将错误消息传送到主机的事件日志中。
C.远程管理代理程序功能和命令:
管理代理程序提供用来为BIOS设置菜单调用上面介绍的I/O扩展卡分配命令的集中式工具。管理代理程序,比如IBM公司出品的IBM Director产品,通常驻留在远程服务器上。管理远程I/O资源的部署需要主机的服务处理器、I/O扩展插箱的DMC和远程管理代理程序之间相互作用。服务处理器是将主机BIOS命令传送给DMC并且将DMC响应返回给主机BIOS的实体。
管理代理程序经由网络连接(比如以太网链路)与服务处理器相连接。管理代理程序能够通过向主机的服务处理器发送报告、改变和结束分配命令来改变I/O扩展卡的分配(和本地主机BIOS所做的一样)。服务处理器将代理程序的命令转送给DMC并且将DMC的响应返回给代理程序。这样,可以从远程位置实现多个I/O扩展卡对多个主机的分配。受到管理的主机的类型不必是同种类的,只要板上的服务处理器能够将代理程序的命令转送给I/O扩展插箱中的DMC即可。
管理代理程序能够实现借助BIOS设置菜单实现的所有的同样的分配功能,只是代理程序不能自己判定是否DML和I/O扩展总线线缆连接正确。在这种情况下,管理代理程序必须请求主机BIOS来检验线缆是否连接正确。在成功配置了I/O资源之后,管理代理程序能够重启各个主机。
IV.主机/插箱配置的概述
数据处理组件可以包括第一平台类型的第一主机,以连接至少一个I/O扩展插箱,该插箱是通过第一I/O扩展总线线缆与第一主机相连接的。I/O扩展插箱包括分配给第一主机并由第一主机配置的第一扩展卡。插箱中的存储装置包含表明I/O扩展卡对第一主机的分配情况的分配状态。
可以通过第二I/O扩展总线线缆将第二平台类型的第二主机与I/O扩展插箱的第二I/O扩展卡连接起来。分配状态在这种情况下代表第二I/O扩展卡的分配状态以及第一I/O扩展卡的分配状态。该组件包括用于防止第一和第二主机对公共资源发生竞争(即,试图配置)的工具或代码。
第一主机可以包括与第二I/O扩展卡连接的第二I/O扩展总线,在这种情况下第一主机配置第一和第二I/O扩展卡(为了提高数据吞吐性能)。该组件可以采用自动排除故障方法,使得主机能够在第一I/O扩展总线线缆故障的时候用其第二I/O扩展总线线缆访问或配置I/O资源。
数据处理组件可以包括与第一扩展插箱以菊花链方式连接的第二扩展插箱,其中第一主机能够配置各个扩展插箱中的扩展卡。
I/O扩展插箱可以包括单独一个插箱管理控制器,配置成用于对插箱中的多个I/O扩展卡维护分配状态。
DMC可以呈现第一和第二I/O扩展卡是由第一主机配置的第一配置状态(统一模式)和第一和第二I/O扩展卡是由不同的主机配置的第二配置状态(分离模式)。
V.电子分配能力的概述
优选实施方式包括能够使替换主机从I/O扩展插箱取得分配信息从而使得替换主机能够配置适当的I/O扩展卡的电子分配能力。
电子分配能力结合了防止第二主机从第一主机再分配I/O扩展卡的安全特征。
电子分配能力防止第一主机不与附属于同一插箱的第二主机协同地切断I/O扩展插箱的电源。如果第二主机是故障主机,也可以不考虑这种断电防护,以允许第一主机切断I/O扩展插箱的电源。例如,DMC可以判定插箱处于分离模式下(A端和B端分别控制)。DMC还可以判定与其相连的第二主机是故障主机(例如,借助不存在主机心跳、缺少与主机的服务处理器的连通性等)。在这样的环境下,DMC可以在不存在工作的第二主机的情况下,与来自两个主机的请求同等地对待来自一个主机的断电请求,并且切断I/O扩展卡的电源。
电子分配能力提供了通过不同的I/O扩展总线线缆将资源从故障I/O扩展总线线缆分配给另一个主机或同一个主机的优选手段。
扩展设备中的I/O扩展卡数量的改变可能需要分配状态的改变,这可以通过电子手段实现,而不需要进一步人工重新配置。
电子分配能力最好支持I/O扩展插箱和I/O扩展卡配置的管理,包括动态更改I/O扩展插箱和I/O扩展卡分配变化。
电子分配能力能够检验主机和I/O扩展插箱之间的缆线连接是否正确。
电子分配能力对通过网络连接的同种或异种数据处理组件的远程配置管理提供支持。
附图说明
在阅读下面的详细说明和参照附图的基础上,本发明的其它目的和优点将会变得显而易见,其中:
附图1是按照本发明的一种实施方式的主机/扩展插箱组件的框图;
附图2是附图1的扩展插箱的选定细节的框图;
附图3表示按照本发明的主机/扩展组件的第一种配置;
附图4表示按照本发明的主机/扩展组件的第二种配置;
附图5表示按照本发明的主机/扩展组件的第三种配置;
附图6表示按照本发明的主机/扩展组件的第四种配置;
附图7是按照本发明的一种实施方式的报告分配程序的流程图;
附图8是按照本发明的一种实施方式的改变分配程序的流程图;
附图9是按照本发明的一种实施方式的结束分配程序的流程图;
附图10是按照本发明的一种实施方式的主机的选定单元的框图;和
附图11是按照本发明的主机/扩展系统的选定单元的框图,其中管理代理程序能够重新配置主机的I/O扩展插箱分配。
虽然本发明允许各种各样的修改和替代形式,但是在附图中以举例的方式给出了具体的实施方式,并且本文将对此进行详细介绍。不过,应当理解,本文给出的附图和详细说明并不是用来将本发明限制于所公开的具体实施方式,但是相反,意图是要覆盖落在所附的权利要求所定义的本发明的思想和范围之内的所有的修改、等价物和替换方案。
具体实施方式
总地来说,本发明致力于连接和使用数据处理系统或主机和I/O扩展插箱的技术。扩展插箱维护与其I/O资源分配情况相关的信息并且可以将这一信息发送给主机。在引导主机的时候,它从扩展插箱自身获取与扩展插箱I/O资源的分配情况相关的信息。这种技术有助于一个主机替换另一个主机,因为替换用主机能够从扩展插箱获得分配情况信息。此外,通过将I/O分配的控制放在扩展插箱中,本发明也有助于防止可能为了I/O资源而竞争的各个不同主机间的冲突。扩展插箱可以,例如,每次将通信约束于一个系统,从而防止冲突。在下面的介绍中,其它的特征和优点将变得显而易见。
现在参照附图,附图1是按照本发明的一种实施方式的数据处理系统100的简化框图,包括与一个或多个I/O扩展设备或扩展插箱101(图示仅为一个)相连的一个或多个主机102-1和102-1(这里总称或通称为主机102)。按照所图示的配置,主机102-1和102-2通过相应的扩展总线140-1和140-2与插箱101相连。组件100这里也可以称为主机/扩展组件100。各个主机102可以实现为单一或多处理器系统。虽然所示的主机/扩展组件100包括单独一个扩展插箱和两个主机,但是其它的配置方案可以包括更多主机和更多扩展插箱。在讨论主机/扩展组件100的不同配置之前,先对主机102进行介绍。
参照附图10,图解说明了主机102的示范性实施方式的选定单元。按照所示的实施方式,主机102包括与共用主机总线122相连的一个或多个通用处理器120。按照对客户来说有价值的实施方式,处理器120是Intel公司的产品。按照其它一些实施方式,主机102可以基于IBM公司出品的PowerPC系列微处理器。
桥路124(可以实现为与处理器120性质不同的芯片组、集成在处理器120中,或者二者的组合)将主机总线122和处理器120与各种系统资源连接起来。按照所示的实施方式,桥路124将系统存储器130与主机总线连接起来。系统存储器130最好是用一个或多个DRAM芯片或模块实现的。图中所示的桥路124还提供了主机总线122与由附图标记126代表的外设总线之间的接口。外设总线126可以为产业标准I/O总线,比如PCI或PCI-X。一个或多个I/O适配器128(图中仅示出了其中之一)与外设总线126相连。I/O适配器128可以包括一个或多个网络通信设备、硬盘适配器等等。
附图10所示的桥路124还提供主机总线122与I/O扩展总线140之间的接口。I/O扩展总线140代表用来提供主机与I/O扩展插箱之间的高速数据接口的线缆和连接器。I/O扩展总线140可以按照应用程序特定或专有协议来实现。
附图10所示的主机102还包括与I/O总线126相连的服务处理器125。服务处理器125是主机102内的微计算机,包括随机存储存储器和程序存储装置(未示出)。服务处理器125和BIOS 121负责初始化和测试构成组件100的逻辑互连和为了正常操作而对它们进行配置。服务处理器125还在该系统处于工作状态时监控主机和扩展插箱的功能健康状态,以便在出现任何故障组件的时候将它们检测出来。服务处理器125该提供管理和/或部署应用程序与主机之间的接口。
对本发明来说,尤其关心的是,服务处理器125提供附图1中的扩展插箱101和主机102之间的接口。更加具体地说,服务处理器125提供BIOS 121与扩展插箱101的控制器之间的通信管道。附图10中示出了服务处理器125与扩展插箱101之间的物理链路,这里称为插箱管理链路(DML)150。DML 150提供在主机102-1或102-2与扩展插箱101之间路由命令和响应的链路。
现在参照附图2,给出了扩展插箱101的实施方式的选定单元。扩展插箱101为与之相连的主机102提供I/O资源。由扩展插箱101提供的I/O资源称为外部或远程I/O(RIO)资源。扩展插箱101提供的I/O资源包括存储资源(比如硬盘适配器)和/或网络资源(比如多种网络适配器)。所示的扩展插箱101的实施方式包括由IBM公司出品的RXE-100扩展插箱中所存在的那些组成部分。按照这种实施方式,扩展插箱101是附属于主机102的远程I/O插箱。扩展插箱101具有两个扩展卡211,每个扩展卡211提供六个附加I/O适配器卡插槽214。按照附图2所示的实施方式,扩展插箱101包括第一和第二I/O扩展卡211-1和211-2(本文总称或通称为I/O扩展卡211)。I/O扩展卡211-1代表扩展插箱101的A端,而I/O扩展卡211-2代表扩展插箱101的B端。各个扩展卡211可与相应的I/O扩展总线140-1或140-2相连,总线140-1或140-2提供主机102和扩展插箱101之间的数据互连。各个扩展卡211包括桥路210,提供相应的I/O扩展总线140与各个适配器总线212以及它们的相应适配器插槽214之间的接口。按照所示的实施方式,桥路210还提供在A端211-1和B端211-2扩展卡之间进行内部路由的内部I/O扩展总线145。内部扩展总线145使得单独一个主机能够在扩展插箱101中同时存在两个扩展卡211的时候通过单独一个外部I/O扩展总线140来访问两个扩展卡的所有I/O适配器插槽214(如附图3所示)。此外,内部扩展总线145有助于实现两个或多个扩展插箱101的菊花链连接,如附图6所示。
图示的扩展插箱101的实施方式包括逻辑电路、固件、软件或它们的组合,此处称为插箱管理控制器(DMC)220。DMC 220有权访问本机存储器225。本机存储器225可以包括非易失性存储装置(闪存卡、EEPROM之类)和易失性存储器设备(DRAM、SRAM等)。所示的DMC 220可与第一和第二DML缆线150-1和150-2连接,其中第一DML缆线150-1可与第一主机102-1的服务处理器连接,第二DML缆线可与第二主机102-2连接。
按照本发明的DMC 220与主机101进行通信并且维护与I/O资源(包括扩展插箱101内的扩展卡211)的分配和可用性有关的信息。这一信息(这里总称为分配状态信息)最好本地(在扩展插箱101内)存储在本机存储器225的非易失性部分中。扩展插箱101的分配状态在附图2中由附图标记250表示。DMC 220,顾名思义,提供插箱自身的管理。在这个功能上,DMC 220可以负责例如监测电源230、环境风扇240和扩展卡211的工作状态。虽然所介绍的实施方式将资源分配功能和插箱管理功能整合到了单独一个单元中,但是应当意识到,这些功能可以在不同的芯片或芯片组中实现。不过,在主要考虑成本的应用中,最好将这些功能整合到单独一个控制器或微处理器芯片中。
扩展插箱101包括多个或冗余的电源230和风扇240。按照优选实施方式,电源230和风扇240以及插在适配器插槽214中的适配器卡是可以热插拔的。热插拔能力使得客户能够在不关闭整个插箱的情况下更换组成部分。
图示的扩展插箱101的实施方式包括单独一个DMC 220,但是可以包括两个扩展卡211。希望,如果扩展卡211是可以单独配置和控制的,则例如第一主机负责配置单一扩展卡,而第二主机负责配置第二扩展卡。不过,此外,如果还能够授权单独一个主机配置扩展插箱101的两端,则可以实现最大的灵活性。
通过为DMC 220配置至少两种操作模式,按照本发明的一种实施方式,实现了兼备这些不同的配置方案。在“分离”模式下,将DMC
220从逻辑上划分成了支持仅针对扩展插箱的A端或B端的主机命令。在分离模式下,DMC 220将仅接收来自A端DML 1501的对于A端扩展卡211的命令。同样,当处于分离模式下时,DMC 220将仅接收来自B端DML 150-2的对于B端扩展卡211的命令。此外,可以有即使当插箱处于分离模式下时也能促使DMC 220对扩展插箱101的两端进行动作的统一命令的子集。例如,在一个DML不工作的故障状态下,DMC 220能够从另一个DML接收强制断电命令,这个命令导致扩展插箱的两端在分离模式下处于断电状态。
在“统一”模式下,DMC 220从单独一个主机接受对A端和B端(如果有)I/O扩展卡的命令,并且针对非故障情况的控制端是通过DML端口附属于哪一端来确定的。例如,当在统一模式下时,如果DML附属于I/O扩展插箱的B端,那么I/O扩展卡分配将是针对I/O扩展总线的B端的。这样,DMC 220存储I/O扩展卡与I/O扩展总线之间的相对关系。
如上面所指出的,本发明设想了各种不同的主机/扩展组件100的方案。组件100例如可以包括可变数量的主机102、每主机可变数量的扩展总线140、可变数量的扩展插箱101、每扩展插箱可变数量的扩展卡211和每扩展卡可变数量的适配器总线212。主机102可以是同种的(具有相同的平台类型)或异种的(具有不同的平台类型)。本公开文本中使用的平台类型指的是主机102的处理器和操作系统组合。而且,按照所介绍的实施方式,所有可能的主机/扩展组件100的排列是在插箱层面上由单独一个DMC 220管理的。
在下文中将介绍主机/扩展组件100的各种不同的可行配置。在
所有这些配置中,组件100包括实现各种各样的远程I/O资源和管理任务的功能。这种功能可以在主机/扩展组件100的各种单元中实现。不过,按照优选实施方式,负责提供这种功能的主要单元包括DMC220、主机BIOS 121(和服务处理器125)和远程管理代理程序104(附图11中给出)。
远程I/O资源分配和管理功能最好提供至少部分下述特征。DMC220与BIOS 121相结合,配置成使得主机102能够从扩展插箱101取得I/O资源分配状态信息。分配状态有助于主机102确定配置给各个扩展总线140的扩展卡211的数量。如果,由于任何原因,分配给主机(或分配给主机的某一扩展总线)的扩展卡的数量发生变化,DMC220和BIOS 121进行必要的调节,从而在后续的引导期间,BIOS 121配置所有那些和仅仅那些分配给相应主机102的扩展卡。I/O资源的重新分配应该最好是在不要求用户或管理员变动线路布局的前提下发生的。
DMC 220和BIOS 121最好配置成检测操作期间的主机连接线路(即,扩展总线140)的故障,并且响应于此,将之前与故障的扩展总线相关的I/O资源分配给新的现有主机的扩展总线。取决于操作系统的高级可程控中断控制器(APIC)的使用情况,从故障扩展总线到正常总线的资源分配可以动态实现(即,不用重新引导主机),尽管可能有需要重新引导的操作系统环境。
主机/扩展组件100的I/O资源分配工具最好能够沿着这些相同的线路检测不正确接线问题,比如当来自第一主机的DML 150与B端DML端口相连并且第一主机的I/O扩展总线140与A端扩展总线端口相连时。
主机/扩展组件100的I/O资源分配特征最好还包括用于确保已经分配给第一主机的扩展卡不再次分配给第二主机的装置。这一特征在安全或保密数据的情况下尤其有用。使用下面介绍的保留指示有助于实现这个特征。
此外,主机/扩展组件100应当最好提供电源管理工具,防止一个主机在没有得到扩展插箱的另一端的主机(在可应用的时候)同意的情况下切断扩展插箱的电源。当另一端的主机故障时,可以不考虑这一同意特征。
现在参照附图3到附图6,给出了主机/扩展组件100的各种配置方案,来图解说明扩展插件101的灵活性。当主机102进行引导时,它通过DML缆线150从DMC获得配置信息。这一信息包括建立在DML上的各个DMC的DMC ID、各个I/O扩展盒是工作在统一模式下还是分离模式下、I/O扩展插箱中声称的I/O扩展卡的数量。DMC还报告主机102哪个DML端口(A端或B端)正用于访问I/O扩展插箱。主机BIOS确定有效I/O扩展总线的数量。使用这一信息,BIOS于是确定使用哪个I/O扩展总线和要进行配置的I/O扩展卡的数量。
附图3表示主机/扩展组件100的单独一个主机、单独一个扩展插箱的实现方式,其中主机102与扩展插箱的A端扩展卡211-1相连。具体来说,DML缆线150连接在主机102的DML端口152与扩展插箱101的A端扩展卡211-1的DML端口209-1之间。扩展总线线缆140连接在主机102的扩展总线端口142与扩展卡211-1的A端的扩展总线端口208-1之间。内部扩展总线145将插箱101的A端扩展总线与B端相连。
按照这种相对简单的配置方案,插箱101工作在统一模式下,在这种模式下,通过DML线缆150发送的命令在扩展插箱101的两端上得到执行(假设在B端上存在扩展卡211-2)。按照一种实施方式,A端扩展卡提供一组六个适配器插槽(附图3中未示出)。此外,如果存在B端扩展卡211-2,主机102能够获得B端I/O资源,从而实际上获得了另外六个适配器插槽,总共12个附加插槽。因为主机1022可能具有六个或少于六个扩展插槽,因此所介绍的扩展插箱101的实施方式在按照附图3所示的配置方案进行工作的时候,能够实现具有三倍于主机102的I/O资源的组件100。
现在参照附图4,给出了附图3中所示的单独一个主机、单独一个扩展插箱的实施方式的变形方式。按照附图4所示的配置方案,单独一个主机102包括一对扩展总线端口142和144。第一扩展总线140-1将主机扩展总线端口142与A端扩展卡211-1上的扩展总线端口208-1连接起来,而主机102的第二扩展总线140-2连接在主机102的第二扩展总线端口142与B端扩展卡211-2上的扩展总线端口208-2之间。单独一个DML链路150连接在主机DML端口152与A端扩展卡211-1上的DML端口209-1之间。
按照这种配置方案,扩展插箱101及其DMC(附图4中未示出)同样工作在统一模式下,在这一模式下,来自主机102的命令适用于A和B端扩展卡211-1和211-2。这种主机/扩展组件100的配置方案提供了优于附图3所示的配置方案的性能和冗余性。I/O性能通过两个I/O扩展总线140-1和140-2的可用性可能得到提高。此外,可靠性得到了提高,因为在第一扩展总线140-1故障的情况下,还剩下第二扩展总线140-2可以工作。可由第一扩展总线访问的I/O资源于是可以通过第二总线进行访问。
现在参照附图5,所示的组件100的实施方式包括共用单独一个扩展插箱101的第一主机120-1和第二主机120-2。按照这种配置方案,DML链路150-1从第一主机102-1连接到扩展插箱101的A端扩展卡211-1上的DML端口209-1上。DML链路150-2从第二主机102-2连接到B端扩展卡211-2上的DML端口209-2上。扩展总线140-1将第一主机102-1的扩展端口142-1与扩展插箱101的A端扩展端口208-1连接起来,而第二扩展总线140-2将第二主机102-2的扩展端口142-2与扩展插箱101的B端扩展端口208-2连接起来。
按照这种配置方案,扩展插箱101的DMC(附图5中未示出)将扩展插箱101置于分离模式下。B端扩展卡211-2的配置是通过经B端扩展总线140-2从主机102-2发送来的命令来完成的。A端扩展卡211-1的配置是通过经A端扩展总线140-1从主机102-1发来的命令完成的。假设各个主机102请求扩展卡,则扩展插箱101将会记录表明B端扩展卡211-2已分配给主机102-2和A端扩展卡211-1已经分配给第一主机102-1的信息。主机将仅对已经分配给它的扩展卡进行配置。这总体上防止了一个主机控制另一个主机的扩展卡。在主机变得不起作用的情况下,管理代理程序104可以指挥将扩展卡从不起作用的主机分配给依然工作的主机,只要不受到安全限制。
现在参照附图6,示出了组件100的多主机、多插箱实施方式。按照这种配置,将一组三个扩展插箱101-1、101-2和101-3连接在一起,提供了对多达六个扩展卡211(每个插箱中有两个卡)的菊花链扩展总线连接。这种情况下的扩展总线包括与主机102-1相连的扩展总线140-1、内部扩展总线145、插箱间扩展总线146和147以及与主机102-2相连的扩展总线140-2。这六个可用的扩展卡211可以以任何组合形式分配给两个主机:6-0、5-1、4-2、3-3等等。
DML 150-1通过串联连接从第一主机102-1连接到插箱101-1、101-2和101-3的DML端口209-1。类似地,DML 150-2通过串联连接从主机102-2连接到插箱101-1、101-2和101-3的DML端口209-2。按照这种方式,各个主机102能够将命令发送给(即,配置)任何一个或所有的插箱101。
两个主机102-1和102-2之间的资源的分配可以通过控制各个插箱101的分离模式和统一模式来实现。如果例如将六个扩展卡211中的三个分配给第一主机102-1,而将另外三个卡分配给第二主机102-2,则这种分配可以通过下述方式来实现:将第一插箱101-1置于第一主机102-1控制下的统一模式下、将第三插箱101-3置于第二主机102-2控制下的统一模式下并且将第二插箱101-2置于分离模式下,用第一主机102-1控制其A端扩展卡(未示出)和第二主机102-2控制其B端扩展卡。在这一分配就位的情况下,第一主机102-1的BIOS将会在引导期间将第一扩展插箱中的两个扩展卡和第二扩展插箱中的A端扩展卡211配置在其I/O扩展总线140-1上。类似地,第二主机102-2的BIOS将会把三个扩展卡配置在其I/O扩展总线140-2上。
第二插箱101-2的分离模式标志着用于各个主机的扩展总线的分界线。如果将四个扩展卡分配给第一主机102-1,而将两个扩展卡分配给第二主机102-2,则这种分配可以通过将插箱101-1和101-2置于主机102-1控制下的统一模式而将插箱101-3置于主机102-2控制下的统一模式来实现。
附图3到附图6示出了主机/扩展组件100的各种物理配置方案。主机/扩展组件100除了物理硬件结构体系外,还包括软件和/或固件。这样,本发明的各部分可以实现为存储在计算机可读介质上的计算机可执行指令集或序列。该介质可以是磁盘、光盘、闪存设备或者持久性存储器的某些其它适当形式。在正在执行指令期间,这些指令中的至少一部分可以驻留在易失性介质中,比如基于DRAM或SRAM的存储器设备。在本发明的情况下,计算机可执行指令在执行的时候,使得主机/扩展组件100能够管理按照本发明的远程I/O资源分配。
管理按照本发明的远程I/O资源分配需要组件100不同单元之间的相互作用。参与远程I/O资源分配和管理处理过程的主要单元包括主机102的BIOS 121、主机102的服务处理器125和扩展插箱101的DMC 220。此外,也可以使用远程部署/管理代理程序来实现本文介绍的I/O资源分配和管理。
现在参照附图7,给出了报告按照一种实施方式的远程I/O资源的分配情况的方法700的流程图。方法700是以具有两侧的流程的形式给出的,其中由一个代理程序进行的动作表示在图的左侧,而由另一个代理程序进行的动作表示在图的右侧。按照所示出的实施方式,组件100负责实施远程I/O资源的分配的主要单元是主机BIOS 121(附图9)和扩展插箱上的DMC 220(附图2)。主机BIOS使用主机服务处理器作为中介与扩展插箱DMC进行通信。
如附图7所示,在主机BIOS发出报告分配命令的时候,方法700启动(块702)。报告分配命令I/O是这样一种机制:主机通过该机制从扩展插箱请求和取得I/O资源分配信息(即,分配状态信息250),该分配信息存储在扩展插箱上并且由扩展插箱进行维护。报告分配命令是由主机BIOS 121发出的,并且经由服务处理器125和DML 150发送到扩展插箱101的DMC 220。
在从主机经由其DML 150接收到报告分配命令时,扩展插箱191的DMC 220切断(块704)所有其它的主机102与扩展插箱进行的通信。切断除了当前“活动”主机之外的所有其它主机防止了主机之间的分配冲突。其它的主机保持与扩展插箱的切断状态,直到活动主机发出结束分配命令来终止它与扩展插箱进行的会话。
报告分配命令是这样一种机制:主机102通过该机制请求(块706)DMC信息。响应于对DMC信息的请求,所示的DMC 220的实现方式为主机提供(块708)DMC信息,包括DMC ID、插箱端(A端或B端)和DML 150所附属于的DML端口209的总线地址。
报告分配命令是这样一种机制:进一步用作主机从扩展插箱请求(块710)扩展卡信息的机制。具体来说,报告分配命令促使块708中报告的各个DMC报告(块712)其相应的扩展卡信息。扩展卡信息包括针对块708中识别的各个DMC而分配给主机的扩展卡的数量。
当识别了分配给主机的所有扩展卡时,主机BIOS可以开始配置其分配的扩展卡来进行操作。按照这种方式,主机102能够自动确定配置在各个扩展总线上的I/O扩展卡的数量,并且反过来,确定不配置哪些I/O了扩展卡(例如,分配给其它主机的扩展卡)。按照所示的方法700的实施方式,BIOS 121遍历分配给主机的扩展卡211上的所有桥路210,并且确定(块714)桥路是否已经经过配置。如果(块716)桥路没有经过配置,则BIOS为了进行操作而对桥路进行配置(块718)。如果(块716)桥路已经经过配置,在因为这个桥路已经由另一个主机进行过配置而断定不应对这个桥路进行配置之前,BIOS将会重新进行它的配置检查(块720)。BIOS 121对它的每一个扩展总线140进行块710到720中的步骤。
按照上面介绍的方式,报告分配程序700使得主机BIOS能够获得主机/扩展组件100的扩展插箱101中扩展卡的分配状态。因为分配状态是在扩展插箱101上进行维护的,因此主机能够在引导程序期间获得该信息并且不需要本地地或跨越引导周期地存储这一信息。这种方案在将新的主机作为该组件的附加主机或作为对现有主机的替换主机而引入组件时非常有益,因为不需要将新的主机定制成任何特定的分配状态。相反,新的主机从扩展插箱提供的信息中确定它可以配置哪些I/O资源。
类似地,因为主机102从扩展插箱101取得了扩展卡信息,所以主机102能够检测出扩展卡数量的变化并且管理新数量的扩展卡的配置,不管是先前的配置中加入了还是除去了扩展卡。更加具体地讲,如果在扩展插箱101中加入了或除去了扩展卡211,则对分配状态250进行更新,以指出新扩展卡的分配或解除已经除掉的扩展卡的分配。(更新分配状态250可以从主机102使用管理代理程序或通过BIOS调用的设置菜单来实现,下面将参照附图8进行介绍)。
现在参照附图8,给出了按照本发明的一种实施方式的改变分配程序800的流程图。改变分配程序,顾名思义,使得主机能够更改它们的I/O资源分配并且能够将经过更改的分配状态存储在扩展插箱上。
按照所示的实施方式,改变分配程序800是通过用户或管理员调用(块802)BIOS设置菜单来启动的。调用BIOS设置菜单可以在引导程序期间进行,不过按照某些实施方式也可以从可扩展固件接口(EFI)调用。按照本发明,BIOS设置菜单报告(块804)任何接线不匹配并且显示(块806)与主机/扩展组件内的已经分配的、可用的并且保留下来的远程I/O资源有关的信息。应注意,管理代理程序104能够实现与BIOS设置菜单相同的功能。
按照优选实施方式,BIOS设置菜单显示与DMC 220相关联的ID和DML 150所连接的扩展插箱端(A端或B端)。设置菜单最好此外还显示DMC ID和各个扩展总线140所附属于的扩展插箱端。通过这一信息,如果检测到接线不匹配(比如当DML 150连接到A端并且扩展总线140-1连接到扩展插箱的B端时),BIOS设置菜单可以报告错误指示符。
按照优选实施方式,BIOS设置菜单还显示扩展卡信息。BIOS菜单中指出的扩展卡信息可以包括分配给主机的扩展卡的数量和当前未分配的扩展卡数量。BIOS菜单可以为各个已经分配的扩展卡指出该扩展卡是否仍然由主机保留。主机可以选择保留已经分配的扩展卡,从而在主机变得不操作的情况下,其它的主机不能获得该扩展卡作为它的可用资源之一。这一保留规定可以有益地对包含保密或机密信息的I/O资源(例如盘空间)采用。
BIOS设置菜单最好还显示使得用户能够执行部分或全部下述功能的用户可选项:(1)要求未分配的扩展卡;(2)释放已经分配的扩展卡;和(3)在每次变化之后更新分配/未分配的扩展卡的显示。BIOS设置菜单可以使得用户能够为各个所要求的扩展卡分配保留指示符。一旦将保留指示符施加给扩展卡,就会防止任何其它主机将来要求已经保留的扩展卡,即使扩展卡所分配的主机变成不操作状态。
BIOS设置菜单的优选实施方式包括释放分配命令,该命令释放(块816)分配给释放主机的扩展卡、为各个已经释放的扩展卡重新设置保留指示符,并且将分配状态250存回存储器225。此外,BIOS设置菜单可以包括更新选项,该选项从DMC取得当前分配状态信息并且更新(块818)设置菜单中显示的信息。
按照优选实施方式,远程I/O资源信息并非跨越引导周期地由BIOS保持。而是,BIOS在每次引导的时候从(多个)扩展插箱获得该信息。这样,主机102不需要预先具有与连接在该主机上的任何扩展插箱中的资源的分配情况相关的信息。如果例如使用新的主机替换故障的主机,则新的主机将在进行引导的时候从扩展插箱获得I/O资源分配信息。因此,替换主机将继续使用原来主机的保留扩展卡。这个过程避免了消耗时间的从替换主机的BIOS设置或主机配置到当前经过替换的扩展插箱的分配状态的修改过程。按照优选实施方式,替换主机的配置是自动更新的,而不用用户或管理代理程序干预。这样,修理人员不需要知道原始的主机配置或扩展卡分配状态。
按照所示的改变分配命令的实施方式,通过BIOS菜单或通过管理代理程序进行运作的用户可以从三个选项中进行选择,即,CLAIMFIRST(要求第一个)可用扩展卡、CLAIMALL(要求所有的)可用扩展卡和CLAIM NONE(不要求)。主机BIOS监测(块808)来自用户的输入并且将改变分配选择结果指示给扩展插箱DMC,该DMC将对该选择进行处理并且记录结果得到的分配信息。
如果扩展插箱DMC从主机接收到了CLAIM NONE请求,则DMC将采取由附图标记810指示的动作。具体来说,DMC将通过保持统一/分离模式不变来对CLAIM NONE请求作出响应。此外,DMC将会“解除分配(unassign)”或清除当前分配给进行请求的主机的任何扩展卡的分配。针对这些扩展卡的所有保留指示符将由DMC进行重置,并且还将对受到影响的扩展卡更新分配/未分配信息。DMC然后将会把所有这些信息(通称为分配状态信息250)存储回扩展插箱211的存储器225(附图2)。
如果接收到了CLAIM FIRST请求,则DMC(块812)将会把扩展插箱置于分离模式下,并且将第一个可用扩展卡分配(并且如果请求了的话,进行保留)给进行请求的主机。DMC然后将会释放分配给请求主机的任何其它扩展卡。最后,扩展插箱DMC将会重置保留指示符、更新分配和未分配信息并且将分配状态存储回存储器225。如果I/O扩展插箱最初处于分离模式,并且在插箱中有第二个I/O扩展卡,则主机将不能使用第二个I/O扩展卡,除非主机利用第二I/O扩展总线,或者将I/O插箱恢复为统一模式。主机/扩展组件的某些实施方式可以采用在主机变成不工作状态时激活的不工作主机指示符。不工作主机指示符在确定扩展卡是否可以重新分配给另一个主机的过程中可能是很有用的。在引导时重新调用主机BIOS确定扩展卡桥路是否已经进行了配置,不工作主机指示符对于使得主机能够检测出已经分配给另一个已经变成不工作的主机(但未由该主机保留)的扩展卡应当重新分配给进行请求的主机的状态来说是很有益处的。这个状态会使可工作的主机例如在扩展卡以前所分配的主机退出的时候访问关键数据。按照使用不工作主机指示符的实施方式,CLAIM FIRST请求将会为因请求而分配的扩展插箱重置不工作主机指示符。
如果接收到CLAIM ALL请求,则在保留指示符无效的情况下,DMC(块814)将会把扩展插箱置于统一模式,将从主机接收到的分配命令施加给插箱中所有的扩展卡。DMC还将把插箱中所有的可用扩展卡分配给进行请求的主机,为各个经过分配的扩展卡更新保留指示符,并且将分配状态250存储回存储器225。如果扩展卡已经具有从主机分配给它的保留指示符,则保留指示符取代请求主机的CLAIMALL请求,并且DMC将不会把该扩展卡分配给进行请求的主机。
参照附图9,示出了从进行控制的主机发送到扩展插箱的结束分配命令900的流程图。按照所示的实施方式,结束分配命令是在进行控制的主机退出(块902)BIOS菜单或管理代理程序时开始的。退出BIOS设置菜单促使主机向扩展插箱DMC发出(块904)结束分配命令。响应于结束分配命令的接收,扩展插箱DMC终止(块906)主机对扩展插箱的独占使用,而从使得其它主机能够访问该扩展插箱。结束分配命令本身并不更改扩展卡分配或扩展插箱模式(即,分离/统一)。直到DMC接收到结束分配命令之前,DMC不会理会来自其它主机的任何其它分配命令。
按照优选实施方式,DMC将会监测先前发出过报告分配命令的主机由于在规定的持续时期内没有动作而无法发出结束分配命令的可能性。如果例如发出了报告分配命令的主机在发出结束分配命令之前变成了不工作,则DMC可以通过DML使用(举例来说)服务处理器心跳检测出该问题,并且终止报告分配处理,从而另一个主机可用访问DMC。
参照附图11,本发明的一种实现方式结合了网络管理代理程序104。网络管理代理程序可以包括商业发布管理代理应用程序(比如IBM公司出品的IBM Director产品)中建立的很多构件。针对本发明,管理代理程序104提供了用于调用用于各个主机102上的BIOS设置菜单的上面介绍过的扩展插箱配置公用程序的集中式工具。按照这种实现方式,管理代理程序能够通过调用通过主机的服务处理器设置的报告、改变和结束分配命令重新配置主机的扩展插箱分配方案。按照这种方式,管理员能够从任何网络为多个主机重新配置I/O扩展插箱分配。在成功进行重新配置之后,管理代理程序104然后可以重新启动各个主机。
获益于本公开内容的本领域技术人员显然应当明白,本发明设想出了一种实现灵活配置主机/扩展插箱组件的机制。应理解,在详细说明和附图中给出和介绍的本发明的形式仅仅是作为目前优选的实例而采用的。我们想要的是,所附的权利要求应得到广义的解释,以包含所公开的优选实施方式的所有变化。
Claims (31)
1.一种适于与第一主机系统一起使用的扩展设备,包括:
机箱;
第一扩展总线端口,用于接纳来自第一主机的扩展总线连接;
机箱内的第一扩展卡,其中第一扩展卡包括多个适配器插槽;和
桥路装置,提供各个适配器插槽与扩展总线之间的接口;
所述扩展设备还包括:
用于监视机箱内的设置和状态的装置;
机箱内的存储装置;和
用于将第一扩展卡的分配状态存储在存储装置中并且用于将该分配状态提供给第一主机的装置,其中该分配状态表明第一主机是否可以配置第一扩展卡。
2.按照权利要求1所述的设备,还包括第一管理端口,用于接纳机箱管理缆线。
3.按照权利要求2所述的设备,还包括用于识别和报告管理缆线所连接的管理端口的装置和用于识别和报告扩展总线所连接的扩展端口的装置。
4.按照权利要求1所述的设备,还包括用于通过取得所存储的分配状态对来自第一主机的报告分配请求作出响应的装置。
5.按照权利要求1所述的设备,还包括用于通过改变所存储的分配状态对来自第一主机的改变分配请求作出响应的装置。
6.按照权利要求5所述的设备,其中所述的用于对改变分配请求作出响应的装置包括用于执行如下操作的装置:如果第一扩展卡已经进行了分配则对该第一扩展卡解除分配并且更新分配和未分配扩展卡的数量来对第一类型的改变分配请求作出响应。
7.按照权利要求5所述的设备,其中用于对改变分配请求作出响应的装置包括用于通过将第一可用扩展卡分配给第一主机、对分配给第一主机的任何其它扩展卡解除分配并且更新分配和未分配扩展卡的数量来对第二类型的改变分配请求作出响应的装置。
8.按照权利要求5所述的设备,其中用于对改变分配请求作出响应的装置包括用于通过将该设备中所有未分配的扩展卡分配给第一主机并且更新分配和未分配扩展卡的数量来对第三类型的改变分配请求作出响应的装置。
9.按照权利要求1所述的设备,还包括:
第二总线端口,用于接纳第二扩展总线连接;
机箱内的第二扩展卡,其中第二扩展卡包括多个适配器插槽;
第二桥路装置,提供各个适配器插槽与第二扩展总线端口之间的接口;
内部扩展总线,用于互相连接第一和第二桥路装置;和
用于将第二扩展卡的分配状态存储在存储装置中并且用于将第二扩展卡的分配状态提供给第一主机的装置,其中第二扩展卡的分配状态表明第一主机是否可以配置第二扩展卡。
10.一种用于将第一主机耦合到至少一个扩展设备的方法,所述方法包括:
将扩展设备的至少一个扩展卡中的每一个的分配状态存储在扩展设备上;
由主机从扩展设备上取得所述分配状态;和
由主机根据所取得的分配状态确定扩展设备中的要进行配置的扩展卡的数量和哪些扩展卡不进行配置。
11.按照权利要求10所述的方法,其中所述由主机根据所取得的分配状态确定扩展设备中的要进行配置的扩展卡的数量和哪些扩展卡不进行配置的步骤包括由主机确定为连接到主机的多个扩展总线中的每一个配置哪些扩展卡的步骤。
12.按照权利要求10所述的方法,还包括用于更新分配状态以反映扩展设备中扩展卡数量的变化从而使得主机能够配置数量变化的扩展卡的步骤。
13.按照权利要求10所述的方法,还包括以下步骤:
检测与选定扩展卡相关联的故障扩展总线;和
将选定的扩展卡分配给工作的扩展总线。
14.按照权利要求13所述的方法,还包括用于使得选定扩展卡所分配到的工作主机能够动态地将扩展卡重新分配给另一个扩展总线的步骤。
15.按照权利要求14所述的方法,其中选定扩展卡的重新配置不需要改变扩展总线接线。
16.按照权利要求10所述的方法,还包括用于检验主机的扩展总线缆线和扩展总线缆线的对应管理缆线与I/O扩展设备之间的正确连接的步骤。
17.按照权利要求10所述的方法,还包括用于防止第二主机重新分配已经分配的扩展卡的步骤。
18.按照权利要求11所述的方法,还包括用于防止第一主机不与附属于扩展插箱的第二主机协同地切断扩展插箱的电源的步骤。
19.按照权利要求18所述的方法,还包括用于使得第一主机能够响应于检测到第二主机故障而切断扩展插箱电源的步骤。
20.一种数据处理组件,包括:
第一平台类型的第一主机;
通过第一扩展总线缆线与第一主机相连接并且包括分配给第一主机并且由第一主机配置的第一扩展卡的至少一个扩展插箱;和
扩展插箱的存储装置,包含表明扩展卡的分配的分配状态;
其中主机能够从存储装置取得分配状态并且能够根据分配状态中的信息确定是否对第一扩展卡进行配置。
21.按照权利要求20所述的组件,还包括第二平台类型的第二主机,其中第二主机通过第二扩展总线缆线与扩展插箱的第二扩展卡相连接,并且其中分配状态表明第二扩展卡的分配状态。
22.按照权利要求21所述的组件,还包括用于防止第一和第二主机竞争配置同一扩展卡的装置。
23.按照权利要求20所述的组件,其中第一主机还包括与第二扩展卡相连的第二扩展总线,其中第一主机经由第一扩展总线配置第一扩展卡,并且经由第二扩展总线配置第二扩展卡。
24.按照权利要求23所述的组件,其中该组件配置成使得第一主机能够响应于第一扩展总线的故障经由第二扩展总线访问第一和第二扩展卡。
25.按照权利要求20所述的组件,还包括以菊花链方式与第一扩展插箱连接的第二扩展插箱,其中第一主机能够配置各个扩展插箱中的扩展卡。
26.按照权利要求20所述的组件,还包括与第一主机的第二扩展总线连接的第二扩展插箱,其中第一主机能够配置第一和第二扩展插箱中的扩展卡。
27.按照权利要求20所述的组件,还包括用于管理可用扩展插箱和扩展卡数量的动态变化的装置。
28.按照权利要求20所述的组件,其中取代第一主机的替换主机从扩展插箱取得分配信息,从而使得替换主机能够配置扩展卡。
29.按照权利要求20所述的组件,还包括扩展插箱中的第二扩展卡,并且此外其中扩展插箱包括配置成为第一和第二扩展卡维护分配状态的单个控制器。
30.按照权利要求29所述的组件,其中扩展插箱可以呈现其中第一和第二扩展卡由第一主机进行配置的第一配置状态和其中第一和第二扩展卡由不同主机进行配置的第二配置状态。
31.按照权利要求20所述的组件,其中主机配置成不跨越引导周期保持分配状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/000,318 | 2004-11-30 | ||
US11/000,318 US8484398B2 (en) | 2004-11-30 | 2004-11-30 | Multiple host support for remote expansion apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1783048A CN1783048A (zh) | 2006-06-07 |
CN100392631C true CN100392631C (zh) | 2008-06-04 |
Family
ID=36568493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101251050A Active CN100392631C (zh) | 2004-11-30 | 2005-11-17 | 对远程扩展设备的多主机支持 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8484398B2 (zh) |
CN (1) | CN100392631C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163075B (zh) * | 2006-10-10 | 2011-05-11 | 中兴通讯股份有限公司 | 一种rs485总线竞争实现嵌入式设备地址设置的方法 |
CN101561793B (zh) * | 2008-04-15 | 2011-09-21 | 联想(北京)有限公司 | 一种端口扩展装置以及端口扩展装置处理数据的方法 |
CN105700986A (zh) * | 2014-11-27 | 2016-06-22 | 英业达科技有限公司 | 用于监控运作信息的服务器系统 |
US9940289B2 (en) | 2015-09-16 | 2018-04-10 | International Business Machines Corporation | Preventing access to misplugged devices by a service processor |
CN112816810A (zh) * | 2020-12-28 | 2021-05-18 | 国网北京市电力公司 | 数据采集装置和数据采集方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666488A (en) * | 1994-11-22 | 1997-09-09 | Lucent Technologies Inc. | Port expansion network and method for lAN hubs |
EP0825749A2 (en) * | 1996-08-16 | 1998-02-25 | Compaq Computer Corporation | A server controller responsive to various communication protocols for allowing remote communication to a host computer connected thereto |
US5781747A (en) * | 1995-11-14 | 1998-07-14 | Mesa Ridge Technologies, Inc. | Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location |
US20030079075A1 (en) * | 2001-10-19 | 2003-04-24 | International Business Machines Corporation | Performance of a PCI-X to infiniband bridge |
CN1545038A (zh) * | 2003-11-10 | 2004-11-10 | 威盛电子股份有限公司 | 应用于计算机系统的转接扩充装置 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513329A (en) | 1993-07-15 | 1996-04-30 | Dell Usa, L.P. | Modular host local expansion upgrade |
JPH0822403A (ja) * | 1994-07-11 | 1996-01-23 | Fujitsu Ltd | 計算機システムの監視装置 |
US6076124A (en) | 1995-10-10 | 2000-06-13 | The Foxboro Company | Distributed control system including a compact easily-extensible and serviceable field controller |
FI104222B (fi) | 1996-10-03 | 1999-11-30 | Nokia Mobile Phones Ltd | Modulaarinen matkaviestinjärjestelmä |
JPH1165969A (ja) | 1997-08-19 | 1999-03-09 | Toshiba Corp | サーバ装置および通信接続方法並びに通信の接続を行うプログラムを記録した記録媒体 |
US6175490B1 (en) * | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
US6185651B1 (en) * | 1997-11-05 | 2001-02-06 | Compaq Computer Corp | SCSI bus extender utilizing tagged queuing in a multi-initiator environment |
US6418493B1 (en) * | 1997-12-29 | 2002-07-09 | Intel Corporation | Method and apparatus for robust addressing on a dynamically configurable bus |
US20020032867A1 (en) | 1998-11-24 | 2002-03-14 | Kellum Charles W. | Multi-system architecture using general purpose active-backplane and expansion-bus compatible single board computers and their peripherals for secure exchange of information and advanced computing |
US20020013911A1 (en) | 1998-11-24 | 2002-01-31 | Cordella Robert H. | Compact hardware architecture for secure exchange of information and advanced computing |
US6326973B1 (en) * | 1998-12-07 | 2001-12-04 | Compaq Computer Corporation | Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA) |
US6438624B1 (en) * | 1999-03-30 | 2002-08-20 | International Business Machines Corporation | Configurable I/O expander addressing for I/O drawers in a multi-drawer rack server system |
US6353870B1 (en) | 1999-05-11 | 2002-03-05 | Socket Communications Inc. | Closed case removable expansion card having interconnect and adapter circuitry for both I/O and removable memory |
US6599147B1 (en) | 1999-05-11 | 2003-07-29 | Socket Communications, Inc. | High-density removable expansion module having I/O and second-level-removable expansion memory |
US6640273B1 (en) | 2000-01-05 | 2003-10-28 | Tektronix, Inc. | Apparatus for data bus expansion between two instrument chassis |
US6594150B2 (en) * | 2000-02-02 | 2003-07-15 | Sun Microsystems, Inc. | Computer system having front and rear cable access |
US6557087B1 (en) | 2000-02-22 | 2003-04-29 | International Business Machines Corporation | Management of PCI read access to a central resource |
US6636913B1 (en) | 2000-04-18 | 2003-10-21 | International Business Machines Corporation | Data length control of access to a data bus |
US6725317B1 (en) * | 2000-04-29 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System and method for managing a computer system having a plurality of partitions |
US6611526B1 (en) * | 2000-05-08 | 2003-08-26 | Adc Broadband Access Systems, Inc. | System having a meshed backplane and process for transferring data therethrough |
US6920519B1 (en) | 2000-05-10 | 2005-07-19 | International Business Machines Corporation | System and method for supporting access to multiple I/O hub nodes in a host bridge |
US6920516B2 (en) * | 2000-08-31 | 2005-07-19 | Hewlett-Packard Development Company, L.P. | Anti-starvation interrupt protocol |
US6944854B2 (en) * | 2000-11-30 | 2005-09-13 | International Business Machines Corporation | Method and apparatus for updating new versions of firmware in the background |
US6583989B1 (en) * | 2000-12-22 | 2003-06-24 | Emc Corporation | Computer system |
JP4404493B2 (ja) * | 2001-02-01 | 2010-01-27 | 日本電気株式会社 | 計算機システム |
US7062591B2 (en) | 2001-09-28 | 2006-06-13 | Dot Hill Systems Corp. | Controller data sharing using a modular DMA architecture |
US6967850B2 (en) * | 2003-07-14 | 2005-11-22 | Hewlett-Packard Development Company, L.P. | Supporting a short printed circuit card |
US6856518B2 (en) * | 2003-07-14 | 2005-02-15 | Hewlett Packard Development Company, L.P. | Assembly for supporting a short printed circuit card |
US7415551B2 (en) | 2003-08-18 | 2008-08-19 | Dell Products L.P. | Multi-host virtual bridge input-output resource switch |
US20060004904A1 (en) * | 2004-06-30 | 2006-01-05 | Intel Corporation | Method, system, and program for managing transmit throughput for a network controller |
-
2004
- 2004-11-30 US US11/000,318 patent/US8484398B2/en active Active
-
2005
- 2005-11-17 CN CNB2005101251050A patent/CN100392631C/zh active Active
-
2007
- 2007-06-13 US US11/762,201 patent/US8984202B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666488A (en) * | 1994-11-22 | 1997-09-09 | Lucent Technologies Inc. | Port expansion network and method for lAN hubs |
US5781747A (en) * | 1995-11-14 | 1998-07-14 | Mesa Ridge Technologies, Inc. | Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location |
EP0825749A2 (en) * | 1996-08-16 | 1998-02-25 | Compaq Computer Corporation | A server controller responsive to various communication protocols for allowing remote communication to a host computer connected thereto |
US20030079075A1 (en) * | 2001-10-19 | 2003-04-24 | International Business Machines Corporation | Performance of a PCI-X to infiniband bridge |
CN1545038A (zh) * | 2003-11-10 | 2004-11-10 | 威盛电子股份有限公司 | 应用于计算机系统的转接扩充装置 |
Also Published As
Publication number | Publication date |
---|---|
US8984202B2 (en) | 2015-03-17 |
US8484398B2 (en) | 2013-07-09 |
US20060117124A1 (en) | 2006-06-01 |
CN1783048A (zh) | 2006-06-07 |
US20070283070A1 (en) | 2007-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6044411A (en) | Method and apparatus for correlating computer system device physical location with logical address | |
US7069349B2 (en) | IPMI dual-domain controller | |
CN109471770B (zh) | 一种系统管理方法和装置 | |
US9619243B2 (en) | Synchronous BMC configuration and operation within cluster of BMC | |
US7761622B2 (en) | Centralized server rack management using USB | |
US6658599B1 (en) | Method for recovering from a machine check interrupt during runtime | |
CN101436165B (zh) | 用于iov适配器管理的系统和方法 | |
CN103117866A (zh) | 交换结构管理方法和系统 | |
EP1204924A1 (en) | Diagnostic caged mode for testing redundant system controllers | |
CN102081567B (zh) | 服务器 | |
CN100392631C (zh) | 对远程扩展设备的多主机支持 | |
CN107179804B (zh) | 机柜装置 | |
US20210279193A1 (en) | Configurable method to associate drive slot to bus number | |
US10536329B2 (en) | Assisted configuration of data center infrastructure | |
CN112868013B (zh) | 经由边带接口恢复场域可程序门阵列固件的系统及方法 | |
WO2022078519A1 (zh) | 一种计算机设备和管理方法 | |
US6973412B2 (en) | Method and apparatus involving a hierarchy of field replaceable units containing stored data | |
US20240220385A1 (en) | Power source consumption management apparatus for four-way server | |
US20030177224A1 (en) | Clustered/fail-over remote hardware management system | |
CN113190170B (zh) | 一种硬盘槽位排列方法、装置、存储介质及电子设备 | |
US20240126715A1 (en) | Image display method, device, and apparatus | |
US20080303692A1 (en) | Method and System for Assigning Identity Addresses to Local Management Modules | |
CN100375961C (zh) | 应用于刀锋伺服系统的错误检测方法与装置 | |
US6622257B1 (en) | Computer network with swappable components | |
CN102193850A (zh) | 一种多主机板服务器的时间更新系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20161219 Address after: Singapore Singapore Patentee after: Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Address before: American New York Patentee before: International Business Machines Corp. |
|
TR01 | Transfer of patent right |