实施例包括用于为外围组件互连(PCI)设备保留存储空间的方法、装置和系统。一个实施例包括确定通过PCI交换机或PCI桥连接到主机计算机的外围设备并且然后将虚拟设备呈现为连接到PCI交换机或PCI桥的方法。为虚拟设备保留总线编号和存储器并且将其分配给热插入到主机计算机的PCI设备。
【技术实现步骤摘要】
【国外来华专利技术】为PCI设备保留PCI存储空间
技术介绍
外围组件互连或PCI标准定义了用于将外围设备附接到母板的计算机总线。该 PCI规范描述了所述总线的物理属性、电气特性、总线时序、通信协议等等。PCI特别兴趣小 组(PCI-SIG)维护和管理用于各种PCI架构的规范。当计算机最初启动时,PCI枚举(enumeration)时间段开始。在这个时间期间,计 算机中的PCI枚举软件编制所有安装的外围设备和它们的存储空间需求的列表。换言之, 该计算机确定哪些外围设备被连接到PCI总线。该软件然后创建为所有安装的设备分派空 间的存储器分配图(memory map)。所创建的存储器分配图可以被紧密装填,而没有包含用于将来任何设备的孔。而 且,PCI总线编号可能不会为在枚举完成之后连接的设备留下PCI总线。对于可以接受热 插拔设备的系统,这产生了一个问题。特别地,改变存储器分配图和PCI总线编号以包含用 于在枚举之后热插入的设备的空间可能是有问题的。一些计算机系统要求在设备被热插入 之后主机重新枚举该系统。附图说明图1是根据示范性实施例的用于为虚拟PCI设备保留PCI总线编号和存储空间并 将其发给(issue)所述虚拟PCI设备的计算机系统的框图。图2是根据示范性实施例的用于为虚拟PCI设备保留PCI总线编号和存储空间的 流程图。图3是根据示范性实施例的用于把保留的PCI总线编号和存储空间发给热插入的 PCI设备的流程图。具体实施例方式示范性实施例针对用于为PCI设备保留PCI存储空间的方法、系统和装置。在一 个实施例中,为在计算机启动并且PCI枚举发生之后热插入的PCI设备保留存储空间。在一个示范性实施例中,具有热插拔能力但没有任何连接设备的下游桥将在它们 后面的总线上呈现(present)虚拟设备。这些虚拟设备代表稍后可被安装的设备请求“虚 设的(dummy)”存储器。一旦设备已被热插入,则下游桥不再呈现虚拟设备。然后,虚拟设 备最初所请求的“虚设的”存储空间变得可用于分配给热插入的设备。而且,分配给虚拟设 备的PCI总线变得可用于热插入设备。在一个实施例中,当主机初始引导时,主机看到或检测到物理设备,所述物理设备 被主机与该设备之间的桥描绘为虚拟设备。主机还看到虚设的虚拟设备,其仅仅是由桥所 创建的占位符以用于稍后当描绘为虚拟设备的物理设备被热插入到该桥之时。新设备的物 理附接不必连接到桥。图1是根据示范性实施例的用于为虚拟PCI设备保留PCI总线编号和存储空间并 将其发给虚拟PCI设备的计算机系统100的框图。为了图示说明,显示使用高速(Express)4PCI架构的计算机系统,但是示范性实施例不限于任何特定类型的PCI架构。图1示出包括根复合体(root complex)、多个端点(例如,输入/输出(I/O)设 备)、交换机和高速PCI到PCI/PCI-X桥的单个结构实例或层级,所有这些经由高速PCI 总线或链路互连。具体而言,根节点、计算节点或主机计算机110通过一个或多个交换机 130(为了图示方便起见示出一个交换机)连接到多个高速PCI端点120。根节点通过高速 PCI总线或链路160连接到多种设备(比如端点或端节点、桥、交换机等等)。在一个实施 例中,一个或多个高速PCI端点120物理地连接到交换机130。在其他实施例中,一个或多 个高速PCI端点120与交换机130分离。换言之,端点120不是物理地连接到端口 170B而 是分离的。根节点110包括通过主总线155耦合的CPU 140、存储器145和根复合体150。根 复合体150通过各种高速PCI总线160连接到各种虚拟高速PCI端点125、高速PCI到PCI/ PCI-X桥165和交换机130。PCI/PCI-X桥165提供高速PCI结构与PCI/PCI-X层级之间的 连接。根复合体(RC) 150表示将CPU/存储器子系统连接到I/O设备的I/O层级的根。该 根复合体可以支持一个或多个端口。每个接口定义单独的层级域,并且每个层级域包括单个端点或子层级,所述子层 级包含一个或多个交换机组件和端点。通过根复合体在层级域之间路由对等(P2P)事务 (transaction)的能力是可选的并且是实现方式有关的。例如,一种实现方式可以包括位于 根复合体内部的真实的或虚拟的交换机,从而以软件透明的方式实现完全的对等(P2P)支持。根复合体150可以运行或支持下列一个或多个支持作为请求者产生配置请求, 支持作为请求者产生I/O请求和支持作为请求者产生锁定请求。所述端点包括虚拟端点和实际或物理端点二者。物理或实际端点是可以为代表其 自身或代表不同的非PCI设备(不同于PCI设备或主CPU)的PCI事务的请求者或完成者 的设备或设备集,所述非PCI设备例如高速PCI附接的图形控制器、高速PCI-USB主控制器 等或其他I/O设备(比如盘驱动器)。相比之下,虚拟端点表示实际上和物理上不存在和/ 或没有连接到计算机系统的设备。因此,主机110检测到或相信物理设备连接到计算机系 统中的槽/端口,但是实际上并不真正存在物理设备。如图所示,交换机130包括多个端口 170和多个虚拟PCI-PCI桥175。为了说明的 目的,交换机130被示出为具有一个上游端口 170A和三个下游端口 170B。交换机通过PC I链路160连接一个或多个物理端点120和虚拟端点125。所述交换机遵循一个或多个下列规则对于配置软件,交换机表现为两个或更多 逻辑PCI到PCI桥,交换机使用PCI桥机构转发事务(如基于地址的路由),以及交换机在 端口的集合之间转发各种类型的事务层分组。在一个实施例中,每个高速PCI链路160通过虚拟PCI到PCI桥结构被映射并且具 有与其相关联的逻辑PCI总线。虚拟PCI到PCI桥结构可以是高速PCI根复合体端口、交换 机上游端口或交换机下游端口的一部分。根端口是从高速PCI根复合体发起(originate) 高速PCI层级域的虚拟PCI到PCI桥结构。设备被映射到配置空间中,使得每个设备将响 应于特定的设备号。在一个实施例中,当主机110初始引导时,主机看到或检测到物理设备,所述物理 设备被该主机与该设备之间的桥或交换机(即,交换机130)描绘为虚拟设备(即,虚拟高 速PCI端点125)。主机还将虚拟高速PCI端点125看作物理连接的设备。然而,这些设备 实际上是虚设的(dummy)虚拟设备,其仅仅是由交换机130创建的占位符以用于稍后当描 绘为虚拟设备的物理设备被热插入到桥之时。图2是根据示范性实施例的用于为虚拟PCI设备保留PCI总线编号和存储空间的 流程图。根据方框200,主机计算机或根节点加电。例如,开启或重启主机。根据方框210,主机执行PCI枚举。在计算机启动之后,PCI枚举时间段开始。在 该时间期间,计算机中的PCI枚举软件编制所有安装的外围设备和它们的存储空间需求的 列表。换言之,计算机确定哪些外围设备实际上或物理上连接到PCI总线。在一个实施例中,在将计算机引导到操作系统(OS)之前所述计算机建立地址图。 枚举软件确定所述系统中有多少存储器以及系统中的I/O控制器需要多少地址空间。该图 (通常被称为PCI资源分派图)是地址图,其示出在加电本文档来自技高网...
【技术保护点】
一种方法,包括:建立实际上通过外围组件互连(PCI)交换机或PCI桥连接到主机计算机的外围设备的列表;将虚拟设备呈现为连接到所述PCI交换机或PCI桥;为所述虚拟设备保留总线编号和存储器;以及向热插入到所述主机计算机的PCI设备分配所述总线编号和存储器。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:H布赖恩克曼,D塞普利斯,D马修斯,D赖利,
申请(专利权)人:惠普开发有限公司,
类型:发明
国别省市:US[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。