PCI EXPRESS链路中的队列共享和重配置制造技术

技术编号:6549595 阅读:201 留言:0更新日期:2012-04-11 18:40
在一个实施例中,电子设备包括至少一个处理器、至少一个PCIExpress链路、虚拟信道/子链路流量控制模块和存储器模块,该存储器模块通信地连接到所述一个或多个处理器并包括逻辑指令,该逻辑指令当在所示一个或多个处理器上执行时将所述一个或多个处理器配置为在电气设备中确定虚拟信道/子链路是否是不活动的,并且响应于确定至少一个虚拟信道/子链路是不活动的,将队列空间从所述至少一个不活动信道重新分配给至少一个活动信道。

【技术实现步骤摘要】
【国外来华专利技术】PCI EXPRESS链路中的队列共享和重配置
技术介绍
在许多计算机环境中,可能期望快速且灵活的互连系统以提供到能够实现高水平 的数据吞吐量的设备的连接性。在计算环境中的设备之间的数据传输领域中,可以使用PCI Express (PCI-E,高速PCI)来提供主机与一个或多个客户端设备或端点之间的连接性。诸如PCI Express的许多高速链路支持用于多个业务类别的多个虚拟信道和“胖” 链路到多个子链路的多个划分以支持多个终端设备。如果虚拟信道或子链路不是活动的, 则与不活动信道相关联的存储器也未使用。附图说明图1是举例说明根据实施例的实现虚拟信道/子链路流量控制模块的操作的流程 图。图2是根据实施例的适合于合并虚拟信道/子链路流量控制模块的计算系统的示 意图。图3是根据实施例的适合于合并虚拟信道/子链路流量控制模块的电子设备的示 意图。图4是根据实施例的PCI-Express连接的示意性表示。图5是其中可以实现点到点链路中的队列共享和重配置的一个实施例的示意图。 具体实施例方式通常,诸如PCI Express的许多高速链路支持用于多个业务类别的多个虚拟信道。 每个业务类型可能要求其自己的资源以用于每种事务,诸如但不限于邮递型(Posted)/ 无邮递型(none-posted) /完成(completion)、非邮递型(Non-Posted) /无邮递型/完成、 和完成。传统上,PCI Express设备可以具有用于每种业务类型和每个虚拟信道的单独和 固定队列。如果虚拟信道/子链路不是活动的,则未使用的队列可能被浪费。本文所述的 是重配置存储器队列并将其从不活动信道重新分配给活动信道以优化PCI Express链路上 的性能的方法和装置。图1是举例说明根据实施例的实现虚拟信道/子链路流量控制模块的操作的流程 图。参考图1,在操作105处,分配虚拟信道/子链路流量控制信用(credit)。在某些实施 例中,在虚拟信道/子链路流量控制寄存器中引用这些虚拟信道/子链路流量控制信用。在 某些实施例中,分配可以作为上电自检(POST)的一部分发生。在某些实施例中,可以将具 有指示队列大小的数字的非零值用于活动信道,而可以将零用于不活动信道。在计算机系统、电子设备等的使用期间,虚拟信道/子链路流量控制模块可以将 队列空间从不活动信道重新分配给活动信道。在操作110处,对虚拟信道/子链路流量控 制寄存器进行初始化。在操作115处,读取虚拟信道/子链路流量控制信用寄存器以确定 虚拟信道的状态。如果在操作120处,所有虚拟信道都在使用中,则在操作125处用于虚 拟信道的队列配置可以保持处于默认状态,并且可以在操作140处通过虚拟信道跨越PCIExpress链路来传送数据。相反,如果在操作120处确定至少一个虚拟信道/子链路是不活动的,则在操作 130处,可以将分配给不活动信道的存储器队列重新分配给活动信道。在操作中,可以以任 何数量的方式来重新分配不活动存储器队列。该重新分配不需要在活动信道之间是相等 的。在操作135处,可以将偏移信息写入虚拟信道/子链路的邮递型/无邮递型/完 成数据基本地址寄存器。在操作140处,可以通过虚拟信道跨越PCI Express链路来传送 数据。最后,在操作145处,根据虚拟信道/子链路的邮递型/无邮递型/完成数据基本地 址寄存器中的重配置的偏移信息传送数据。图2是根据实施例的适合于包括虚拟信道/子链路流量控制模块的计算系统200 的示意图。计算系统200包括计算引擎208和可能的一个或多个附随的输入/输出设备 206,包括但不限于具有屏幕204的显示器202、键盘210和(一个或多个)其它I/O设备212。 作为示例而不是限制,所述(一个或多个)其它设备212可以包括触摸屏、语音启动的输入设 备、跟踪球、鼠标和允许系统200从开发者和/或用户接收输入的任何其它设备。计算引擎208包括一般在母板和至少一个辅助电路板上实现的系统硬件220。系 统硬件220包括处理器222和基本输入/输出系统(BIOS) 226。BI0S226可以在闪速存储 器中实现且可以包括逻辑操作以引导计算机设备和上电自检(POST)模块来执行系统初始 化和测试。在操作中,当计算系统200的启动开始时,处理器222访问BIOS 2 并将诸如 上电自检模块的BIOS 2 的指令影子复制(shadow)到操作存储器中。处理器222然后执 行上电自检操作以实现POST处理。计算系统200还包括通信地连接到计算引擎208的文件储存器观0。文件储存器 280可以在内部,诸如例如一个或多个硬盘驱动器,或者在外部,诸如例如一个或多个外部 硬盘驱动器、网络附接存储器或单独的存储网络。在某些实施例中,文件储存器280可以包 括一个或多个分区沘2、沘4、沘6。存储器230包括用于管理计算引擎208的操作的操作系统M0。在一个实施例中, 操作系统240包括提供到系统硬件220的接口的硬件抽象层254。另外,操作系统240包括 内核M4、管理在计算引擎208的操作中使用的文件的一个或多个文件系统246和管理在计 算引擎208上执行的过程的过程控制子系统M8。操作系统240还包括一个或多个设备驱 动器250和提供操作系统240与一个或多个应用模块262和/或库264之间的接口的系统 调用接口模块M2。各种设备驱动器250与安装在计算系统200中的硬件对接并通常控制 该硬件。在操作中,在计算引擎208上执行的一个或多个应用模块262和/或库264调用系 统调用接口模块对2以在计算机的处理器上执行一个或多个命令。系统调用接口模块M2 激活(invoke)文件系统246的服务以管理(一个或多个)命令所要求的文件并且激活过程 控制子系统M8以管理(一个或多个)命令所要求的过程。(一个或多个)文件系统246和 (一个或多个)过程控制子系统248又激活硬件抽象层254的服务以与系统硬件220对接。 操作系统内核244通常可以被视为负责执行许多操作系统功能的一个或多个软件模块。操作系统MO的特定实施例对于本文所述的主题而言不是关键的。操作系统 240可以例如被实施为UNIX操作系统或其任何衍生物(例如Linux、Solaris等)或实施为5Windows 品牌的操作系统或另一操作系统。在某些实施例中,计算系统200包括至少一个虚拟信道/子链路流量控制模块 228366,其可以包括操作逻辑且可以包括或激活能够与至少一个远程设备或组件通信的 硬件。在图2所描绘的实施例中,BIOS 2 包括虚拟信道/子链路流量控制模块2 且系 统存储器230包括虚拟信道/子链路流量控制模块沈6。虚拟信道/子链路流量控制模块228、266可以确定η个虚拟信道中的每一个是活 动的还是不活动的,并且可以将该信息写入虚拟信道/子链路流量控制信用寄存器。然后, 虚拟信道/子链路流量控制模块228、266可以读取虚拟信道/子链路流量控制信用寄存器 以确定任何虚拟信道是否是不活动的且可以将存储器230中的存储器队列空间从不活动 信道重新分配给活动信道。在重配置队列之后,虚拟信道/子链路流量控制模块228466 可以将信道的队列区域的新存储器偏移写入其虚拟信道/子链路的邮递型/无邮本文档来自技高网...

【技术保护点】
1. 一种用于点到点链路中的虚拟信道之间的队列共享的方法,包括:在电气设备中确定虚拟信道/子链路是否是不活动的;以及响应于确定至少一个虚拟信道/子链路是不活动的,将队列空间从所述至少一个不活动信道重新分配给至少一个活动信道。

【技术特征摘要】
【国外来华专利技术】1.一种用于点到点链路中的虚拟信道之间的队列共享的方法,包括在电气设备中确定虚拟信道/子链路是否是不活动的;以及响应于确定至少一个虚拟信道/子链路是不活动的,将队列空间从所述至少一个不活 动信道重新分配给至少一个活动信道。2.权利要求1的方法,还包括对点到点链路上的至少一个虚拟信道/子链路进行初始 化,其中,对点到点链路上的至少一个虚拟信道/子链路进行初始化包括将用于所述至少 一个虚拟信道/子链路上的至少一个业务类型的许多流量控制信用写入虚拟信道/子链路 流量控制信用寄存器。3.权利要求2的方法,其中,对所述虚拟信道/子链路进行初始化包括对于不活动虚拟信道,将零值写入虚拟信道/子链路流量控制信用寄存器;以及对于活动虚拟信道,将非零值写入虚拟流量控制信用寄存器。4.权利要求3的方法,其中,对于活动虚拟信道将非零值写入虚拟流量控制信用寄存 器包括写入与用于活动虚拟信道的队列空间的大小相对应的值。5.权利要求1的方法,其中在电气设备中确定虚拟信道/子链路是否是不活动的包括启动虚拟信道/子链路流量控制模块;以及读取用于虚拟信道的流量控制信用寄存器。6.权利要求1的方法,其中,将队列空间从所述至少一个不活动信道重新分配给至少 一个活动信道包括将所有队列空间从所述至少一个不活动信道重新分配给所述至少一个 活动信道。7.权利要求1的方法,其中,将队列空间从所述至少一个不活动信道重新分配给至少 一个活动信道包括将队列空间的第一部分从所述至少一个不活动信道重新分配给第一活 动信道并将队列空间的第二部分从所述至少一个不活动信道重新分配给第二活动信道。8.权利要求1的方法,还包括在电气设备中将虚拟信道的队列区域的偏移信息写入虚拟信道/子链路邮递型/无邮 递型/完成数据基本地址寄存器中以跨越已知数目的虚拟信道传送数据;以及在电气设备中跨越所述已知数目的虚拟信道来传送数据。9.权利要求8的方法,其中,通过PCIExpress链路来传送数据。10.权利要求2的方法,其中,将用于所述至少一个虚拟信道/子链路上的至少一个业 务类型的许多流量控制信用写入虚拟信道/子链路流量控制信用寄存器包括针对八个可 能虚拟信道中的每一个为业务类型分配六个寄存器,称为虚拟信道/子链路流量控制信用 寄存器。11.权利要求10的方法,其中,用于业务类型的六个寄存器包括三个业务类型,这三 个业务类型中的每一个使用两个寄存器,包括用于报头的一个寄存器和用于数据的一个寄 存器。12.一种包括存储在计算机可读介质上的逻辑指令的计算机程序产品,所述逻辑指令 在被计算机处理器执行时将所述处理器配置为在电气设备中确定虚拟信道/子链路是否是不活动的;以及响应于确定至少一个虚拟信道/...

【专利技术属性】
技术研发人员:H·V·诺尔登
申请(专利权)人:惠普开发有限公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1