CN100367259C - 设备控制和配置 - Google Patents
设备控制和配置 Download PDFInfo
- Publication number
- CN100367259C CN100367259C CNB038161710A CN03816171A CN100367259C CN 100367259 C CN100367259 C CN 100367259C CN B038161710 A CNB038161710 A CN B038161710A CN 03816171 A CN03816171 A CN 03816171A CN 100367259 C CN100367259 C CN 100367259C
- Authority
- CN
- China
- Prior art keywords
- equipment
- signal
- coupled
- bus
- interface
- 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.)
- Expired - Fee Related
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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
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)
- Bus Control (AREA)
- Transplanting Machines (AREA)
- Dc Digital Transmission (AREA)
- Small-Scale Networks (AREA)
Abstract
在一个实施方案中提供了一种方法。这个实施方案的方法可以包括由第一设备至少部分地控制是否将第二设备的第一信号线耦合到总线,以及是否将第三设备的第二信号线耦合到所述总线。这个实施方案的方法还可以包括在所述第一和第二信号线都被耦合到所述总线后,从所述第一设备经由所述第一和第二信号线向所述第二和第三设备提供一个或多个信号,所述信号在被所述第二和第三设备接收后,至少可以部分允许由所述第一设备对所述第二和第三设备进行控制和配置中的至少一种操作。当然,可以做出很多修改、变化和替换,而不会偏离这一实施方案。
Description
有关申请的交叉引用:本申请所公开的主题与1999年12月27日提交的专利申请序列号为09/472,502的待审查美国专利申请(代理机构卷号No.042390.P7334)的主题相关,其名称为“独立于主处理器控制输入/输出设备(Controlling I/O Devices Independently Of AHost Processor)”;还与2002年3月4日提交的专利申请序列号为10/090,944的待审查美国专利申请(代理机构卷号No.042390.P13502)相关,其名称为“控制过程选择(ControlProcedure Selection)”;还与2002年3月28日提交的、尚未分配专利申请序列号的美国专利申请(代理机构卷号No.042390.P13491)相关,其名称为“控制应用的设备发现和动态配置(Device Discovery and Dynamic Configuration of Control Application)”;还与2002年3月28日提交的专利申请序列号为10/113,458的待审美国专利申请(代理机构卷号No.042390.P14346)相关,其名称为“设备资源分配(Device Resource Allocation)”。
技术领域
本发明涉及设备控制和/或配置领域。
背景技术
在主板上模块化的独立磁盘或廉价磁盘冗余阵列(RAID)(MROMB)系统中,位于电路卡上的MROMB电路例如可被用来独立于主板上的主处理器来配置和/或控制同样位于主板上的输入/输出(I/O)控制器。主板上的MROMB硬件可以执行各种操作,这些操作可以使得电路卡上的MROMB电路能够独立于主处理器来配置和/或控制I/O控制器。
附图说明
结合附图,参考以下详细的描述,将会清楚所要求保护主题的各个实施方案的特点和优点,其中相同的标号代表相同的部分,其中:
图1图示了所要求保护主题的实施方案。
图2是可被包括在图1的实施方案中的MROMB主板硬件的图。
图3是图示了在一个实施方案中可能涉及的操作的流程图。
图4是图示了根据一个实施方案配置I/O控制器和电路卡时可能涉及的操作的流程图。
应当理解,虽然将参考多个示例性的实施方案来进行以下详细的描述,但是这些实施方案的很多替换、修改和变化对本领域的技术人员而言都是清楚的。
具体实施方式
图1图示了系统实施方案10。系统10可以包括耦合于芯片组14的主处理器12。主处理器12例如可以包括IntelPentiumIII或IV微处理器,该微处理器在商业上可从本申请的受让人那里获得。当然,可替换地,主处理器12也可以包括另一种类型的微处理器,例如在不偏离本实施例的情况下,商业上从不同于本申请的受让人的来源处获得和/或由其制造的微处理器。
芯片组14可以包括主机桥/集线器系统,该系统可以将主处理器12、系统存储器21和用户接口系统16相互耦合在一起,并将它们耦合到总线系统22。芯片组14还可以包括I/O桥/集线器系统(未示出),该系统可以将主机桥/总线系统耦合到总线22。芯片组14可以包括多个集成电路芯片,这些芯片是从商业上可从本申请的受让人那里获得的集成电路芯片组(例如,图形存储器和I/O控制器中心芯片组)中选出的,不过也可以使用其他集成电路芯片,或者替代性地使用其他集成电路芯片,而不会偏离这个实施方案。另外,芯片组14可以包括中断控制器15,该控制器可对接收自系统100中其他组件的中断进行处理,例如,当主MROMB电路卡20被正确地插入到电路卡总线扩展槽30中时,可对接收自该卡20的中断进行处理,而当从属MROMB电路卡56被正确地插入到电路卡槽58中时,可对来自该卡56的中断进行处理,还可以对来自I/O控制器26的中断进行处理。当然,可替换地,这里描述为包括在卡20中的工作电路38不一定包括在卡20中,相反,在不偏离这一实施方案的前提下,它可以包括在耦合于总线22的其他结构、系统和/或设备中,并且与系统100的其他组件交换数据和/或命令。同样地,这里描述为包括在卡56中的工作电路60不一定包括在卡56中,相反,在不偏离这一实施例的前提下,它可以包括在耦合于总线22的其他结构、系统和/或设备中,并且与系统100的其他组件交换数据和/或命令。用户接口系统16例如可以包括键盘、指示设备(pointing device)和显示系统,它可以允许人类用户向系统100输入命令,并且监控系统100的操作。
总线22可以包括遵循1998年12月18日公开的外设部件互连局部总线规范(Peripheral Component Interconnect(PCI)Local Bus Specification)2.2版本的总线,该规范可从位于美国俄勒冈州波特兰市的PCI特殊兴趣小组(PCI Special Interest Group)处获得(此后称为“PCI总线”)。或者,如果适当地修改系统100,则总线22也可以包括遵循PCI-X规范1.0a版本的总线,上述规范是由上述位于美国俄勒冈州波特兰市的PCI特殊兴趣小组(PCI Special Interest Group)出版并可从该组织获得的(此后称为“PCI-X总线”)。但是,应当理解,如果适当地修改系统100,则总线22可以包括其他类型和配置的总线系统,而不会偏离本发明的这一实施方案。
I/O控制器26可以通过MROMB主板硬件机制24被耦合到芯片组14、PCI总线22和MROMB电路卡槽30。I/O控制器26还可以耦合到一个或多个I/O设备(此后统称为或单一地称为“I/O设备28”)并控制其操作。I/O设备28例如可以包括由一个或多个存储设备构成的组,其中例如包括一个或多个磁盘、光盘或固态存储设备。所述一个或多个存储设备可以包括例如一个或多个大容量存储设备阵列。
可替换地,I/O设备28可改为包括一个或多个网络适配器或接口设备,这些设备可用来将系统100接口到一个或多个外部计算机网络。根据这种替换性的设置,I/O设备28可以通过所述一个或多个外部计算机网络与外部网络设备(例如,主机或服务器计算机节点)交换数据和/或命令。
系统100还可以包括从属MROMB电路卡槽58,其可以经由MROMB硬件机制24被耦合到主MROMB电路卡槽30;槽58还可被耦合到总线22。系统100还可以包括一个或多个可被耦合到槽58的I/O设备(此后统称为或单一地称为“I/O设备44”)。I/O设备44例如可以包括由一个或多个存储设备构成的组,其中例如包括一个或多个磁盘、光盘或固态存储设备。所述一个或多个存储设备可以是例如一个或多个大容量存储设备阵列。
可替换地,I/O设备44可以包括一个或多个网络适配器或接口设备,这些设备可用来将系统100接口到一个或多个外部计算机网络。根据这种可替换的设置,I/O设备44可以通过所述一个或多个外部计算机网络与外部网络设备(例如,主机或服务器计算机节点)交换数据和/或命令。
卡56可以包括诸如I/O控制器电路60的电路。当卡56正确地耦合到槽58时,电路60可以和I/O设备44交换数据和/或命令。通过和I/O设备44交换这些数据和/或命令,电路60可以控制和/或监视I/O设备44的操作。
处理器12、系统存储器21、芯片组14、PCI总线22、MROMB硬件机制24、主MROMB电路卡槽30、I/O控制器26和从属MROMB电路卡槽58可以包括在单个电路板中,例如系统主板32中。虽然在图1中将I/O设备28和I/O设备44示为包括在主板32中,但是I/O设备28和I/O设备44不必一定包括在主板32中。例如,I/O设备28和I/O设备44每一个都可以包括在一个或多个各自的封装中,这些封装与包络主板32以及包括在主板32中的组件的封装相互独立。
根据I/O设备28的具体配置和操作特性,I/O控制器26可以使用多种不同通信协议之一来和I/O设备28交换数据和/或命令,所述通信协议例如包括小型计算机系统接口(SCSI)、光纤信道CFC)、以太网、串行高级技术配件(S-ATA)、或传输控制协议/因特网协议(TCP/IP)通信协议。当然,可替换地,I/O控制器26也可以使用其他通信协议与I/O设备28交换数据和/或命令,而不会偏离所要求保护的主题的这一实施方案。
根据这一实施方案,控制器26可以使用SCSI协议与I/O设备28交换数据和/或命令,所述SCSI协议可以遵循在美国国家标准协会(ANSI)小型计算机系统接口-2(AmericanNational Standards Institute(ANSI)Small Computer Systems Interface-2(SCSI-2))的ANSIX3.131-1994规范(ANSI X3.131-1994 Specification)中所描述的接口/协议,或与之兼容。如果控制器26使用FC协议与I/O设备28交换数据和/或命令,那么该协议可以遵循在ANSI标准光纤信道物理和信号接口-3(ANSI Standard Fibre Channel(FC)Physical andSignaling Interface-3)的X3.303:1998规范(X3.303:1998 Specification)中所描述的接口/协议,或与之兼容。或者,如果控制器26使用以太网协议与I/O设备28交换数据和/或命令,那么该协议可以遵循在2000年10月20日出版的电气和电子工程师学会Std 802.3,2000版本(Institute of Electrical and Electronics Engineers,Inc.(IEEE)Std 802.3,2000 Edition)中所描述的协议,或与之兼容。此外,可替换地,如果控制器26使用S-ATA协议与I/O设备28交换数据和/或命令,那么该协议可以遵循在由串行ATA工作组(Serial ATA WorkingGroup)于2001年8月29日出版的“串行ATA:高速串行化高级技术配件”(“Serial ATA:High Speed Serialized AT Attachment,”)1.0版本中所描述的协议,或与之兼容。另外,可替换地,如果控制器26使用TCP/IP与I/O设备28交换数据和/或命令,那么该协议可以遵循在1981年9月出版的互联网工程任务组请求评论(Internet Engineering Task Force(IETF)Request for Comments(RFC))791和793中所描述的协议,或与之兼容。另外,根据这一实施方案,如果I/O设备28被用来将系统100接口到一个/多个外部计算机网络,那么I/O设备28可以使用例如上述TCP/IP和/或以太网协议,经由一个或多个外部计算机网络与外部主机和/或服务器计算机节点交换数据和/或命令。
同样,根据I/O设备44的具体配置和操作特性,当从属MROMB电路卡56被正确地插入到槽58中时,卡56可以使用可被I/O控制器26用来(根据I/O设备28的具体配置和操作特性)与I/O设备28交换数据和/或命令的多种不同类型的通信协议之一来和I/O设备44交换数据和/或命令。可替换地,卡56可以使用其他通信协议与I/O设备44交换数据和/或命令,而不会偏离这一实施例。由卡56用来与I/O设备44交换数据和/或命令的通信协议可以与I/O控制器26用来与I/O设备28交换数据和/或命令的协议相同,或者不同,都不会偏离这一实施方案。
电路卡槽30可以包括PCI扩展槽,其可以包括PCI总线接口和/或连接器(此后统一或单一地称为“连接器36”)。卡20可以包括PCI总线连接器34,它可被插入到连接器36中或者可被连接器36接收,使得连接器34在电气和机械上可以和连接器36配对。同样,电路卡槽52可以包括一个PCI扩展槽,其可以包括PCI总线接口和/或连接器(此后统一或单一地称为“连接器52”)。卡56可以包括PCI总线连接器54,它可被插入到连接器52中或者可被连接器52接收,使得连接器54在电气和机械上可以和连接器52配对。
除了包括连接器34之外,电路卡20还可以包括MROMB电路38。电路38可以包括I/O处理器50和计算机可读存储器48。根据具体的实施方案,存储器48可以包括以下类型的计算机可读存储器中的一种或多种:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机访问存储器、高速缓存存储器、闪存、磁盘存储器、和/或光盘存储器。此外,应当理解,附加地或者替换性地,存储器48可以包括其他的和/或后来开发出的类型的计算机可读存储器。处理器50可以包括那些包含在集成电路芯片组中的集成电路芯片(未示出),所述芯片组例如是商业上可从本申请的受让人那里获得的芯片组(例如,Intel80310芯片组)。或者,处理器50可以改为包括其他的集成电路芯片(例如,Intel80960RM/RN I/O处理器、Intel80321处理器和/或可从不同于本申请受让人的来源处获得的其他类型处理器),或者其他类型的处理器/集成电路,而不会偏离所要求保护主题的这一实施方案。
当卡20被正确地插入到槽30中时,连接器34和36相互之间电耦合并且机械耦合在一起。当连接器34和36如此耦合到一起后,卡20就电耦合到总线22和中断控制器15,并且卡20还通过主板MROMB硬件机制24被电耦合到控制器26和槽58。
当卡56被正确地插入到槽58中时,连接器52和54相互之间电耦合并且机械耦合在一起。当连接器52和54如此耦合到一起后,卡56就电耦合到总线22、I/O设备44和主板MROMB硬件机制24。
在这一实施方案中,主板32中的MROMB硬件机制24允许在系统100中实现MROMB技术。应当理解,系统100中所实现的具体MROMB技术可能有所不同,但不偏离这一实施方案。
具体参考图1和图2,将描述一个可实现在系统100中的、根据这一实施方案的MROMB技术实施例。在系统100中,MROMB硬件24可以包括两个PCI初始化设备选择(IDSEL)控制机制200和216、以及两个中断转向机制214和218。
IDSEL控制机制200可被耦合到PCI总线22、电路卡槽30和电路卡槽58。IDSEL控制机制200可以包括基于晶体管的开关电路210和212。可以从槽30和58经由信号线208和62提供控制信号,这些控制信号至少可以部分地控制开关电路210和212。至少部分基于经由线208和62提供给电路210和212的控制信号,电路210和212可控地将槽58的IDSEL信号线66耦合到PCI总线22,或者将线66解耦合出PCI总线22。当卡56耦合到槽58时,IDSEL信号线66可被耦合到卡56的IDSEL信号线。后面在用到时,“IDSEL信号线66”可以统一地或单一地指卡56的IDSEL信号线和/或槽58的IDSEL信号线。
根据经由线208和62提供的控制信号,IDSEL信号线66可以经由MROMB硬件24被耦合到总线22的地址线中预定的一条线202,并且当线66如此耦合到地址线202时,可以经由线66将一个或多个IDSEL信号提供给卡56,所述IDSEL信号在配置周期(例如,紧跟在系统100重启动后)内可以用作一个或多个选择或使能信号,用于在这些配置周期内实现对卡56中所存储的配置相关信息的配置和/或控制,和/或这些信息的获得。如在这里所使用的那样,如果第二设备(例如卡20)可以向第一设备(例如卡56)提供一个或多个可能导致第一设备的操作发生变化和/或修改的信号,那么第一设备可被认为是受到第二设备的控制或在其控制之下。同样如在这里所使用的那样,这种第二设备对这种第一设备的配置可以包括由所述第二设备提供一个或多个这样的信号,该信号可能引起存储在第一设备中的一个或多个值和/或参数的选择、变化和/或修改,从而可导致第一设备的至少一种工作特性和/或模式的变化和/或修改。
根据这一实施方案,槽30被构造为:当卡20离开槽30时,经由线208向电路210提供的控制信号导致开关电路210的闭合;这使得IDSEL信号线66耦合到总线22的线202。然而,当卡20被正确地插入槽30中时,槽30可以经由线208向电路210提供控制信号,从而导致开关电路210的打开。
同样根据这一实施方案,槽58或主板32可以包括开关或跳线63,所述开关或跳线可被手动设置(例如,由未示出的人类操作者)来控制经由线62提供给电路212的控制信号的断言(assertion)以及解断言(de-assertion)。如果电路卡56不包括想要由卡20来控制和/或配置的电路,则跳线63可被设置为使得经由线62提供给电路212的控制信号导致开关电路212的闭合。相反,如果电路卡56包括了想要由卡20来控制和/或配置的电路,例如控制器电路60,则跳线63可被设置为使得经由线62提供给电路212的控制信号导致开关电路212的打开。因此,当卡20被正确地插入到槽30中并且卡56不包括想要由卡20来控制和/或配置的电路时,经由线208和62被提供给电路210和212的控制信号可以导致IDSEL线66耦合到总线22的地址线202。这可以允许主处理器12在主处理器启动的配置周期内驱动线66。这可以允许卡56在这种主处理器启动的配置周期内由主处理器12来定位、配置和/或控制。
相反,当卡20被正确地插入到槽30中并且卡56包括想要由卡20来控制和/或配置的电路时,经由线208和62被提供给电路210和212的控制信号可以导致IDSEL线66在主处理器启动的配置周期内从总线22的地址线202中解耦合出来,从而在这样的配置周期内,将卡56相对于主处理器12“隐藏”起来。此后,通过适当地控制经由线208可被提供给电路210的控制信号,卡20可以例如在I/O处理器50所启动的总线22的多次扫描期间,有选择地将IDSEL线66耦合到总线22的地址线202,和/或有选择地从总线22的地址线202中解耦合出IDSEL线66,从而允许卡56由卡20而不是由主处理器12来定位、配置和/或控制。除了总线22中可用来将一个或多个PCI IDSEL信号传播到卡56的预定地址线202外,在这个实施方案中,PCI总线22的信号线也可以以这样的方式直接耦合到槽58,即允许卡56在耦合到槽58时,可以经由总线22与系统100中同样耦合到总线22的其他设备交换数据和/或命令。
中断转向机制214可被耦合到电路卡槽30、电路卡槽58和芯片组14中的中断控制器15。机制214可以包括三态缓冲器电路,所述三态缓冲器电路至少可以部分地被经由线62提供的控制信号控制。当卡56耦合到槽58时,槽58的一条或多条中断信号线64可被耦合到卡56的一条或多条中断信号线。如在后面所使用的那样,“一条或多条中断信号线64”可以统一地和/或单一地指卡56和/或槽58的一条或多条中断信号线。当跳线63被设置为使得经由线62被提供给电路212的控制信号导致开关电路212的闭合时,这个控制信号也导致电路214将一条或多条中断信号线64耦合到芯片组14中的中断控制器15。相反,当跳线63被设置为使得经由线62被提供给电路212的控制信号导致开关电路212的打开时,这个控制信号也导致电路214将一条或多条中断信号线64解耦合出芯片组14中的中断控制器15。因此,当卡56不包括想要由卡20来控制和/或配置的电路时,提供给电路214的控制信号可以导致一条或多条中断信号线64耦合到控制器15;这可以允许卡56所产生的中断被控制器15接收和处理。相反,当卡56包括想要由卡20来控制和/或配置的电路时,提供给电路214的控制信号可以导致从控制器15中解耦合出一条或多条中断信号线64;这可以允许卡56所产生的中断由卡20而不是由控制器15来处理。
IDSEL控制机制216可被耦合到PCI总线22、电路卡槽30和I/O控制器26。IDSEL控制机制216可以包括基于晶体管的开关电路,所述开关电路至少可以部分基于经由线208提供给槽30的控制信号,可控地将I/O控制器26的IDSEL信号线43耦合到PCI总线22的预定地址线210,和/或将线43解耦合出PCI总线22的预定地址线210。可以经由线43将一个或多个PCI IDSEL信号提供给控制器26,所述PCI IDSEL信号在配置周期(例如,紧跟在系统100重启动后)内可以用作一个或多个选择或使能信号,用于在这些配置周期内实现对I/O控制器26中所存储的配置相关信息的配置和/或控制,和/或这些信息的获得。根据这一实施方案,当卡20离开槽30时,经由线208提供的控制信号导致机制216将IDSEL信号线43耦合到总线22的地址线210,从而允许主处理器12在主处理器启动的配置周期内驱动线43。然而,当卡20被正确地插入槽30中时,经由线208向机制216提供的控制信号导致机制216将控制器26的IDSEL线43解耦合出总线22的地址线210,从而在这些周期内将控制器26相对于主处理器12“隐藏”起来。此后,通过适当地控制经由线208提供的控制信号,卡20可以例如在I/O处理器50所启动的总线22的多次扫描期间,有选择地将I/O控制器26的IDSEL线43耦合到总线22的地址线210,和/或有选择地将I/O控制器26的线43解耦合出总线22的地址线210,从而允许控制器26由卡20而不是由主处理器12来定位、配置和/或控制。除了总线22中被用来将一个或多个IDSEL信号传播到I/O控制器26的预定地址线210外,在这个实施方案中,PCI总线22的信号线也可以以这样的方式被直接耦合到I/O控制器26,即允许I/O控制器26经由总线22与系统100中同样可以耦合到总线22的其他设备交换数据和/或命令。
中断转向机制218可以包括三态缓冲器电路,所述三态缓冲器电路至少可以部分地基于经由控制信号线206从槽30提供给机制218的控制信号,可控地将来自控制器26的一条或多条中断信号线41耦合到芯片组14中的中断控制器15。这个控制信号可以在卡20离开槽30时,导致I/O控制器26的中断信号线41被耦合到中断控制器15,并且可以在卡20被正确地插入槽30中时,导致线41从中断控制器15中解耦合出来。因此,当卡20离开槽30时,可由中断控制器15来接收和处理I/O控制器26所产生的一个或多个中断信号。相反,当卡20存在于槽30中时,由I/O控制器26产生的这些一个或多个中断信号可由卡20来处理。当卡20被正确地插入到槽30中时,槽30可以将卡20产生的中断信号发送到中断控制器15,使得这些中断信号由中断控制器15来处置。
在这一实施方案中,可经由线208提供的控制信号可以是来自PCI总线槽30的“联合测试工作组(JTAG,Joint Test Action Group)IEEE标准测试接入端口和边界扫描体系结构测试模式选择(IEEE Standard Test Access Port and Boundary-Scan Architecture TestMode Select)(TMS)”信号。这一TMS信号可以遵循IEEE标准1149.1-1990。即,PCI槽30中的TMS信号针可以经由线208被耦合到电路210和机制216,并且经由线208从这个信号针传播到电路210和机制216的信号(此后称为“TMS信号”)可以以上述方式来控制电路210和机制216。当TMS信号被断言(assert)时,这可以导致开关电路210和机制216将IDSEL信号线66和43分别耦合到地址线202和210。
另外在这一实施方案中,可被跳线63控制的控制信号可以是来自PCI总线槽58的JTAG测试数据输入(TDI)信号。这个TDI信号可以遵循IEEE标准1149.1-1990。即,PCI槽58中的TDI信号针可以经由跳线63被耦合到线62,而线62可以耦合到电路212和机制214。当跳线63被设置为使得槽58的TDI信号被断言时,这可导致开关电路212的打开,并且还可导致机制214从中断控制器15中解耦合出一条或多条中断信号线64。
另外,在这一实施方案中,可以经由线206提供的控制信号可以是通过槽30的JTAGTDI针来传播的信号(此后称为来自槽30的“TDI信号”)。当来自槽30的TDI信号被断言时,这可导致机制218将一条或多条中断线41解耦合出中断控制器15。
处理器50可以向卡20发出控制信号,这些信号可以使得卡20向硬件机制24提供适当的控制信号,从而以上述方式来控制电路210、机制216和机制218。卡20可以包括存储在存储器48中的固件程序指令。如果卡56包含有想要由卡20来控制和/或配置的电路,则跳线63可被设置来断言槽58的TDI信号。此后,由处理器50来执行这些指令将导致卡20向硬件24发出适当的控制信号,以允许卡20控制和/或配置I/O控制器26和/或卡56。
图3是图示了如果卡56包含想要由卡20来控制和/或配置的电路,则根据一个实施方案可在系统100中执行的操作300的流程图。在系统100中,例如在跳线63已被设置来断言槽58的TDI信号,并且系统100的重启动(例如图3中的操作302)已进行后,主处理器12可以为设备(下面称为“总线可寻址设备”,比如I/O控制器26,卡56,以及卡20)启动并执行配置周期,所述设备在这些配置周期中被耦合到总线22,并且可以通过总线22来寻址和/或配置。
在I/O处理器50已确定主处理器12已启动这样的配置周期后,I/O处理器50可以发信号通知卡20。这可以使得卡20向主处理器12发出若干重试(retry),以拖延由主处理器12启动的这些配置周期(例如在图3的操作304中)。此后,在主处理器12启动的配置周期被拖延的同时,I/O处理器50可以发信号通知卡20来断言经由线208传播的TMS信号。此后,处理器50可以确定系统100中在I/O处理器50所启动的一个或多个配置周期内可由卡20使用硬件机制24来控制和/或配置的任何总线可寻址设备的位置或多个位置(例如,总线22上的地址),如图3中的操作306所示。如在这里所使用的那样,第一设备(例如I/O控制器26或卡56)可被认为是可由第二设备(例如I/O处理器50)“配置的”,如果该第二设备能够至少部分地控制和/或选择第一设备的操作的至少一个特征、模式和/或特性的话。例如,任何这种总线可寻址设备的总线地址都可被预先确定,并且可以用指明这些预定地址的信息来编程处理器50。基于这种信息,处理器50可以确定任何这种可控和/或可配置的总线可寻址设备的位置或多个位置。
或者,处理器50例如可以根据以下美国专利申请的教导,至少部分地基于多次总线扫描的结果来确定系统100中的任何这种可控和/或可配置的总线可寻址设备的位置或多个位置,所述美国专利申请是由Paul E.Luse和Dieter E.Massa提交的,名称为“控制应用的设备发现和动态配置(DEVICE DISCOVERY AND DYNAMIC CONFIGURATION OFCONTROL APPLICATION)”,其申请序列号尚未指定(代理机构卷号为No.042390.P13491),该申请被转让给本申请的受让人,并于2002年3月28日被提交。如在这里所使用的那样,“总线扫描”涉及向总线(例如总线22)的一个或多个地址发出一个或多个请求(例如,配置读请求),以获得一个或多个响应(例如,配置读响应),该响应可以是指示了一个或多个总线可寻址设备的存在、特性、类型和/或操作的信息,和/或包含有这些信息。
例如,在系统100中,I/O控制器26和卡56可以是一个可由处理器50使用硬件24来控制和/或配置的总线可寻址设备。因此,作为操作306的结果,使用硬件机制24,处理器50可以确定I/O控制器26和卡56是这样一些总线可寻址设备,并且处理器50还可以确定总线22上在I/O处理器50所启动的配置周期内通过其控制和/或配置I/O控制器26和卡56的地址。
在处理器50完成了操作306后,处理器50可以基于由处理器50从它确定为可由处理器50使用硬件24来控制和/或配置的任何总线可寻址设备处获得的配置信息,向这些设备提供资源和/或配置这些设备,如图3中的操作308所示。即,处理器50可以向任何这种总线可寻址设备分配资源和/或配置这些设备。如在这里所使用的那样,系统的“资源”可以包括设备(facility)、工具(instrumentality)和/或这类设备和/或工具在系统中的标识符,它们可以从一个设备、工具和/或标识符池中进行分配(例如,授予),以由系统中的一个或多个设备来使用和/或与之建立关联。如图4所示,可执行操作400来向任何这种总线可寻址设备提供资源和/或进行配置。
如图4中的操作402所示,处理器50可以向I/O控制器26和/或卡56请求(例如,通过经由总线22发出的一个或多个配置读请求)并获得(例如,通过经由总线22发出的一个或多个配置读响应)配置信息,所述配置信息可以标识出I/O控制器26和/或卡56的具体设备类型和特性。基于这一信息,处理器50随后可以发信号通知卡20,让它提供并在控制器26、卡56和/或存储器21中存储与控制和/或配置有关的信息,以允许控制器26和/或卡56根据预定的和/或增强的I/O过程来运行。在处理器50向卡20发出上述信号后,卡20可以经由总线22向卡56、存储器21和/或控制器26施加信号。可由卡20施加给控制器26和/或卡56的信号可以包括分别经由线43和66可施加给控制器26和/或卡56的一个或多个IDSEL信号。由卡20将信号施加给存储器21、控制器26和/或卡56可导致这些与控制和/或配置有关的信息被存储在卡56、控制器26,和/或存储器21的位置中,如图4中的操作404所示。对存储器21中由卡20用来存储这些与控制和/或配置有关的信息的位置可以预先选择,使得这些位置不和存储器21中可能由主处理器12选择的位置相冲突,其中可能由主处理器12选择的位置例如是在主处理器12启动和/或执行的配置周期内,为了存储由主处理器12配置的那些设备的与控制和配置有关的信息,而由主处理器12在存储器21中选出的。如果I/O设备28包括了一个盘式大容量存储设备阵列,那么这些I/O过程可以允许I/O控制器26和所述阵列分别被用作RAID存储控制器和/或RAID阵列。或者,如果I/O设备28被用于将系统100接口到外部计算机网络,则所述I/O过程可允许I/O控制器26被用作服务器管理控制器,和/或可允许控制器26和设备28使用附加的通信协议。另外,例如,如果I/O设备44包括了一个盘式大容量存储设备阵列,那么这些I/O过程可以允许卡56和所述阵列分别被用作RAID存储控制器和/或RAID阵列。或者,如果I/O设备44被用于将系统100接口到外部计算机网络,则所述I/O过程可允许卡56被用作服务器管理控制器,和/或可允许卡56和设备28使用附加的通信协议。
此后,处理器50可以发信号通知卡20。这可导致卡20解断言经由线208传播的TMS信号。这可以将I/O设备26和卡56相对于主处理器12隐藏起来,如图4中的操作406所示。这样就可以结束操作400。
在结束了操作400后,处理器50可以发信号通知卡20。这可导致卡20不再向主处理器12发出重试。这可以允许主处理器12继续其配置周期,如图3中的操作310所示。
在主处理器12完成了它在系统100中的配置周期后,I/O处理器50可以接收并处理从I/O控制器26和/或卡56接收的中断。I/O处理器50生成并向I/O控制器26和/或卡56提供命令和/或数据,以响应于这些中断。
虽然未在图中示出,但是卡20可以包括附加的电路,这种电路可能有助于或者允许卡20实现这里所描述的操作和/或其他操作。例如,卡20中的这种附加电路可以包括以下逻辑,该逻辑阻止卡20断言经由线208传送的TMS信号,除非总线22的PCI GNT#信号(未示出)对于卡20也被断言。这可以使得卡20在已停止向处理器12发出重试之后和/或在向处理器12发出这种重试之前,承担和/或继续用于定位、配置和/或控制总线可寻址设备的操作,所述总线可寻址设备例如是控制器26和/或卡56,其可由处理器50使用硬件24来控制和/或配置。
另外,虽然未在图中示出,但是卡56可以包括跳线,它可以用来代替跳线63控制来自槽58的TDI信号。如果卡56包括这样的跳线,则主板32和/或槽58可以不包括跳线63。
此外,虽然主板32被描述为只包括一个I/O控制器26,但是主板32可以包括多个这样的I/O控制器,而不会偏离这一实施方案。在这种替换性的布置中,主板32中的多个I/O控制器全都可以耦合到MROMB硬件24。卡20能够使用硬件24来控制和/或配置这些多个I/O控制器。
同样,虽然系统100已被描述为只包括单一的从属MROMB卡56,但是系统100可以包括多个这样的从属MROMB卡,而不会偏离这一实施方案。在这种替换性的布置中,卡20能够使用硬件24来控制和/或配置所述多个从属MROMB卡。
总之,在一个系统实施方案中,所提供的主板包括总线、第一和第二总线接口、以及至少一个输入/输出(I/O)设备。另外在这个系统实施方案中,所提供的第一MROMB电路卡和第二MROMB电路卡能够经由所述第一接口和第二接口被耦合到所述总线。当所述第一和第二电路卡被耦合到所述第一和第二接口时,所述第一卡至少能够部分地控制IDSEL信号线(例如,第二设备和I/O设备的线)是否被耦合到所述总线。在这些IDSEL信号线被耦合到所述总线后,第一卡能够经由IDSEL信号线,向所述第二卡和所述I/O设备提供一个或多个IDSEL信号。这些一个或多个IDSEL信号在被所述第二卡和I/O设备接收后,可以允许第一卡控制和/或配置所述第二卡和I/O设备。
因此,在这个系统实施方案中,有多个设备可由第一MROMB电路卡来配置和/或控制,并且可由第一MROMB电路卡配置和/或控制的多个设备可以包括一个或多个从属MROMB电路卡和/或主板I/O设备。有利的是,这样就可以使系统更好地提供经修改、升级、增强和/或改进的I/O能力。
这里所使用的术语和表达方式只是描述性的而非限制性的,在使用这些术语和表达方式时,不想把所示出及所描述的特点的任何等同物(或其中的若干部分)排除在外,可以认识到,在权利要求书的范围内可以做出各种修改。由此,权利要求书想要覆盖所有这样的等同物。
Claims (28)
1.一种设备控制和/或配置的方法,包括:
由第一设备至少部分地控制是否将第二设备的第一信号线耦合到总线,以及是否将第三设备的第二信号线耦合到所述总线;以及
在所述第一和第二信号线都被耦合到所述总线后,从所述第一设备经由所述第一和第二信号线向所述第二和第三设备提供一个或多个信号,所述信号在被所述第二和第三设备接收后,至少部分允许由所述第一设备对所述第二和第三设备进行控制和配置中的至少一种操作。
2.如权利要求1所述的方法,其中:
所述的一个或多个信号包括初始化设备选择信号,即IDSEL信号。
3.如权利要求1所述的方法,还包括:
将所述第一设备耦合到一个总线接口;以及
经由所述接口提供至少一个这样的信号,该信号至少部分地控制是否将所述第二设备的至少一条信号线耦合到第四设备。
4.如权利要求3所述的方法,其中:
所述至少一条信号线包括所述第二设备的至少一条中断信号线;以及
所述第四设备包括中断控制器。
5.如权利要求1所述的方法,还包括:
将所述第三设备耦合到总线接口;以及
从所述接口向外提供至少一个这样的信号,该信号至少部分地控制是否将所述第三设备的至少一条信号线耦合到第四设备。
6.如权利要求5所述的方法,其中:
所述至少一条信号线包括至少一条中断信号线;以及
所述第四设备包括中断控制器。
7.如权利要求5所述的方法,其中:
所述至少一个信号还至少部分地控制是否将所述第二信号线耦合到所述总线。
8.一种设备控制和/或配置的装置,包括:
第一设备,所述第一设备用于至少部分地控制是否将第二设备的第一信号线耦合到总线,以及至少部分地控制是否将第三设备的第二信号线耦合到所述总线,并且在所述第一和第二信号线都被耦合到所述总线后,用于经由所述第一和第二信号线向所述第二和第三设备提供一个或多个信号,所述信号在被所述第二和第三设备接收后,至少部分允许由所述第一设备对所述第二和第三设备进行控制和配置中的至少一种操作。
9.如权利要求8所述的装置,其中:
所述一个或多个信号包括初始化设备选择信号,即IDSEL信号。
10.如权利要求8所述的装置,其中:
所述第一设备能够被耦合到这样一个总线接口,该总线接口能够提供至少一个至少部分地控制是否将所述第二设备的至少一条信号线耦合到第四设备的信号。
11.如权利要求10所述的装置,其中:
所述至少一条信号线包括所述第二设备的至少一条中断信号线;以及
所述第四设备包括中断控制器。
12.如权利要求8所述的装置,其中:
所述第三设备能够被耦合到一个总线接口;以及
当所述第三设备耦合到所述接口时,所述接口能够提供至少一个至少部分地控制是否将所述第三设备的至少一条信号线耦合到第四设备的信号。
13.如权利要求12所述的装置,其中:
所述至少一条信号线包括至少一条中断信号线;以及
所述第四设备包括中断控制器。
14.如权利要求12所述的装置,其中:
所述至少一个信号还至少部分地控制是否将所述第二信号线耦合到所述总线。
15.一种设备控制和/或配置的系统,包括:
电路板,包括总线、第一总线接口、第二总线接口以及至少一个输入/输出设备;以及
分别经由所述第一总线接口和所述第二总线接口能够被耦合到所述总线的第一设备和第二设备,并且当所述第一设备和所述第二设备经由所述第一总线接口和所述第二总线接口被耦合到所述总线时,所述第一设备能够至少部分地控制是否将所述第二设备的第一信号线耦合到所述总线,以及是否将所述至少一个输入/输出设备的第二信号线耦合到所述总线,并且在所述第一和第二信号线被耦合到所述总线后,所述第一设备还能够经由所述第一和第二信号线,向所述第二设备和所述至少一个输入/输出设备提供一个或多个信号,所述信号在被所述第二设备和所述至少一个输入/输出设备接收后,至少部分允许由所述第一设备对所述第二设备和所述至少一个输入/输出设备进行控制和配置中的至少一种操作。
16.如权利要求15所述的系统,其中:
所述至少一个输入/输出设备包括数据存储控制器、网络数据通信控制器和服务器管理控制器中的至少一个;并且
所述第一设备包括输入/输出处理器。
17.如权利要求15所述的系统,其中:
所述第二设备包括数据存储控制器、网络数据通信控制器和服务器管理控制器中的至少一个。
18.如权利要求15所述的系统,其中:
所述电路板还包括耦合到所述第二总线接口的MROMB机制。
19.如权利要求15所述的系统,其中:
所述电路板还包括耦合到所述至少一个输入/输出设备的MROMB机制。
20.如权利要求15所述的系统,其中:
所述第一设备包括第一电路卡;
所述第二设备包括第二电路卡;
所述第一总线接口包括能够接收所述第一电路卡的第一电路卡槽;以及
所述第二总线接口包括能够接收所述第二电路卡的第二电路卡槽。
21.如权利要求15所述的系统,其中:
所述电路板还包括中断控制器和跳线,用于选择一个提供给MROMB机制的控制信号,并且所述控制信号至少部分地控制是否将来自所述第二总线接口的中断信号线耦合到所述中断控制器。
22.如权利要求21所述的系统,其中:
所述控制信号还控制是否将所述第一信号线耦合到所述总线。
23.如权利要求15所述的系统,其中:
所述第一和第二信号线是IDSEL信号线。
24.一种电路板,包括:
第一接口,用于接收第一设备并将其耦合到总线;
第二接口,用于接收第二设备并将其耦合到所述总线;
至少一个输入/输出设备;以及
耦合到所述第一接口、所述第二接口和所述至少一个输入/输出设备的MROMB机制,该MROMB机制能够从所述第一接口接收第一控制信号,所述第一控制信号能够至少部分地控制是否将所述第二接口的第一信号线和所述至少一个输入/输出设备的第二信号线耦合到所述总线。
25.如权利要求24所述的电路板,其中:
所述MROMB机制还能够从所述第一接口接收第二控制信号,所述第二控制信号能够至少部分地控制是否将所述至少一个输入/输出设备的一条或多条中断信号线耦合到中断控制器。
26.如权利要求24所述的电路板,还包括:
用于选择第二控制信号的跳线,所述第二控制信号能够至少部分地控制是否将第二接口的中断信号线耦合到中断控制器。
27.如权利要求26所述的电路板,其中:
所述第二控制信号还能够至少部分地控制是否将所述第一信号线耦合到所述总线。
28.如权利要求24所述的电路板,其中:
所述第一和第二信号线是IDSEL信号线。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/140,631 | 2002-05-07 | ||
US10/140,631 US7032055B2 (en) | 2002-05-07 | 2002-05-07 | Device control and configuration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1666184A CN1666184A (zh) | 2005-09-07 |
CN100367259C true CN100367259C (zh) | 2008-02-06 |
Family
ID=29399475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038161710A Expired - Fee Related CN100367259C (zh) | 2002-05-07 | 2003-04-02 | 设备控制和配置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7032055B2 (zh) |
EP (1) | EP1504351B1 (zh) |
CN (1) | CN100367259C (zh) |
AT (1) | ATE550719T1 (zh) |
AU (1) | AU2003223465A1 (zh) |
TW (1) | TWI264648B (zh) |
WO (1) | WO2003096203A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188061A1 (en) * | 2002-03-28 | 2003-10-02 | Luse Paul E. | Device discovery and dynamic configuration of control application |
US6970986B1 (en) * | 2002-05-21 | 2005-11-29 | Adaptec, Inc. | Software based system and method for I/O chip hiding of processor based controllers from operating system |
US7143217B2 (en) * | 2002-05-28 | 2006-11-28 | Intel Corporation | Device configuration |
JP6629696B2 (ja) * | 2016-08-09 | 2020-01-15 | 本田技研工業株式会社 | 内燃機関 |
CN108052470A (zh) * | 2017-12-08 | 2018-05-18 | 中国核动力研究设计院 | 一种基于at96总线的热插拔装置及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0552873A1 (en) * | 1992-01-20 | 1993-07-28 | International Business Machines Corporation | Modifying system configuration in a computer system |
WO1993015459A1 (en) * | 1992-02-03 | 1993-08-05 | Micro Industries | Live insertion of computer modules |
EP0674274A1 (en) * | 1994-03-24 | 1995-09-27 | International Computers Limited | Backplane unit isolation system |
EP0772134A1 (en) * | 1995-11-02 | 1997-05-07 | International Business Machines Corporation | Adapter card slot isolation for hot plugging |
US6065081A (en) * | 1998-04-29 | 2000-05-16 | Compact Computer Corp. | Administrator controlled architecture for disabling add-in card slots |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838935A (en) | 1995-06-15 | 1998-11-17 | Intel Corporation | Method and apparatus providing programmable decode modes for secondary PCI bus interfaces |
US6094699A (en) | 1998-02-13 | 2000-07-25 | Mylex Corporation | Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller |
-
2002
- 2002-05-07 US US10/140,631 patent/US7032055B2/en not_active Expired - Fee Related
-
2003
- 2003-04-02 AT AT03719595T patent/ATE550719T1/de active
- 2003-04-02 WO PCT/US2003/010429 patent/WO2003096203A1/en not_active Application Discontinuation
- 2003-04-02 AU AU2003223465A patent/AU2003223465A1/en not_active Abandoned
- 2003-04-02 CN CNB038161710A patent/CN100367259C/zh not_active Expired - Fee Related
- 2003-04-02 EP EP03719595A patent/EP1504351B1/en not_active Expired - Lifetime
- 2003-04-28 TW TW092109910A patent/TWI264648B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0552873A1 (en) * | 1992-01-20 | 1993-07-28 | International Business Machines Corporation | Modifying system configuration in a computer system |
WO1993015459A1 (en) * | 1992-02-03 | 1993-08-05 | Micro Industries | Live insertion of computer modules |
EP0674274A1 (en) * | 1994-03-24 | 1995-09-27 | International Computers Limited | Backplane unit isolation system |
EP0772134A1 (en) * | 1995-11-02 | 1997-05-07 | International Business Machines Corporation | Adapter card slot isolation for hot plugging |
US6065081A (en) * | 1998-04-29 | 2000-05-16 | Compact Computer Corp. | Administrator controlled architecture for disabling add-in card slots |
Also Published As
Publication number | Publication date |
---|---|
WO2003096203A1 (en) | 2003-11-20 |
CN1666184A (zh) | 2005-09-07 |
ATE550719T1 (de) | 2012-04-15 |
TWI264648B (en) | 2006-10-21 |
US7032055B2 (en) | 2006-04-18 |
US20030212846A1 (en) | 2003-11-13 |
EP1504351A1 (en) | 2005-02-09 |
AU2003223465A1 (en) | 2003-11-11 |
TW200403562A (en) | 2004-03-01 |
EP1504351B1 (en) | 2012-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232037B (zh) | 主机系统及其方法和加速装置 | |
US5586268A (en) | Multiple peripheral adapter device driver architecture | |
US7805543B2 (en) | Hardware oriented host-side native command queuing tag management | |
TWI334543B (en) | Method of scheduling tasks in computer systems architectures, apparatus for implementing task scheduling, and computing system | |
US7617400B2 (en) | Storage partitioning | |
TW200426593A (en) | Integrated circuit capable of communicating using different communication protocols | |
JP2007080282A (ja) | 改善されたネットワーク・インタフェースを有するデータ記憶システム | |
TWI267740B (en) | Method, apparatus, article and system of device resource allocation | |
US5423029A (en) | Circuit and method for testing direct memory access circuitry | |
JP2020198087A (ja) | シミュレートされたデバイスをメモリベース通信プロトコルを使用してテストするためのシステムおよび方法 | |
EP1834246B1 (en) | Integrated circuit having processor and switch capabilities | |
KR20160022277A (ko) | 가상 디바이스 기반의 시스템 | |
CN100367259C (zh) | 设备控制和配置 | |
CN102253845A (zh) | 服务器系统 | |
US6820219B1 (en) | Integrated testing method for concurrent testing of a number of computer components through software simulation | |
US20060265523A1 (en) | Data transfer circuit and data transfer method | |
US6311303B1 (en) | Monitor port with selectable trace support | |
US7089358B2 (en) | Identifying and controlling different types of MROMB hardware | |
US7058780B2 (en) | Device resource allocation | |
US20050256990A1 (en) | Integrated circuit having processor and bridging capabilities | |
US20060047934A1 (en) | Integrated circuit capable of memory access control | |
US20030188061A1 (en) | Device discovery and dynamic configuration of control application | |
US9047987B2 (en) | Multiple access test architecture for memory storage devices | |
JP2006235665A (ja) | コマンドテスタ | |
US7143217B2 (en) | Device configuration |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080206 Termination date: 20170402 |
|
CF01 | Termination of patent right due to non-payment of annual fee |