CN102112969A - Pci express链路中的队列共享和重配置 - Google Patents

Pci express链路中的队列共享和重配置 Download PDF

Info

Publication number
CN102112969A
CN102112969A CN2008801306498A CN200880130649A CN102112969A CN 102112969 A CN102112969 A CN 102112969A CN 2008801306498 A CN2008801306498 A CN 2008801306498A CN 200880130649 A CN200880130649 A CN 200880130649A CN 102112969 A CN102112969 A CN 102112969A
Authority
CN
China
Prior art keywords
sublink
pseudo channel
channel
pseudo
flow control
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.)
Pending
Application number
CN2008801306498A
Other languages
English (en)
Inventor
H·V·诺尔登
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102112969A publication Critical patent/CN102112969A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

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处通过虚拟信道跨越PCI Express链路来传送数据。
相反,如果在操作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。BIOS226可以在闪速存储器中实现且可以包括逻辑操作以引导计算机设备和上电自检(POST)模块来执行系统初始化和测试。在操作中,当计算系统200的启动开始时,处理器222访问BIOS 226并将诸如上电自检模块的BIOS 226的指令影子复制(shadow)到操作存储器中。处理器222然后执行上电自检操作以实现POST处理。
计算系统200还包括通信地连接到计算引擎208的文件储存器280。文件储存器280可以在内部,诸如例如一个或多个硬盘驱动器,或者在外部,诸如例如一个或多个外部硬盘驱动器、网络附接存储器或单独的存储网络。在某些实施例中,文件储存器280可以包括一个或多个分区282、284、286。
存储器230包括用于管理计算引擎208的操作的操作系统240。在一个实施例中,操作系统240包括提供到系统硬件220的接口的硬件抽象层254。另外,操作系统240包括内核244、管理在计算引擎208的操作中使用的文件的一个或多个文件系统246和管理在计算引擎208上执行的过程的过程控制子系统248。操作系统240还包括一个或多个设备驱动器250和提供操作系统240与一个或多个应用模块262和/或库264之间的接口的系统调用接口模块242。各种设备驱动器250与安装在计算系统200中的硬件对接并通常控制该硬件。
在操作中,在计算引擎208上执行的一个或多个应用模块262和/或库264调用系统调用接口模块242以在计算机的处理器上执行一个或多个命令。系统调用接口模块242激活(invoke)文件系统246的服务以管理(一个或多个)命令所要求的文件并且激活过程控制子系统248以管理(一个或多个)命令所要求的过程。(一个或多个)文件系统246和(一个或多个)过程控制子系统248又激活硬件抽象层254的服务以与系统硬件220对接。操作系统内核244通常可以被视为负责执行许多操作系统功能的一个或多个软件模块。
操作系统240的特定实施例对于本文所述的主题而言不是关键的。操作系统240可以例如被实施为UNIX操作系统或其任何衍生物(例如Linux、Solaris等)或实施为Windows®品牌的操作系统或另一操作系统。
在某些实施例中,计算系统200包括至少一个虚拟信道/子链路流量控制模块228、266,其可以包括操作逻辑且可以包括或激活能够与至少一个远程设备或组件通信的硬件。在图2所描绘的实施例中,BIOS 226包括虚拟信道/子链路流量控制模块228且系统存储器230包括虚拟信道/子链路流量控制模块266。
虚拟信道/子链路流量控制模块228、266可以确定n个虚拟信道中的每一个是活动的还是不活动的,并且可以将该信息写入虚拟信道/子链路流量控制信用寄存器。然后,虚拟信道/子链路流量控制模块228、266可以读取虚拟信道/子链路流量控制信用寄存器以确定任何虚拟信道是否是不活动的且可以将存储器230中的存储器队列空间从不活动信道重新分配给活动信道。在重配置队列之后,虚拟信道/子链路流量控制模块228、266可以将信道的队列区域的新存储器偏移写入其虚拟信道/子链路的邮递型/无邮递型/完成基本地址寄存器中。下面将参考图3和4来更详细地讨论虚拟信道/子链路流量控制模块228、266实现的操作。
图3是根据实施例的适合于合并虚拟信道/子链路流量控制模块的电子设备300的示意图。参考图3,除其它组件之外,电子设备300可以包括至少一个PCI Express设备310、至少一个处理器345、至少一个存储器模块350和虚拟信道/子链路流量控制模块355。在某些实施例中,存储器350可以为在接收到数据之后或在传输之前要排队的数据提供存储位置。在某些实施例中,为了优化性能,可以使用四/八端口RAM存储器以便允许所有信道并发地且独立地访问其存储器/队列的区域。
PCI Express设备310可以包括至少一个虚拟信道/子链路315a、315b、315c和315n以进行跨越PCI Express链路的数据通信。如图3所描绘的,n个虚拟信道被表示为虚拟信道/子链路1、虚拟信道/子链路2至虚拟信道/子链路n。在某些实施例中,每个虚拟信道/子链路可以包括数目n个业务类型。此外,每个业务类型可以包括报头信息320a、320b、320n和数据325a、325b、325n。
在某些实施例中,可以对虚拟信道/子链路流量控制模块355进行初始化以分析虚拟信道315a、315b、315c和315n。虚拟信道/子链路流量控制模块355对于每个虚拟信道/子链路确定每种业务类型的流量控制信用并将流量控制信用写入虚拟信道/子链路流量控制信用寄存器330。作为示例而非限制,不活动信道可以具有零的值,而活动信道可以具有非零值,所述非零值具有指示活动信道的队列的大小的数字。
在某些实施例中,虚拟信道/子链路流量控制模块330可以读取虚拟信道/子链路流量控制信用寄存器330以确定是否存在不活动信道,并随后将存储器队列从不活动虚拟信道315a、315b、315c和315n重新分配给活动虚拟信道315a、315b、315c和315n。在某些实施例中,在重配置队列之后,虚拟信道/子链路流量控制模块330可以将信道的队列区域的偏移写入其虚拟信道/子链路邮递型/无邮递型/完成基本地址寄存器340。
在操作中,电子设备300中的PCI Express设备310可以能够支持在图3中用参考标号315a、315b、315c和315n表示的许多(n个)虚拟信道。虚拟信道/子链路流量控制模块355可以确定n个虚拟信道中的每一个是活动的还是不活动的,并将该信息写入虚拟信道/子链路流量控制信用寄存器330。在图5中示出其中可以放置虚拟信道/子链路流量控制信用的类型0配置空间报头的示例。虚拟信道/子链路流量控制模块355然后读取虚拟信道/子链路流量控制信用寄存器330以确定任何虚拟信道是否是不活动的并将存储器350中的队列空间从不活动信道重新分配给活动信道。在重配置队列之后,虚拟信道/子链路流量控制模块355将信道的队列区域的偏移写入其虚拟信道/子链路邮递型/无邮递型/完成基本地址寄存器340中。在图5中示出其中可以放置虚拟信道/子链路邮递型/无邮递型/完成基本地址寄存器的类型0配置空间报头的示例。
作为示例且非限制,PCI Express设备可以具有八个虚拟信道,每个信道具有为其分配的六个寄存器。该六个寄存器可以在三个业务类型之间划分,每个业务类型具有用于报头信息的寄存器和用于数据的寄存器。
图4是根据实施例的PCI-Express连接的示意性表示。图4所示的组件仅仅是示例,并且并不意图暗示对本发明的功能的范围的任何限制;本发明不必取决于图4所示的特征。
参考图4,现在将描述由PCI-Express提供的基本点到点通信信道。可以将由两个端口和连接那些端口的通道组成的组件集合称为链路。链路表示两个组件之间的双单工通信信道。如图4所示,以简化的形式,链路410可以包括组件412和414,每个包括相应的发射和接收PCI设备对413和415。两个单向、低压、差动驱动的信道416a、416b、416n和418a、418b、418n连接组件的每个端口,每个方向上一个信道。可以将该信道对称为通道。信道416a、416b、416n和418a、418b、418n可以在组件之间载送分组417a、417b、417n和419a、419b、419n。在某些实施方式中,每个通道沿着每个方向提供每通道每秒2.5吉比特的有效数据传输速率。对于其中此数据带宽不足的情况而言,为了缩放带宽,链路可以聚集多个通道,由×N表示,其中N可以是任何支持的链路宽度。×8链路表示每个方向上每秒20吉比特的原始带宽的聚集带宽。此基本规范1.0描述了用于×1、×2、×4、×8、×12、×16和×32通道宽度的操作。在某些实施方式中,可以仅允许对称的链路,使得链路在每个方向上包括相同数目的通道。
可以跨越PCI-Express链路来传送各种类别的数据。作为示例而非限制,可以根据需要,依据下文所讨论的外出机制和规则,将事务层分组(TLP)从一个链路传送到另一个链路。在PCI Express请求者与完成者(completer)之间执行事务时,使用四个单独的地址空间:存储器、IO、配置和消息。可以使用分离事务请求和完成来实现对PCI Express中的四个地址空间的访问。在PCI Express中,可以由完成者在其具有准备好递送的数据和/或状态时发起请求之后的完成。该完成在时间上与引起该完成的请求分离这一事实还意味着产生两个单独的TLP,其中请求TLP和完成TLP具有独立路由。虽然链路在请求及其后续完成之间的时间中对于其它活动而言是空闲的,但分离事务协议涉及某些附加开销,因为必须生成两个完整的TLP以执行单个事务。
为了减弱请求-完成等待时间的惩罚, PCI Express中的消息和某些写事务是邮递型/无邮递型/完成,意味着发送写请求(包括数据),并且一旦请求被从出口端口发送出去,则从请求者的角度来看事务完成。在PCI Express中,到存储器的写邮递(write posting)被视为可接受的,以换取更高的性能。另一方面,到IO和配置空间的写可以改变设备行为,并且不允许写邮递。将始终发送完成以报告IO或配置写操作的状态。
图5是其中可以实现点到点链路中的队列共享和重配置的一个实施例的示意图。图5所示的组件仅仅是示例,并且不意图暗示对本发明的功能范围的任何限制;本发明不必取决于图5所示的特征。
参考图5,在某些情况下,PCI设备510可以能够支持八个虚拟信道。作为示例而非限制,如果假设PCI设备510使用4KB队列用于邮递型/无邮递型/完成业务,其在全部的八个信道都活动的情况下为每个虚拟信道/子链路提供512个字节。在某些实施例中,当流量控制初始化完成时,PCI设备510可以从虚拟信道/子链路流量控制寄存器515进行读取以确定虚拟信道/子链路流量控制信用520。在所描绘的示例中,PCI设备可以读取用于四个活动虚拟信道的40h(64十进制)的值和用于其余4个不活动信道的零。此后,可以将来自四个不活动信道的队列空间重新分配给四个活动信道,从而允许每个活动信道具有1024字节队列,假设该重新分配在四个活动通道上是均匀的。在重配置队列之后,可以将信道的队列区域的偏移写入虚拟信道/子链路邮递型/无邮递型/完成数据基本地址寄存器(VCPD BAR)625。
如上所述,诸如但不限于邮递型、非邮递型和完成的业务类型被用于PCI Express链路。作为示例而非限制,存储器写请求是邮递型/无邮递型/完成。并不预期或发送完成。配置读和写请求是非邮递型/无邮递型/完成。没有数据的完成(CpI)可以被完成者返回以报告配置空间写操作的状态。具有数据的完成(CpID)可以被完成者与所请求的数据一起返回并报告读操作的状态。
因此,本文所述的是用于在PCI Express链接系统中实现队列共享和队列优化的示例性系统和方法。本文所述的方法可以被实施为计算机可读介质上的逻辑指令。当在处理器上执行时,逻辑指令促使通用计算设备被编程为实现所述方法的专用机器。处理器在被逻辑指令配置为执行本文所述方法时组成用于执行所述方法的结构。
在本说明书中对“一个实施例”或“实施例”的参考意味着结合该实施例所述的特定特征、结构或特性被包括在至少一种实施方式中。短语“在一个实施例中”在本说明书中的各个位置上的出现不一定全部指的是同一实施例。

Claims (20)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/065460 WO2009148432A1 (en) 2008-06-01 2008-06-01 Queue sharing and reconfiguration in pci express links

Publications (1)

Publication Number Publication Date
CN102112969A true CN102112969A (zh) 2011-06-29

Family

ID=41398354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801306498A Pending CN102112969A (zh) 2008-06-01 2008-06-01 Pci express链路中的队列共享和重配置

Country Status (3)

Country Link
US (1) US8612662B2 (zh)
CN (1) CN102112969A (zh)
WO (1) WO2009148432A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539130B2 (en) * 2009-09-24 2013-09-17 Nvidia Corporation Virtual channels for effective packet transfer
JP5966265B2 (ja) * 2011-07-15 2016-08-10 株式会社リコー データ転送装置及び画像形成システム
US9501442B2 (en) 2014-04-30 2016-11-22 Freescale Semiconductor, Inc. Configurable peripheral componenent interconnect express (PCIe) controller
KR102320044B1 (ko) 2014-10-02 2021-11-01 삼성전자주식회사 Pci 장치, 이를 포함하는 인터페이스 시스템, 및 컴퓨팅 시스템

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1041491A2 (en) * 1999-03-29 2000-10-04 Sun Microsystems, Inc. Method and apparatus for adding and removing components without powering down the computer system
US20030223416A1 (en) * 2002-05-31 2003-12-04 Edmundo Rojas Apparatus and methods for dynamic reallocation of virtual lane buffer space in an infiniband switch
US20050060445A1 (en) * 2003-09-11 2005-03-17 International Business Machines Corporation Method for implementing dynamic virtual lane buffer reconfiguration
CN1624674A (zh) * 2003-11-06 2005-06-08 戴尔产品公司 Pci express链路的动态重新配置
US6973525B2 (en) * 2002-03-19 2005-12-06 Dell Products L.P. System and method for managing bus numbering
US7028116B2 (en) * 2001-02-08 2006-04-11 Hewlett-Packard Development Company, L.P. Enhancement of transaction order queue
CN1792105A (zh) * 2003-03-17 2006-06-21 Qprs有限公司 用于通用分组无线系统的质量分组无线业务
US20080117931A1 (en) * 2004-05-13 2008-05-22 Beukema Bruce L Dynamic load-based credit distribution

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353867B1 (en) * 2000-01-14 2002-03-05 Insilicon Corporation Virtual component on-chip interface
US7152128B2 (en) * 2001-08-24 2006-12-19 Intel Corporation General input/output architecture, protocol and related methods to manage data integrity
US7218638B2 (en) 2002-05-15 2007-05-15 Broadcom Corporation Switch operation scheduling mechanism with concurrent connection and queue scheduling
US6760793B2 (en) * 2002-07-29 2004-07-06 Isys Technologies, Inc. Transaction credit control for serial I/O systems
US7181578B1 (en) * 2002-09-12 2007-02-20 Copan Systems, Inc. Method and apparatus for efficient scalable storage management
US7194271B2 (en) * 2004-04-12 2007-03-20 Lucent Technologies Inc. Allocation of channels to wireless LANs
US7650443B1 (en) * 2004-07-22 2010-01-19 Unisys Corporation Methods and apparatus for allocating access to a host device buffer
US7694049B2 (en) * 2005-12-28 2010-04-06 Intel Corporation Rate control of flow control updates
US7660917B2 (en) * 2006-03-02 2010-02-09 International Business Machines Corporation System and method of implementing multiple internal virtual channels based on a single external virtual channel
US8270295B2 (en) * 2007-05-21 2012-09-18 International Business Machines Corporation Reassigning virtual lane buffer allocation during initialization to maximize IO performance
US7562168B1 (en) * 2008-05-29 2009-07-14 International Business Machines Corporation Method of optimizing buffer usage of virtual channels of a physical communication link and apparatuses for performing the same

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1041491A2 (en) * 1999-03-29 2000-10-04 Sun Microsystems, Inc. Method and apparatus for adding and removing components without powering down the computer system
US7028116B2 (en) * 2001-02-08 2006-04-11 Hewlett-Packard Development Company, L.P. Enhancement of transaction order queue
US6973525B2 (en) * 2002-03-19 2005-12-06 Dell Products L.P. System and method for managing bus numbering
US20030223416A1 (en) * 2002-05-31 2003-12-04 Edmundo Rojas Apparatus and methods for dynamic reallocation of virtual lane buffer space in an infiniband switch
CN1792105A (zh) * 2003-03-17 2006-06-21 Qprs有限公司 用于通用分组无线系统的质量分组无线业务
US20050060445A1 (en) * 2003-09-11 2005-03-17 International Business Machines Corporation Method for implementing dynamic virtual lane buffer reconfiguration
CN1624674A (zh) * 2003-11-06 2005-06-08 戴尔产品公司 Pci express链路的动态重新配置
US20080117931A1 (en) * 2004-05-13 2008-05-22 Beukema Bruce L Dynamic load-based credit distribution

Also Published As

Publication number Publication date
WO2009148432A1 (en) 2009-12-10
US8612662B2 (en) 2013-12-17
US20110087820A1 (en) 2011-04-14

Similar Documents

Publication Publication Date Title
US7424564B2 (en) PCI—express slot for coupling plural devices to a host system
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
CN106104500B (zh) 存储数据的方法和设备
US7415551B2 (en) Multi-host virtual bridge input-output resource switch
US7290066B2 (en) Methods and structure for improved transfer rate performance in a SAS wide port environment
US6874042B2 (en) System and method for using a switch to route peripheral and graphics data on an interconnect
US7548994B2 (en) Disk initiated asynchronous event notification in an information handling system
US7913010B2 (en) Network on chip with a low latency, high bandwidth application messaging interconnect
US10261698B2 (en) Systems and methods for hardware-based raid acceleration for variable-length and out-of-order transactions
US8990451B2 (en) Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller
US10853289B2 (en) System, apparatus and method for hardware-based bi-directional communication via reliable high performance half-duplex link
EP4016309A1 (en) System, apparatus and method for handling multi-protocol traffic in data link layer circuitry
CN112698909A (zh) 用于经由虚拟总线编码传送遥测信息的系统、装置和方法
US10096078B2 (en) Multi GPU interconnect techniques
CN102112969A (zh) Pci express链路中的队列共享和重配置
US20030065842A1 (en) Priority transaction support on the PCI-X bus
US10261699B2 (en) Systems and methods for hardware-based RAID acceleration
US9053092B2 (en) System authorizing direct data transfers between memories of several components of that system
CN104123173A (zh) 一种实现虚拟机间通信的方法及装置
Shim et al. Design and implementation of initial OpenSHMEM on PCIe NTB based cloud computing
US6728801B2 (en) Method and apparatus for period promotion avoidance for hubs
US7660926B2 (en) Apparatus and method for a core for implementing a communications port
US8527745B2 (en) Input/output device including a host interface for processing function level reset requests and updating a timer value corresponding to a time until application hardware registers associated with the function level reset requests are available
EP3111334B1 (en) Computing system control

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110629