专用设备和设备功能的配置的制作方法

文档序号:6421070阅读:166来源:国知局
专利名称:专用设备和设备功能的配置的制作方法
技术领域
这里所公开的主题涉及处理平台中各设备间的通信。特别是,在此所公开的主题涉及根据数据总线协议的各设备间的通信。
背景技术
处理平台通常包括通过数据总线连接到一个或多个外围设备的主机处理系统。在为联网客户提供数据存储资源的处理平台中,这样一种外围设备能够与廉价的磁盘冗余阵列(RAID)进行通信,以提供健壮的数据存储系统。这样一种处理平台通常包括一个通过数据总线连接到主机处理系统的输入/输出(I/O)处理器。该I/O处理器随后经过一个或多个向联网客户提供数据存储资源的I/O通道来控制对存储媒介的访问。
用于提供数据存储资源的访问的I/O通道可以包括连接处理平台中的数据总线的I/O设备。尽管这样一种数据总线能够使主处理系统与这样一个连接数据总线的I/O设备进行通信,但是控制对I/O通道的访问的I/O处理器对主处理系统隐藏了整个I/O设备或者I/O设备的某些功能。这使I/O处理器对隐藏的设备和设备功能实行排他控制。


下面将参考以下

本发明的非限制和非穷举的实施例,其中,除另有说明,否则在全部附图中相似的附图标记代表相似的部件。
图1显示了本发明实施例的处理平台的示意图;图2显示了本发明另一实施例的处理平台的示意图;图3是图示说明根据图1或图2所示处理平台的实施例配置一个隐藏设备或者设备功能的处理的流程图;图4是图示说明图3所示的处理实施例的配置标题的格式的示意图。
具体实施例方式
在该说明书中,“一个实施例”或者“一实施例”是指结合该实施例所述的特定特点、结构、特征至少被包含在本发明一个实施例中。因此,在该说明书的各处出现短语“在一个实施例中”或者“一实施例”不一定都指同一实施例。此外,特定特点、结构或者特征可以被组合到一个或多个实施例中。
这里所述的“机器可读”指令涉及可以被一个或多个机器理解以执行一个或多个逻辑操作的表达式。例如,机器可读指令可以包括可以被处理器的编译器解释以便对一个或多个数据对象执行一个或多个操作的多个指令。然而,这只是机器可读指令的一个实例,本发明实施例不限于这一方面。
这里所述的“存储媒介”涉及能够保持可被一个或多个机器理解的表达式的媒介。例如,机器可读媒介可以包括存储机器可读指令或者数据的一个或多个存储设备。这样的存储设备包括存储媒介,例如光、磁或者半导体存储媒介。然而,这只是机器可读媒介的一个实例,本发明实施例不限于这一方面。
这里所述的“逻辑电路”涉及执行一个或者多个逻辑操作的结构。例如,逻辑电路可以包括根据一个或多个输入信号提供一个或多个输出信号的电路。这样的电路可以包括一个接收数字输入并提供数字输出的有限状态机,或者响应一个或多个模拟输入信号提供一个或多个模拟输出的电路。这样的电路可以被提供于专用集成电路(ASIC)或者现场可编程门阵列(FPGA)中。此外,逻辑电路可以包括机器可读指令,该指令被存储在与执行这种机器可读指令的处理电路相组合的存储媒介中。然而,这些只是可以提供逻辑电路的结构的实例,本发明实施例不限于这一方面。
这里所述的“处理系统”涉及完成计算任务的硬件和软件资源的组合。“主机处理系统”涉及可以用来与“外围设备”通信的处理系统。例如,外围设备可以向主机处理系统上的应用处理提供输入或接收其输出。然而,这些只是处理系统、主机处理系统和外围设备的实例,本发明实施例不限于这一方面。
这里所述的“数据总线”涉及在设备间传输数据的电路。例如,数据总线可以在主机处理系统与外围设备之间传送数据。此外,数据总线还可以在两个外围设备之间传送数据。数据总线可以根据2002年3月29日的外围部件互连(PCI)本地总线规范,Rev2.3(以下称之为PCI本地总线规范)或者PCI-X2.0协议规范(以下称之为PCI-X2.0协议规范)形成。作为替换,也可形成数据总线以通过“根组件(root complex)”连接“端点”设备和主机处理系统,所述“根组件”是按2002年7月16日的PCI表达基本规范Rev.1.0中所述的PCI表达环境提供的(以下称之为“PCI表达规范”)。也可形成数据总线以用于连接两个端点设备。然而,这些只是数据总线的实例,本发明实施例不限于这一方面。这里所述的“总线事务”涉及按数据总线结构连接的设备之间的相互作用,其中一个设备经由数据总线结构发送寻址到其它设备的数据。然而这些只是总线事务的实例,本发明实施例不限于这一方面。
数据总线可以被连接到与数据总线的地址关联的“数据接口”处的一个或多个设备。这样一个数据接口可以包括一个把设备连接到数据总线的物理连接。此外,数据接口可以定义物理信令格式和地址,以便于在总线事务中与关联设备进行通信。然而,这些只是数据总线与设备间的数据接口的实例,本发明实施例不限于这一方面。
这里所述的“桥”涉及连接在数据总线之间的一个设备,该设备在连接到一个总线和连接到另一个总线的设备之间传送数据。根据一个实施例,桥可以被连接在两个总线之间,用于在外围设备和处理资源之间传送数据。然而,本发明实施例不限于这一方面,也可以使用桥的其它应用。此外,桥可以定义将桥连接到主机处理系统的“第一”数据总线,并定义与主机处理系统相对的“第二”数据总线。这里所述的这样一种桥可以根据1998年12月18日的PCI到PCI桥结构规范Rev.1.1(以下称之为PCI到PCI桥规范)所公开的外围部件互连(PCI)来形成。然而,本发明实施例不限于这一方面,也可以使用其它技术利用总线、桥或者总线配置。
这里所述的“设备功能”涉及与设备关联的实体,该设备在数据接口处与数据总线连接。数据总线可以通过经由数据接口传送的消息与设备功能通信。此外,多设备功能可以与单个设备相关联,使数据总线可以经过设备与数据总线之间的数据接口通过信号和数据的传送与任何特定设备功能进行通信,并寻址到特定设备功能。然而,这些只是设备功能的实例,本发明实施例不限于这一方面。
这里所述的“总线列举”涉及包括分配资源以便与连接数据总线的设备进行通信的处理或进程。例如,连接数据总线的处理系统可以执行总线列举处理,以标识数据总线上的设备以及由标识的设备提供的任何设备功能,并且分配处理资源以便与标识的设备和设备功能进行通信。这样一种总线列举处理可以包括试图列举单个设备或者这种设备的设备功能。然而,这只是总线列举处理的实例,本发明实施例不限于这一方面。
这里所述的“配置事务”涉及在分配与被标识的设备或设备功能进行通信的资源的总线列举处理进程中发生的事务。对于连接到如PCI到PCI桥规范中所述的PCI总线的设备和设备功能,例如,列举处理可以执行类型0配置事务,以标识连接数据总线的设备和设备功能,并分配资源以便与被标识的设备或设备功能进行通信。此外,列举处理可以执行类型1配置事务,以标识连接第二数据总线的设备和设备功能,该第二数据总线位于PCI到PCI桥规范的第三章所述的桥之后(并且分配资源以便与被标识设备或者设备功能进行通信)。然而,这些只是配置事务的实例,本发明实施例不限于这一方面。
这里所述的“配置请求”涉及在配置事务中发生的事件。例如,配置请求可以包括对目标设备寻址的总线事务,以向该设备询问设备的身份,或者目标设备的设备功能的身份。可以在试图列举目标设备或者设备功能的配置事务中启动这样一种配置请求。对于根据PCI到PCI桥规范形成的数据总线和设备,例如,配置请求可以包括用于启动寻址到连接数据总线的设备的类型0配置请求的总线事务,或者用于启动寻址到连接第二数据总线(例如,在数据总线的桥之后)的设备的类型1配置请求的总线事务。
配置请求可以包括寻址到目标设备的配置读取请求。响应这样一种配置读取请求,目标设备可以提供信息,如包括用于标识设备或设备的设备功能的信息的配置标题。作为替换,配置请求也可以包括寻址到目标设备的配置写入请求。响应这样一种配置写入请求,可以将信息写入与目标设备关联的配置标题的一个或多个寄存器中。然而,这些只是配置请求的实例,本发明实施例不限于这一方面。
可以对列举过程“隐藏”连接数据总线的设备,或者连接数据总线的这样一种设备的一个或多个设备功能,使列举过程免于分配资源而与隐藏的设备或设备功能进行通信。例如,可以禁止或者避免完成由列举处理系统启动并且以一个设备和一个设备的设备功能为目标的配置事务,从而对列举处理系统隐藏目标设备或者设备功能。然而,这只是如何对列举处理系统隐藏设备或者设备功能的一个实例,本发明实施例不限于这一方面。
这里所述的“I/O通道”涉及这样一种实体,穿过该实体,可以将数据发送到外部系统或从外部系统接收数据。例如,I/O通道可以包括在数据总线与通信或存储设备之间发送数据的外围设备或者设备功能。然而,这只是I/O通道的实例,本发明实施例不限于这一方面。
总之,本发明实施例涉及配置要求(claim)总线事务的设备或者设备功能的系统和方法。主机处理系统可以执行用于配置一个或多个连接数据总线的设备的列举过程。在列举处理期间可以对主机处理系统隐藏设备和设备功能的至少一个。被隐藏的设备或者设备功能可以被配置成要求由实体独立于主机处理系统地启动的总线事务请求。
图1显示了根据本发明一实施例的处理平台10的示意图。通过核心逻辑电路26连接到系统存储器28的主机处理器12可以提供主机处理系统来为操作系统和应用程序提供宿主。输入/输出(I/O)处理器14可以连接到主机处理系统和一个或多个外围设备16。该I/O处理器14可以为操作系统和应用程序提供宿主,从而通过外围设备16控制对I/O通道20的访问。
根据数据总线协议,数据总线24能够使I/O处理器14与主机处理系统通信,数据总线18使I/O处理器14与外围设备16通信。该I/O处理器14包括一个将数据总线24定义为第一总线24并将数据总线18定义为第二总线的内部桥。根据一个实施例,第一和第二总线24和18可以根据比如由PCI特殊兴趣组于2002年3月29日公开的PCI本地总线规范(以下称之为“PCI本地总线规范”)Rev.2.3记载的PCI数据总线结构来形成。然而,这只是可以由在设备之间发送数据的数据总线利用的总线结构的实例,但本发明实施例不限于这一方面。此外,内部桥可以根据PCI到PCI桥规范形成,然而,这只是如何实施在处理平台中形成第一和第二数据总线的桥的实例,本发明实施例不限于这一方面。
图2显示了根据本发明一可选实施例的包括外围设备116的处理平台100的示意图。外围设备116可以包括与I/O通道120通信的一个或多个设备功能。与图1实施例中的外围设备16不同,外围设备116不依赖于介入桥(interveningbridge)而通过数据总线124直接连接到I/O处理器114和核心逻辑电路126。所以,数据总线124可以使包括主机处理器112、系统存储器128和核心逻辑电路126的主机处理系统能够列举主机处理系统,从而不依赖连接在数据总线124与外围设备116之间的介入桥就可以列举外围设备116或者外围设备116的设备功能。
外围设备16或者116可以包括具有数据总线的数据接口,以便在与数据总线18相连接的外围设备和其它设备的处理之间传递数据。这样一种数据接口可以包括几个与数据总线相连的数据接口中的任何一个,例如,该数据接口是按PCI到PCI桥规范第13章记载的总线和设备号定义的PCI总线的设备“插槽”。这样一个设备插槽与PCI本地总线规范第2章第4.2.6条记载的信号定义和设备引出线相关联。然而,这些只是外围设备可以如何包括与数据总线的数据接口的实例,本发明实施例不限于这一方面。
主机处理器12或者112可以包括任何普通中央处理单元(CPU),比如由英特尔公司出售的Pentium、Xeon、或Itanium处理器。核心逻辑电路26或126可以包括若干主板芯片组的任何一个,包括例如控制对于系统存储器(比如英特尔公司出售的E7500 MCH)的访问的存储控制集线器(MCH),和控制主机处理系统与一个或多个外围设备(比如由英特尔公司出售的82801CAICH)之间的通信的I/O控制集线器(ICH)。然而,这只是可以在主机处理系统中使用的CPU和核心逻辑电路的实例,本发明实施例不受这方面限制。I/O处理器14可以包括存储器I/O处理器,比如由英特尔公司出售的80303或者80310 I/O处理器。I/O处理器114可以包括存储I/O处理器,如由英特尔公司出售的80303、80310或者80321 I/O处理器。然而这只是I/O处理器的实例,本发明实施例不限于这一方面。
在所示的实施例中,外围设备16或116可以包括一个接口,该接口可根据国家信息技术标准(NCITS)委员会建立的小型计算机系统接口(SCSI)的变更来实现通过I/O通道20和120的通信。然而,这只是外围设备如何根据不同格式促进与多个I/O通道和其他接口进行通信的实例,这些格式比如是纤维管路、SSA、IBA、串行ATA、串行连接SCSI(SAS)或者以太网。I/O通道20或120可以用来直接或经由交换机地与若干I/O设备的任何一个进行通信,这些I/O设备比如是诸如独立磁盘冗余阵列(RAID)(未示出)的存储系统、通信端口、服务器、客户机或者其它存储系统。这样一种RAID系统可以包括存储设备,如磁存储盘或者其它大量数据存储媒介。
外围设备16或者116可以包括可以用来经由各个I/O通道20或120通信的一个或者多个设备功能,其中对每个I/O通道的访问由一个关联的设备功能控制。然而,这只是外围设备如何可以实施多个设备功能以提供多个I/O通道的实例,本发明实施例不限于这一方面。例如,该设备(例如,外围设备16或者116)可被连接到PCI数据总线上的插槽,并且可以包括多达8个设备功能(设备功能0至7),这样,总线事务可经由PCI数据总线上的单个插槽而独立地寻址到设备功能。这些只是外围设备如何可以实现多个设备功能以提供多个I/O通道的实例,本发明实施例不限于这一方面。
在其它实施例中,I/O处理器可以经由“根组件”连接到作为“端点”设备的主机处理系统,在2002年7月16日的PCI表述基本规范Rev.1.0(以下称之为“PCI表达规范”)记载的PCI表达环境中提供了上述的“根组件”。例如,I/O处理器可以被连接到“交换机”的下游端口,同时与连接交换机的其它下游端口的外围设备通信。作为选择,I/O处理器可以通过根据PCI本地总线规范或者PCI-X2.0协议规范构成的数据总线连接到外围设备。在另一个实施例中,I/O处理器可以连接第二交换机的上游端口,以便与连接到第二交换机的下游端口的外围设备进行通信。然而,这些只是I/O处理器如何连接从而与PCI表达环境中的主机处理系统和外围设备通信的实施例,本发明实施例不限于这一方面。
根据图1和图2的实施例,可以执行列举过程(例如,通过图1实施例中的主机处理器12或I/O处理器4,或者图2实施例中的主机处理器112或者I/O处理器114)来配置与一个或者多个装置进行通信的资源,所述的一个或者多个装置与数据总线或者这种装置的装置功能相连接。I/O处理器(例如,I/O处理器14或114)可以包括一个逻辑电路,以便对主机处理系统所执行的列举过程隐藏一个或多个与数据总线相连接的装置。此外,I/O处理器可以对这样的列举过程隐藏外围设备的单独设备功能,同时允许外围设备的其它未隐藏设备通过隐藏过程进行配置。
在设备连接PCI总线的实施例中,例如,I/O处理器可以通过控制数据接口上的“IDSEL”信号(参见,例如PCI本地总线规范3.2.2.3.4和3.2.2.3.5节)来阻止主机处理系统配置资源从而在列举过程中与外围设备进行通信,该数据接口连接数据总线和外围设备。这种为了隐藏设备而控制IDSEL信号的逻辑电路可以以例如I/O处理器或者离散逻辑电路的形式实现,如于1999年12月27日提交并转让给英特尔公司的美国专利申请09/472,502的记载,该申请作为参考加以引用。例如,I/O处理器可以包括用于宣称可选的PCI信号“TMS ”以禁止数据接口上的IDSEL信号进入外围设备(例如,外围16或者116)的逻辑电路。然而,这只是第一处理系统如何禁止第二处理系统在列举过程中配置数据总线上的设备的实例,本发明实施例不限于这一方面。
根据一个实施例,外围设备可以包括一个以上的设备功能(例如,控制对于相关I/O通道20或120的访问的不同的设备功能)。I/O处理器还可以包括隐藏设备的一个或多个设备功能的逻辑电路(允许主机处理系统配置用于与剩余的未隐藏设备功能进行通信的资源)。在外围设备连接到PCI总线的实施例中,例如,使用2001年9月14日提交的受让人为英特尔公司的美国专利申请09/954,129公开的技术,I/O处理器可以对主机处理系统隐藏各个设备功能,所述的技术被包含在此作为参考。
根据一个实施例,I/O处理器可以配置一个被隐藏的设备或者设备功能,以便独立于主机处理系统地与I/O处理器进行通信。在一个实施例中,主机处理系统可以执行第一列举过程,以配置所有未隐藏的外围设备和任一未隐藏的设备功能。I/O处理器可以执行第二列举过程,以配置任何被隐藏的设备或者设备功能,该被隐藏的设备或者设备功能独立于主机处理系统与I/O处理器进行通信。
图3显示了根据一个实施例的用于配置被隐藏的设备和设备功能的I/O处理器(例如,I/O处理器14或114)上的逻辑的流程图。在该图示的实施例中,I/O处理器可以配置被隐藏的设备和设备功能,以便根据如PCI本地总线规范所记载的数据总线协议与I/O处理器进行通信。例如,I/O处理器可以配置被隐藏的设备或设备功能以响应如PCI本地总线规范第3章记载的存储器读取或存储器写入命令。为了使被隐藏的设备或设备功能响应这种存储器读取或存储器写入命令,I/O处理器通过初始化本地驱动器并分配资源(例如在基址寄存器(BAR)中指示的存储器地址范围)来配置被隐藏的设备或设备功能。
在方框202,I/O处理器可以确定将分配给被隐藏的设备或设备功能的存储器寻址资源。I/O处理器可以执行固件(例如,响应于复位事件),所述固件包括(或本地检索)标识将隐藏的每个设备或设备功能的信息、标识设备或设备功能的配置地址的信息和量化将分配给设备或设备功能的存储器寻址资源的信息。这种将分配给隐藏的设备或设备功能的存储器寻址资源可以包括存储器地址的范围,该存储器地址的范围定义了将由设备或者设备功能提出的存储器读取和存储器写入请求。
如下所述,在方框212,I/O处理器可以启动列举过程,以便在由主机处理系统控制的起始列举过程之后配置被隐藏的设备或设备功能。在从固件信息确定被隐藏的设备或设备功能的配置地址的替代实例中,I/O处理器可以在数据总线上执行设备的初始总线扫描(例如,使用配置读取请求),以在由主机处理系统控制的列举过程之前接收配置地址。I/O处理器随后将设备ID信息(来自被扫描设备的配置标题)与在I/O处理器固件中编程的设备ID信息(是被隐藏的设备或者设备功能的信息)相关联,以确定被隐藏的设备或设备功能的配置地址。
在主机处理系统执行的列举过程期间,主机处理系统可以试图通过发送寻址到设备的配置地址的配置读取请求来列举连接数据总线的每个设备(或者该设备的各功能)。在方框204,I/O处理器可以通过禁止响应来自主机处理系统的寻址到设备或设备功能的配置读取请求来隐藏设备或设备功能(如方框202所示)(例如,如美国专利申请09/472,502和09/954,129所述)。
在方框206,I/O处理器可以响应寻址到I/O处理器的配置读取请求,构建将提供给主机处理系统的如PCI本地总线规范第6章所定义的配置标题。配置标题可以被格式化,如图4所示。特别是,I/O处理器可以在配置标题中设置BAR,以指示将分配给I/O处理器和分配给每个被隐藏的设备和设备功能的存储器寻址资源。例如,I/O处理器可以在配置标题中设置BAR,以便(从主机处理系统)请求将在I/O处理器、被隐藏的设备和设备功能之间分配的存储器地址的单个范围。作为选择,I/O处理器可以在配置标题中设置BAR,以请求将分配给I/O处理器的存储器地址的第一范围和将分配于一个或多个被隐藏的设备和设备功能之间的存储器地址的第二范围。在另一个实施例中,I/O处理器可以在配置标题上设置BAR,以请求将分配给I/O处理器的存储器地址的范围和将分配给每个隐藏的设备或设备功能的存储器地址的附加范围。然而,这些只是如何设置配置标题以便请求将被分配在多个实体之间的存储器寻址资源的实例,本发明实施例不限于这一方面。
在方框208,I/O处理器可以通过提供具有BAR的指示将分配给I/O处理器和被隐藏的设备或设备功能的存储器地址范围的配置标题(如在方框206形成)来响应来自主机处理系统列举过程的配置读取请求。在配置读取总线事务之后,主机处理系统可以启动配置写入事务,以便在与I/O处理器相关联的配置标题中设置BAR,指示分配给I/O处理器和被隐藏的设备或设备功能的存储器地址范围,如PCI本地总线规范的6.2.5节所述。
在方框210,I/O处理器可以接收来自主机处理系统列举过程的配置写入请求,以便在I/O处理器的配置标题中设置BAR。对配置写入请求的接收加以响应,这些BAR可以被设置成定义主机处理系统已经分配给I/O处理器的特定存储器地址范围。所以,这些BAR可以反映定义了将由I/O处理器要求的总线事务的存储器地址范围,以及定义了将由被隐藏的设备或设备功能要求的总线事务的存储器地址范围。
在方框212,I/O处理器执行列举过程来配置被隐藏的设备和设备功能,以便独立于主机处理系统地与I/O处理器进行通信。I/O处理器可以向每个被隐藏的设备或者设备功能启动配置读取请求(在主机处理系统所控制的列举过程之前或者之后)。在响应来自被隐藏的设备或者设备功能的配置读取请求之后,I/O处理器可以1)初始化驱动器,以便在I/O处理器上执行用于与被隐藏的设备或者设备驱动器的通信,和2)启动配置写入总线事务,以便向被隐藏的设备或者设备功能分配存储器地址范围。这种寻址到被隐藏的设备或设备功能的配置写入总线事务可以在关联于设备或设备功能的配置标题中设置BAR寄存器,以便按照PCI本地总线规范第6.2.5节的说明来定义被分配给被隐藏的设备或者设备功能的存储器地址范围。
分配给被隐藏的设备或设备功能的存储器地址范围可以包括在方框210从主机处理系统分配给I/O处理器的存储器地址范围。例如,分配给被隐藏的设备或设备功能的存储器地址范围可包括来自分配给I/O处理器的第二存储器地址范围的存储器地址的子集(例如,分配给I/O处理器的第一存储器地址将配置与主机处理系统通信的I/O处理器,而第二存储器地址范围则被分配在被隐藏的设备或者设备功能之间)。作为选择,分配给被隐藏的设备或设备功能的存储器地址范围可以包括分配给I/O处理器的整个地址(例如,除了存储器地址范围用于每个被隐藏的设备或设备功能之外,还将存储器地址范围分配给I/O处理器以配置I/O处理器)。
在方框212由I/O处理器启动的列举过程之后,I/O处理器可以独立于主机处理系统地将存储器读取和存储器写入请求寻址到被配置和隐藏的设备和设备功能。这样一种存储器读取或存储器写入请求可以利用存储器地址寻址到被隐藏的设备或设备功能,该存储器地址位于分配给设备或设备功能的存储器地址范围之内,如关联于设备或设备功能的BAR所指示的。例如,设备或设备功能可以使用PCI本地总线规范3.2.2.2节所述的存储器空间解码来要求这种存储器读取或者存储器写入请求。
尽管图示和描述的是目前考虑的本发明的实施例的实例,但是本领域熟练技术人员将会明白,可以作出不同的其它修改,以及用等同表述来替代,而不背离本发明的真实范围。此外,在不背离这里所述的主要发明概念的情况下,可以作出许多修改以使本发明的教导适应于特定的情况。因此,本发明不局限于所公开的特定实施例,本发明包括落入所附权利要求范围之内的所有实施例。
权利要求
1.一种方法,包括在主机处理系统上执行列举过程,以配置连接到数据总线的一个或多个设备;在列举过程期间对主机处理系统隐藏设备和设备功能中的至少一个,所述的设备和设备功能中的至少一个连接到数据总线;和配置所述的设备和设备功能中的至少一个,以便在数据总线上要求总线事务请求,该总线事务请求是独立于主机处理系统启动的。
2.根据权利要求1所述的方法,其中配置设备和设备功能中的至少一个以便要求总线事务请求还包括设置与设备和设备功能中的至少一个相关联的一个或多个基址寄存器。
3.根据权利要求1所述的方法,其中配置设备和设备功能中的至少一个以便要求总线事务请求还包括在I/O处理器上执行列举过程,以便配置设备和设备功能中的至少一个来在数据总线上要求总线事务请求。
4.根据权利要求3所述的方法,该方法还包括在I/O处理器上启动数据总线命令;和在设备和设备功能中的至少一个上要求数据总线命令。
5.根据权利要求1所述的方法,其中在列举过程期间对主机处理系统隐藏设备和设备功能中的至少一个包括禁止关联于设备和设备功能中的至少一个的数据总线上的IDSEL信号。
6.根据权利要求1所述的方法,其中在主机处理系统上执行列举过程还包括向连接到数据总线的I/O处理器分配一个或多个存储器地址范围,其中该方法还包括在I/O处理器上执行列举过程,以便从分配给I/O处理器的一个或多个存储器地址范围中向被隐藏的设备和设备功能中的至少一个分配存储器地址的范围。
7.一种物品,包括一存储媒介,包括存储在其上的机器可读指令,用于在主机处理系统所启动的列举过程期间对主机处理系统隐藏连接到数据总线的设备和设备功能中的至少一个;和配置设备和设备功能中的至少一个,以便在数据总线上要求总线事务请求,该总线事务请求是独立于主机处理系统启动的。
8.根据权利要求6所述的物品,其中存储媒介还包括存储在其上用以设置与设备和设备功能中的至少一个相关联的一个或多个基址寄存器的机器可读指令。
9.根据权利要求6所述的物品,其中存储媒介还包括存储在其上用以执行列举过程以便配置设备和设备功能中的至少一个来在数据总线上要求总线事务请求的机器可读指令。
10.根据权利要求6所述的物品,其中存储媒介还包括存储在其上用以禁止关联于设备和设备功能中的至少一个的数据总线上的IDSEL信号的机器可读指令。
11.根据权利要求6所述的物品,其中存储媒介还包括存储在其上用以执行第二列举过程以便在主机处理系统所启动的列举过程期间从分配给设备的一个或多个存储器地址范围中向被隐藏的设备和设备功能中的至少一个分配存储器地址范围的机器可读指令。
12.一种I/O处理器,包括用于在主机处理系统所控制的列举过程期间对主机处理系统隐藏连接到数据总线的设备和设备功能中的至少一个的逻辑电路;和用于配置设备和设备功能中的至少一个以便在数据总线上要求总线事务请求的逻辑电路,所述总线事务请求是独立于主机处理系统启动的。
13.根据权利要求12所述的I/O处理器,该I/O处理器还包括用于设置与设备和设备功能中的至少一个相关联的一个或多个基址寄存器的逻辑电路。
14.根据权利要求12所述的I/O处理器,所述I/O处理器还包括用于执行列举过程以便配置设备和设备功能中的至少一个来在数据总线上要求总线事务请求的逻辑电路。
15.根据权利要求12所述的I/O处理器,该I/O处理器还包括用于禁止关联于I/O控制器的数据总线上的IDSEL信号以便在主机处理系统所控制的列举过程期间隐藏I/O控制器的逻辑电路。
16.根据权利要求12所述的I/O处理器,其中I/O处理器还包括用于执行第二列举过程以便在主机处理系统所控制的列举过程期间从分配给I/O处理器设备的一个或多个存储器地址范围中向被隐藏的设备和设备功能中的至少一个分配存储器地址范围的逻辑电路。
17.一种系统,包括一主机处理系统;经由数据总线连接到主机处理系统的设备;和一I/O处理器,包括用于在主机处理系统所控制的列举过程期间对主机处理系统隐藏设备和设备的设备功能中的至少一个的逻辑电路;和用于配置设备和设备功能中被隐藏的一个以便在数据总线上要求总线事务请求的逻辑电路,所述总线事务是独立于主机处理系统启动的。
18.根据权利要求17所述的系统,其中I/O处理器还包括经由第一数据总线连接到主机处理系统和经由第二数据总线连接到设备的桥。
19.根据权利要求17所述的系统,其中该系统还包括与设备相连的磁存储介质,以便根据数据存储格式存储数据。
20.根据权利要求17所述的系统,其中设备包括根据串行ATA格式发送或者接收数据的逻辑电路。
21.根据权利要求17所述的系统,其中设备包括根据SCSI格式发送或接收数据的逻辑电路。
22.根据权利要求17所述的系统,其中设备还包括根据SAS格式发送或接收数据的逻辑电路。
23.根据权利要求17所述的系统,其中I/O处理器还包括用于设置与设备和设备功能中的至少一个相关联的一个或多个基址寄存器的逻辑电路。
24.根据权利要求17所述的系统,其中I/O处理器还包括用于执行列举过程以便配置设备和设备功能中的至少一个来在数据总线上要求总线事务请求的逻辑电路。
25.根据权利要求17所述的系统,其中I/O处理器还包括用于禁止关联于I/O控制器的数据总线上的IDSEL信号以便在主机处理系统所控制的列举过程期间隐藏I/O控制器的逻辑电路。
26.根据权利要求17所述的系统,其中I/O处理器还包括用于执行第二列举过程以便在主机处理系统所控制的列举过程期间从分配给I/O处理器的一个或多个存储器地址范围中向被隐藏的设备和设备功能中的至少一个分配存储器地址范围的逻辑电路。
27.一种方法,包括在主机处理系统执行受控制的第一列举过程,以便配置经由数据总线连接到主机处理系统的I/O处理器,该第一列举过程包括对一个或多个分配到I/O处理器的存储器地址范围进行分配;和在I/O处理器上执行受控制的第二列举过程,以便配置与I/O处理器通信的设备和设备功能中的至少一个,该第二列举过程包括从分配给I/O处理器的一个或多个存储器地址范围中向设备和设备功能中的至少一个分配存储器地址范围。
28.根据权利要求27所述的方法,该方法还包括在第一列举过程期间对主机处理系统隐藏设备和设备功能中的至少一个。
29.根据权利要求27所述的方法,其中执行第二列举过程还包括配置设备和设备功能中的至少一个以便在数据总线上要求总线事务请求,所述总线事务请求是独立于主机处理系统启动的。
30.根据权利要求27所述的方法,其中向设备和设备功能中的至少一个分配存储器地址范围还包括在与设备和设备功能中的至少一个相关联的配置标题中设置一个或多个基址寄存器。
31.一个I/O处理器,包括响应由主机处理系统控制的第一列举过程而请求从主机处理系统分配一个或多个存储器地址范围的逻辑电路;和用于启动第二列举过程以便配置与I/O处理器通信的设备和设备功能中的至少一个的逻辑电路,该第二列举过程包括从所请求的一个或多个存储器地址范围中向设备和设备功能中的至少一个分配存储器地址范围。
32.根据权利要求31所述的I/O处理器,该I/O处理器还包括用于在第一列举过程期间对主机处理系统隐藏设备和设备功能中的至少一个的逻辑电路。
33.根据权利要求31所述的I/O处理器,其中第二列举过程包括配置设备和设备功能中的至少一个以便在数据总线上要求总线事务请求,所述总线事务请求是独立于主机处理系统启动的。
34.根据权利要求31所述的I/O处理器,其中向设备和设备功能中的至少一个分配存储器地址范围包括在与设备和设备功能中的至少一个相关联的配置标题中设置一个或多个基址寄存器。
35.一种物品,包括一存储媒介,包括存储在其上的机器可读指令,用于响应由主机处理系统控制的第一列举过程,请求从主机处理系统分配一个或多个存储器地址范围;和启动第二列举过程以便配置与I/O处理器通信的设备和设备功能中的至少一个,该第二列举过程包括从所请求的一个或多个存储器地址范围中向设备和设备功能中的至少一个分配存储器地址范围。
36.根据权利要求35所述的物品,其中存储媒介还包括存储在其上用来在第一列举过程期间对主机处理系统隐藏设备和设备功能中的至少一个的机器可读指令。
37.根据权利要求35所述的物品,其中存储媒介还包括存储在其上用于配置设备和设备功能中的至少一个以便在数据总线上要求总线事务请求的逻辑电路,所述总线事务请求是独立于主机处理系统启动的。
38.根据权利要求37所述的物品,其中存储媒介还包括存储在其上用来在与设备和设备功能中的至少一个相关联的配置标题中设置一个或多个基址寄存器的机器可读指令。
39.一种方法,包括响应由主机处理系统控制的第一列举过程而请求从主机处理系统分配一个或多个存储器地址范围;和启动第二列举过程以便配置与I/O处理器通信的设备和设备功能中的至少一个,该第二列举过程包括从所请求的一个或多个存储器地址范围中向设备和设备功能中的至少一个分配存储器地址范围。
全文摘要
本发明公开了一种配置用于要求总线事务的设备和设备功能的系统和方法。主机处理系统可以执行列举过程来配置连接到数据总线的一个或多个设备。在列举过程中,对主机处理系统隐藏设备和设备功能中的至少一个。被隐藏的设备或者设备功能可以被配置成要求由实体独立于主机处理系统地启动的总线事务请求。
文档编号G06F13/00GK1609831SQ200310119818
公开日2005年4月27日 申请日期2003年10月24日 优先权日2003年10月24日
发明者M·A·施米索伊尔, M·A·戈德施密德特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1