CN103297330A - 灵活地将终端逻辑集成到各种平台 - Google Patents

灵活地将终端逻辑集成到各种平台 Download PDF

Info

Publication number
CN103297330A
CN103297330A CN2013101409374A CN201310140937A CN103297330A CN 103297330 A CN103297330 A CN 103297330A CN 2013101409374 A CN2013101409374 A CN 2013101409374A CN 201310140937 A CN201310140937 A CN 201310140937A CN 103297330 A CN103297330 A CN 103297330A
Authority
CN
China
Prior art keywords
message
port
integrated equipment
virtual port
coupled
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.)
Granted
Application number
CN2013101409374A
Other languages
English (en)
Other versions
CN103297330B (zh
Inventor
M·克林莱史密斯
M·奈尔
J·默里
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN103297330A publication Critical patent/CN103297330A/zh
Application granted granted Critical
Publication of CN103297330B publication Critical patent/CN103297330B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1845Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Power Sources (AREA)

Abstract

在一个实施例中,本发明涉及具有虚拟端口的集成终端,所述虚拟端口耦合在上游结构和集成设备结构之间,所述集成设备结构包括多功能逻辑,用于处理耦合到集成设备结构的一个或多个知识产权(IP)块的各种功能。集成设备结构具有用于在IP块和上游结构之间传送数据和命令信息的主信道,以及用于在IP块和多功能逻辑之间传送边带信息的边带信道。描述并要求保护了其它实施例。

Description

灵活地将终端逻辑集成到各种平台
本申请是2010年3月31日提交的、申请号为201010158566.9、名称为“灵活地将终端逻辑集成到各种平台”的申请的分案申请。
背景技术
不论是高性能的还是低功率的主流处理器芯片正越来越多地集成额外的功能,例如,图形、显示引擎、安全引擎、PCIeTM端口(即,根据高速外围部件互连(PCI ExpressTM(PCIeTM))规范基本规范版本2.0(2007年1月17号公布)(下文称为PCIeTM规范)的端口)和其它基于PCI-eTM的外围设备。
由于来自服务器、台式机、移动式、嵌入式、超移动式和移动互联网设备部门的不同需求,传统的外围设备集线器产品设计被高度地分割。不同的市场寻求使用单个芯片片上系统(SoC)解决方案,其将处理器核心、存储器控制器中心(MCH)、输入/输出控制器(ICH)和其它分割特定加速元件中的至少一些组合到单个芯片上。但是,由于对标准内部互连来说,将不同的知识产权(IP)块集成到单个管芯上是困难的,因此集聚这些特征的设计出现缓慢。
附图说明
图1是根据本发明的实施例的集成终端和虚拟端口的框图。
图2是根据本发明的一个实施例的集成终端和虚拟端口的框图。
图3是根据本发明的一个实施例的片上系统(SoC)的框图。
图4是根据本发明的实施例的系统的框图。
图5是根据本发明的一个实施例的方法的流程图。
图6是根据本发明的一个实施例的用于处理来自耦合的代理的进入消息的方法的流程图。
具体实施方式
在各种实施例中,PCIeTM终端的接口功能可以在结构逻辑和代理之间划分,以允许跨各种平台有效地重用代理,所述代理例如是知识产权(IP)块或其它逻辑块,用于执行一个或多个功能。如本文所使用的,术语“代理”和“IP块”可以是同义的,用于表示可以适合与其它这种代理一起位于半导体器件内的独立的逻辑,其中,代理可以源于一个或多个提供商。对于一个实现来说,这种代理可以与虚拟下游端口(根端口或交换端口)一起在芯片上实现,所述虚拟下游端口可以是独立的PCIeTM设备、包含多功能(MF)逻辑的集成设备结构(IDF),以及一个或多个代理,它们中的每一个都可以实现一个或多个PCI-eTM功能。这样,一个或多个代理可以被集成到片上PCI-eTM设备中。
虚拟下游端口对软件来说表现为标准PCI-eTM下游端口,但是链路层和物理层被移除并且被替换为与上游部件(例如,处理器)进行通信的主接口以及与IDF进行通信的目标接口。在一个实施例中,虚拟下游端口包括类型1的PCIeTM配置头和相关联的虚拟对等桥逻辑。虚拟端口对于软件表现为“真实”端口,但是缺少链路层和物理层。软件不能分辨这种不同。用于链路和物理寄存器的各种值可以在虚拟端口内被设置,以使得软件认为链路层和物理层是存在的。继而,IDF、MF逻辑和代理对软件来说表现为PCI-eTM终端。软件无法知道终端没有利用标准PCI-eTM链路连接到下游端口,因为呈现了相同的功能和信息。也就是说,虚拟端口和IDF、MF逻辑和代理的组合能够对软件(例如,压缩包装(shrink-wrap)的操作系统(OS))完全透明。此外,该接口是即插即用OS兼容的并且支持各种功能,例如PCI即插即用枚举和PCI排序等。
在一个实施例中,集成设备结构是包含MF逻辑的结构的实现。MF逻辑提供了必要的功能,用于允许被设计符合接口规范的分离的代理能够协同工作并且对软件来说表现为标准的PCI-eTM多功能设备,例如,经由片外(例如,PCIeTM)链路来耦合。该结构提供了流控制、仲裁和排序逻辑。此外,多功能逻辑支持给定标准的各种功能需要。例如,在一个实施例中,MF逻辑可以包括逻辑用于处理设备中的最大有效载荷大小,所述设备支持备选请求者ID解释(ARI)、传统中断、PCI功率管理(PM)消息、非功能特定错误和时延容许报告。
耦合到该IDF的可以是用于实现一个或多个PCI-eTM功能的一个或多个代理。如下文所述,代理可以被直接集成到根组件(root complex)结构或可以被连接到集成设备结构以下。IDF连同代理形成可以被连接到集成虚拟端口(根端口或交换端口)的集成PCIeTM终端。
因此,实施例允许被设计成接口规范的标准代理可以在项目之间重用,或者作为多功能设备内的功能,或者作为根组件集成设备。没有限制代理实现PCI-eTM规范的全部特征集的限制。通过移除链路层和物理层并且将它们替换为结构,消除了对这些层的各种逻辑(例如,循环冗余校验(CRC)和重放缓冲器)的需要。这导致了更低的时延、更低的功耗、更小的设计方案。
通过设计规则来使得能够在代理和结构之间进行逻辑的有效划分,增强了重用。PCIeTM设备通常具有整个设备共有的某种逻辑以及功能所特有的某种逻辑。本发明的实施例定义了关于哪些逻辑位于代理(或一个或多个功能)中,以及哪些逻辑位于结构(或设备专用逻辑)中的划分和实现,以优化跨广泛的各种平台的重用。设计目标的一部分是允许代理被容易地用作设备的一部分,其被集成到各种部件(例如,终端、结构)中,并且可以被集成在根组件之内或根组件之外。因此,某种功能和复杂性被包括在结构中,因为当代理出现在根组件之内时,不需要它们。
现在参照图1,示出了根据本发明的实施例的、连接到可以在单个半导体管芯上形成的虚拟端口的集成终端的框图。如图1所示,集成终端10可以包括IDF30和一个或多个代理50,并且可以被耦合到虚拟端口20,取决于集成终端10所耦合的实体,所述虚拟端口20可以是虚拟根端口或虚拟交换端口。例如,当耦合到根组件结构时,虚拟端口20可以是虚拟根端口,而当耦合到交换结构时,虚拟端口20可以是虚拟交换端口。在各种实施例中,虚拟端口20可以是架构上可见的寄存器空间,并且可以包括一组用于支持即插即用和功能发现的配置寄存器。继而,虚拟端口20耦合到包括多功能逻辑35的IDF30。
继而,IDF30可以耦合到一个或多个代理501-50n。每个这种代理是独立的IP块并且可以用于执行一个或多个功能,例如一个或多个PCI-eTM功能。在各种实施例中,与传统的经由PCI-eTM或其它链路来耦合这种代理不同,可以通过IDF30来实现到虚拟端口20的代理50的集成的(即,在管芯上的)耦合。这样,可以避免对都在虚拟端口20和代理50(并且还有IDF30)处的链路层和物理层的需要。相反,虚拟端口20可以在事务层直接地与IDF30进行通信,并且类似地,IDF30可以在事务层与代理50直接进行通信。注意,由代理50所示例的代理可以是一个或多个不同厂商的不同种类的块。例如,SoC制造商可以将各种代理包括在单个管芯上解决方案中,既包括制造商自己的代理,还包括其它厂商的一个或多个代理,例如用于提供或增强某种功能。
现在参照图2,示出了耦合到虚拟端口的集成终端100的框图。该集成终端可以类似于图1的结构来配置。但是,还呈现了IDF30的更多的细节。更具体地说,如图2中所示,IDF30可以包括多功能逻辑35,其包括多个独立的逻辑(例如)40a-40d,它们可以处理各种功能,以允许在集成终端100中的不同的代理的交互,同时维护与系统软件(例如,操作系统)的可见性。在图2的实施例中,这种逻辑包括寄存器投影(shadow)逻辑40a、功率管理(PM)逻辑40b、传统中断逻辑40c和错误逻辑40d。虽然示出了这些特定的逻辑功能,但是本发明的范围并不限于此,其它逻辑也可以出现在MF逻辑35中。此外,多功能逻辑35包括边带(sideband)终端42,用于经由边带信道62耦合到边带路由器50。
仍然参照图2,IDF30还包括在上游和下游方向的仲裁器(即,仲裁器48a-48b)。这种仲裁器可以例如根据信用流控制和优先级仲裁方案来处理与各种代理进行的通信之间的流控制和仲裁。仲裁器48a和48b可以检查代理50的资源,以确保在队列中存在空间,并且在上游方向,它检查资源并仲裁哪个代理能够访问上游主信道49b。在一个实施例中,仲裁器48a可以用作命令线的交通警察(traffic cop)并且以两个阶段工作。首先,命令被发送到代理以执行目标解码,即向所有代理广播。然后,目标代理响应。由于仲裁器现在知道了目标是哪一个,接下来仲裁器检查其资源可用性,一旦它确定资源是可用的,它就可以发出许可并且实际的命令和数据被提供给目标代理。
可以经由主信道49与代理50发生通信,所述主信道49可以包括分别在下游和上游方向的分离的链路49a和49b。在一个实施例中,主信道49可以具有用于命令和数据信息的不同的线路。如图所示,边带路由器60可以经由给定的边带信道651-653来与每个代理50进行通信。注意,尽管没有在图2中示出,但在代理50之间的对等通信是允许的。虽然在图2的实施例中示出了该特定实现,但是本发明的范围并不限于此。
在集成设备结构的其它实现中,不是耦合到其中所有命令和数据宽度都相同的代理,而是结构可以执行排队和分级(staging),以接受多个时钟控制数据,然后将其加宽,反之亦然。为了便于说明,没有在图2中示出内部排队,虽然实施例可以提供这种排队。此外,虽然在一些实施例中,下游消息可以向所有连接的代理广播,所述代理执行解码以确定命令是否针对给定的代理,但是其它实施例可以在IDF中实现解码。例如,可以存在下游队列以接受来自根端口的事务,然后所述事务被转交给内部解码器以确定想要的目标。
实现一个或多个PCI-eTM功能的代理可以被集成到根组件结构中,在虚拟根端口以下作为集成设备的一部分,或在独立的PCI-eTM终端部件中。为了使得能够在这些不同的系统中重用代理,如上所述,在结构和代理之间划分某个功能。此外,建立关于如何通过IDF发送某些消息的协议。
集成功能是实现一个或多个PCI功能的代理。这些可以是传统PCI功能或符合PCIeTM的功能。支持ARI的集成功能可以在一个代理中实现多达256种功能。一些实施例可以支持单个根IO虚拟化(SR-IOV),在集成功能内启用多达64k种功能。
当连接到根组件结构时,在集成功能内的功能变为根组件集成终端。当连接到交换结构时,集成功能是包括上游交换端口的多功能设备的一部分。当连接到集成设备结构时,集成功能是集成PCIeTM终端的一部分。因此,为了最大化可重用性,集成功能可以被实现以使得它们可以连接到根组件结构、交换结构或集成设备结构。注意,当集成功能用于创建PCIeTM终端时,其它功能可以存在。
仍然参照图2,传统中断逻辑42c可以用于处理可以生成PCI传统中断的代理。实现生成中断的、符合PCI和PCI-eTM的功能的代理是PCI和PCI-eTM规范所需要的,用于支持传统中断。这些传统中断的目的地是输入/输出高级可编程中断控制器(IOxAPIC)。使用消息来虚拟地发送中断线(即,传统中断线(INTx#))。一个Assert INTx#消息指示虚拟INTx#信号的由高到低转变,而DeAssert INTx#消息指示虚拟INTx#信号的由低到高转变。
在各种实施例中,INTx消息可以在主和边带消息接口上发送。为了确保代理的协同工作能力,使用以下规则来传送传统中断。作为INTx消息的发起源的代理(例如,终端或根端口)将使用边带消息来发送它们。包含多于一个共享INTx虚拟线的PCI/PCI-eTM功能的代理在发送使有效/去除有效(assert/de-assert)消息之前将虚拟线一起进行逻辑“或”。包含多于一个不共享INTx虚拟线的PCI/PCI-eTM功能的代理发送具有不同边带源ID的消息,从而允许接收机能够区分INTx消息的源。
传统中断逻辑40c聚集由在结构以下的代理所共享的传统INTx消息。然后,聚集的虚拟INTx线状态被向上游转发到主信道49上。实现PCI-eTM根端口的代理将在瞄准本地IOxAPIC的边带信道上发送传统INTx消息。
PM逻辑42b可以用于支持PCI功率管理(PCI-PM)。以下三个消息可以用于处理功率管理事件,即,功率管理事件消息、以及类似的关闭和关闭确认消息:PME、PME关闭(TO)和PME TO Ack。在一个实施例中,PCI-PM消息包含消息代码以指示消息是否是PME、PME关闭或PME TOAck。消息还包含总线、设备和消息始发者的功能数量。
为了支持实现PCI功率管理功能的代理的协同工作能力,使用以下规则。实现PCI-PM功能的代理在边带消息接口上发送PME消息、接收PME关闭消息并且发送PME TO Ack消息。继而,IDF30提供以下功能。首先,IDF在上游主接口上接收PME关闭消息,并且将其广播到支持PCI-PM(可以如真实的多播或如多个单播消息那样完成)的任何耦合的代理上。此外,IDF通过边带消息接口来接收PME TO Ack消息,聚集所述消息并且在主接口上向上游转发PME TO Ack消息,并且在边带消息接口上接收PME消息并且在主接口上将其向上游转发。实现PCI-eTM根端口的代理在边带消息接口上接收PME关闭消息并且在主信道上将其向下游转发,并且从下游接收PME TO Ack消息(通过虚拟根端口的IDF,通过实际根端口的PCI-eTM链路)并且将PME TO Ack消息转发到边带消息接口上。实现PCI-eTM根组件事件收集器的代理将在边带消息接口上接收PME消息。
错误逻辑40d可以为PCI-eTM错误消息提供支持,其包括以下三个消息:错误校正的(ERR CORR)、错误非重大的(ERR NONFATAL)和错误重大的(ERR FATAL)。为了支持实现这些消息的代理的协同工作能力,在一个实施例中可以使用以下规则。生成PCI-eTM错误消息的代理在边带消息接口上发送错误消息,集成设备结构30在边带消息接口上接收错误消息并且将其在主信道49上向上游转发。实现PCI-eTM根端口的代理或者通过PCI-eTM链路接收错误消息,或者如果被实现为虚拟根端口,则在下游侧主信道上接收错误消息。实现PCI-eTM根组件事件收集器的代理将在边带消息接口上接收错误消息。在其它实现中,这种消息可以在主接口上被发送。
PCI-eTM错误消息包含请求者ID(其可以包括总线编号、设备和功能)和消息代码。PCI-eTM规范指示在终端发生的非功能特定错误被记录在每个功能中,但是对于每个启用的严重性仅发送一个错误消息。例如,如果所有功能被编程为将错误视为重大的,那么仅发送一个重大错误消息,但是如果一些功能被编程为将错误视为重大的并且其它功能被编程为将错误视为非重大的,那么发送一个重大的错误消息和一个非重大的错误消息。以下的错误可以是非功能特定的:不支持的请求(UR),当不是由要求事务层分组(TLP)的功能所引起时;不期望的完成,当不是由要求完成的功能所引起的时;变形的TLP;结束CRC(ECRC)失败;接收机溢出;流控制协议错误。注意,在各种实施例中,最后两个是不适用的。ECRC失败是可选的并且仅在启用ECRC校验时发生。
确定在非功能特定错误中的事务结果是集成设备结构30的错误逻辑40d的责任。当检测到非功能特定错误时,IDF将用非特定错误信号(cmdnfserr)向作为集成设备的一部分的每个下游代理发出写操作(put)。当代理接收到cmd nfserr信号有效的put时,它记录错误但是并不发送任何错误消息,即使其被配置为发送消息。MF逻辑35负责发送合适的错误消息。单个比特带(bit strap)用在集成功能中,以了解它被连接在集成设备结构以下。
MF逻辑35投影集成设备结构以下的每个功能的必要的比特,其指示了针对该错误,功能应当报告哪个严重性错误。在一个实施例中,在错误逻辑40d中可以提供表格以指示需要哪个比特。因此,集成设备结构检测到错误已经发生并且将TLP广播到在集成设备结构以下的所有集成功能。可以利用到所有目标的同时的写操作(put)或顺序的写操作来完成广播。然后,MF逻辑将检查错误配置比特的投影副本(shadow copy)并且将恰当的错误消息向上游发送。
MF逻辑35还可以包括寄存器投影逻辑40a。如果代理中的任何功能实现PCI-eTM ARI功能,那么它们必须全部实现ARI。实现ARI功能的每个集成功能实现专用的最大有效载荷大小寄存器,其与PCI-eTM定义的最大有效载荷大小配置寄存器相分离;所述每个集成功能还实现带输入(strapinput),以指示集成功能是在根组件中还是在根组件外实例化。该寄存器可从边带消息接口访问。当集成功能被跨接以指示其在根组件之外时,具有除了0以外的功能编号的所有功能忽略PCI-eTM规范定义的最大有效载荷大小寄存器,并且使用用于最大有效载荷大小值的专用寄存器。MF逻辑30的寄存器投影逻辑40a负责将功能0的最大有效载荷大小值投影到连接到IDF30的其它代理。在一些实施例中,MF逻辑35可以包括其它功能。在一个实施例中,每个代理可以通过边带信道将时延消息发送到多功能逻辑,所述多功能逻辑聚集消息、采用最坏情况时延编号并且将其发送到虚拟端口以用于向上游报告。
现在参照图3,示出了根据本发明的一个实施例的片上系统(SoC)的框图。如图3所示,SoC200可以是单管芯设备,其包括执行不同功能的各种实体。如图3所示,服务器控制器中心(SCH)210可以向系统控制器(例如中央处理器单元(CPU)或其它主处理实体)提供接口。经由各种设置例如熔丝选择设置,例如由开关S1和S2表示的可熔链路,可以进行控制以允许将不同电路耦合到SCH210。如图所示,开关S1可以允许将虚拟端口220直接耦合到SCH210,所述虚拟端口220可以是虚拟根端口或虚拟交换端口。当S1将虚拟端口220连接到SCH210时,虚拟端口220是根端口。在另一替代配置中,虚拟端口220可以直接地耦合到交换结构(SWF)270。当S1将虚拟端口220连接到SWF270时,虚拟端口220是交换端口。可以控制开关S2以将集成设备结构230耦合到存储控制器单元(SCU)260或禁止这种耦合。
如图3进一步所示,IDF230可以被耦合到接口240,其可以向各种片外设备提供接口,所述片外设备例如SMBUS、非易失性SRAM、串行闪存和以太网。此外,IDF230可以耦合到SCU250,SCU250还可以耦合到各种片外设备,例如磁盘驱动器或SAS网络。此外,在给定的实现中,开关S1可以允许将虚拟端口220直接耦合到交换结构270,该交换结构270继而耦合到一个上游交换端口280,所述交换端口280可以耦合到下游交换端口(未示出),下游交换端口耦合到片外终端。SoC200还可以包括用于测试(DFx)代理290的设计以执行各种用于测试功能的设计。虽然示出了图3的实施例中的该特定实现,但是本发明的范围并不限于此。
还可以在更广泛的系统环境中来实现实施例,例如PCIeTM/PCI系统。现在参照图4,示出了根据本发明的实施例的系统300的框图。如图4所示,系统300可以包括各种结构以将不同类型的功能和设备耦合到上游部件,例如主CPU和存储器组件,其由CPU305表示。虽然显示为单个块,但是应当理解,CPU305可以包括一个或多个CPU和本地存储器,其可以以例如桥或环拓扑来实现。CPU305耦合到根组件结构310。
根组件310可以代表IO分层体系的根,其将CPU305连接到IO子系统。如图所示,各种实体可以被耦合到根组件310,其包括根组件集成终端312a-312n、包括物理根端口314和虚拟根端口330的根端口、以及另一个这种接口313,其在一个实施例中可以是DMI或DMIc接口。在图4的实施例中,这些接口和端口中的一些可以经由跨管芯连接316和345进行片外耦合,而虚拟根端口330可以在片上被集成到集成设备结构335,该集成设备结构335继而耦合到包括一个或多个集成功能341a-341n的集成的PCIeTM终端340。因此,对于在CPU305上执行的软件来说,根端口314和虚拟根端口330都可以表现为被耦合到片外的PCIeTM设备。注意,终端312a-312n和功能341a-341n被设计成同一规则,以使得系统集成者可以在不改变可重用代理的实现的情况下,选择将代理实现为RC集成终端或集成功能。
仍然参照图4,跨管芯连接316可以耦合到另一个接口317,该接口317继而耦合到根组件结构320,一个或多个根组件集成终端322a-322n可以被耦合到所述根组件结构320。
经由跨管芯连接345,PCIeTM多功能设备350可以出现,其还可以经由交换端口352和集成功能354耦合到交换结构360。继而,交换结构360可以耦合到各种下游端口,包括交换端口365和虚拟交换端口368a和368b。这些虚拟交换端口可以耦合到IDF370和375,其中的每一个可以包括耦合到其上的一个或多个PCI终端。在图4中所示的实施例中,PCIeTM终端372可以包括集成功能373,并且PCIeTM终端380可以包括集成功能383a-383n。虽然示出了图4的实施例中的特定实现,但是本发明的范围并不限于此。
现在参照图5,示出了根据本发明的一个实施例的方法的流程图。如图5所示,方法400可以被实现在集成设备结构中以处理来自耦合到它们上的上游连接设备的进入消息。如图5所示,方法400可以用于处理从上游部件(例如,耦合了IDF的虚拟端口)接收的进入消息(框410)。
当在IDF中接收到时,可以是命令的消息可以经由主信道广播到所有下游代理(框420)。然后,IDF可以确定它是否从代理中的一个接收到解码确认(菱形框430)。也就是说,如上所讨论的,将消息向下游传输可以在两个阶段的过程中发生,其中,消息首先被广播到所有代理,代理执行它们自己的目标解码。如果消息并不针对任何下游部件,那么可以生成错误消息并且向上游发送(框435)。
相反,如果从代理中的一个接收到目标确认,那么控制转移到菱形框440,其中,可以确定目标代理是否具有资源来处理消息(菱形框440)。如果是的话,那么控制转移到框450,其中所述消息可以被与向下游传输的其它消息一起来仲裁。然后,在框460,消息可以被发送到目标代理。当然,在其它实施例中可以使用用于处理接收消息的其它机制。例如,如上所讨论的,在一些实现中,地址解码可以发生在结构本身中。
现在参照图6,示出了用于处理来自耦合的代理的进入消息的方法的流程图。如图6所示,方法500可以开始于经由边带信道从一个或多个代理接收边带消息(框510)。例如,进入的边带消息可以被提供给边带终端,其可以是集成设备结构的多功能逻辑的一部分。该终端可以将消息路由到多功能逻辑内的适当的逻辑(框520)。例如,错误消息可以被发送到错误逻辑,功率管理消息可以被发送到功率管理逻辑等。然后,给定的逻辑可以处理接收到的消息(框530)。例如,如上所讨论的,所述逻辑可以执行对多个边带消息的聚合,由此形成适当的聚合消息以向上游传输。然后,如图6所示,聚合消息可以向上游转发,例如经由主信道转发到虚拟端口(框540)。
因此,使用本发明的实施例,可以实现标准的解决方案,从而实现可以被用作根组件集成设备或非根组件集成设备的代理。因此,对跨各种产品的代理的重用可以发生,以使得一个或多个厂商的代理可以被并入到单管芯集成电路中。
注意,实施例提供了在PCI-eTM交换器、交换端口、PCIeTM根端口之下或直接在根组件之下的IP块的相同的集成。相反,根据PCI-eTM规范,不允许交换器将设备集成在内部总线上。(PCI-eTM规范语言:“终端(由类型00h配置空间头表示)对于交换器的内部总线上的配置软件一定不能表现为代表交换器下游端口的虚拟PCI到PCI桥的同位体。”)。但是,如图4所示,IP块可以被集成作为包含交换器上游端口的集成设备的功能。在这种情况下,交换结构360是为与上游交换端口虚拟对等桥的主侧(primary side)和从侧(secondary side)相关联的两个逻辑PCI总线承载业务的单独结构。
实施例还可以完全符合PCI-eTM,从而允许设计用于标准接口的代理能够在根组件内或在集成设备中使用。而且,使用根据本发明的一个实施例的具有多功能逻辑的IDF,提供了处理代理之间的交互的标准方法,从而使得来自不同供应者的代理可以被一起连接到单个多功能设备中。
可以用代码来实现实施例并且可以存储在其上存储了指令的存储介质上,所述指令可以用于对系统进行编程以执行指令。存储介质可以包括但并不限于任何类型的盘,包括软盘、光盘、固态驱动器(SSD)、光盘(CD-ROM)、可重写光盘(CD-RW)和磁光盘,半导体器件,例如只读存储器(ROM)、随机存取存储器(RAM)(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM))、磁或光卡,或适合于存储电子指令的任何其它类型的介质。
虽然参照有限的实施例描述了本发明,但是本领域中的这些技术人员将理解它们的各种变型和改变。本文旨在用所附的权利要求来覆盖落入本发明的实质精神和范围内的所有这种变型和改变。

Claims (24)

1.一种装置,包括:
根组件结构,其耦合到多个集成终端设备和根端口,所述根端口经由片外链路耦合到高速外围部件互连(PCIe)设备,所述根端口和所述PCIe设备中的每一个包括事务层、链路层和物理层;
虚拟根端口,其耦合到所述根组件结构并且具有用于与所述根组件结构连接的主接口和用于与集成设备结构连接的目标接口;以及
所述集成设备结构,其经由片上链路耦合到所述虚拟根端口并且包括多功能逻辑以处理中断、功率管理消息和非功能特定错误消息,所述集成设备结构耦合到至少一个代理并且具有主信道和边带信道,所述主信道用于在所述至少一个代理和所述虚拟根端口之间传送数据和命令信息,所述边带信道用于在所述至少一个代理和所述多功能逻辑之间传送边带信息。
2.根据权利要求1所述的装置,其中,在所述虚拟根端口和所述至少一个代理之间的通信是在没有所述链路层或所述物理层的干预的情况下在所述事务层进行的,并且所述至少一个代理对于在耦合到所述根组件结构的处理器上执行的软件来说可被视为经由片外链路耦合到所述虚拟根端口的PCIe设备。
3.根据权利要求1所述的装置,其中,所述多功能逻辑包括第一逻辑,用于经由边带信道从多个代理接收所述非功能特定错误消息,并且用于生成错误消息以便经由所述主信道传输到所述虚拟根端口。
4.根据权利要求3所述的装置,其中,所述多功能逻辑包括第二逻辑,用于经由所述主信道从所述虚拟根端口接收功率管理消息,并且用于生成下游功率管理消息以经由所述边带信道发送到所述多个代理。
5.根据权利要求4所述的装置,其中,所述多功能逻辑包括第三逻辑,用于从所述多个代理接收时延容许信息,并且将所述时延容许信息聚合到将被发送到所述虚拟根端口的时延消息中。
6.一种装置,包括:
虚拟端口,其耦合在上游结构和集成设备结构之间,所述虚拟端口包括与所述上游结构连接的主接口和与所述集成设备结构连接的目标接口;
所述集成设备结构,其包括用于处理中断、功率管理消息和非功能特定错误消息的多功能逻辑,所述集成设备结构耦合到至少一个知识产权(IP)块并且具有主信道和边带信道,所述主信道用于在所述至少一个IP块和所述虚拟端口之间传送数据和命令信息,所述边带信道用于在所述至少一个IP块和所述多功能逻辑之间传送边带信息;以及
所述至少一个IP块,其用于执行功能,其中,所述虚拟端口、所述集成设备结构和所述IP块适于在单个半导体管芯上。
7.根据权利要求6所述的装置,其中,在没有链路层或物理层的干预的情况下,所述集成设备结构耦合到所述虚拟端口的事务层和所述至少一个IP块的事务层。
8.根据权利要求6所述的装置,其中,所述多功能逻辑包括边带终端,以经由所述边带信道与边带路由器进行通信,所述边带路由器还耦合到所述至少一个IP块。
9.根据权利要求6所述的装置,其中,所述集成设备结构还包括仲裁器,用于对沿着所述主信道从所述虚拟端口到耦合到所述集成设备结构的多个IP块的消息进行仲裁。
10.根据权利要求9所述的装置,其中,所述多功能逻辑包括第一逻辑,用于检测经由所述边带信道来自所述多个IP块的非功能特定错误消息,并且用于生成聚合消息以便经由所述主信道传输到所述虚拟端口。
11.根据权利要求9所述的装置,其中,所述多功能逻辑包括第二逻辑,用于经由所述主信道从所述虚拟端口接收功率管理消息,并且用于生成经由所述边带信道传输到所述多个IP块的下游功率管理消息。
12.根据权利要求9所述的装置,其中,所述多个IP块是不同种类的块,并且其中,所述集成设备结构用于使所述不同种类的块和所述虚拟端口之间的通信标准化。
13.根据权利要求10所述的装置,其中,所述集成设备结构和所述多个IP块对于软件表现为经由PCI链路耦合的单个外围部件互连(PCI)终端。
14.根据权利要求6所述的装置,还包括第一可熔链路和第二可熔链路,所述第一可熔链路用于经由所述虚拟端口将所述集成设备结构耦合到交换结构,其中,当所述第一可熔链路被启用时,所述虚拟端口用作交换端口,所述第二可熔链路用于经由所述虚拟端口将所述集成设备结构耦合到中心代理,其中,当所述第二可熔链路被启用时,所述虚拟端口用作根端口。
15.一种装置,包括:
耦合到虚拟端口的集成设备结构部件,所述集成设备结构部件包括多功能部件以处理针对多个终端设备的第一功能,所述集成设备结构部件耦合到所述多个终端设备并且具有主信道和边带信道,所述主信道用于在所述多个终端设备和所述虚拟端口之间传送数据和命令信息,所述边带信道用于在所述多个终端设备和所述多功能部件之间传送边带信息;其中,所述集成设备结构部件用于经由所述主信道将消息的命令部分广播到耦合到所述集成设备结构部件的所述多个终端设备;从所述多个终端设备中的目标终端设备接收解码确认,以指示所述消息是打算提供给所述目标终端设备的;以及确定所述目标终端设备是否具有可用的资源以处理所述消息,并且如果具有的话,那么将所述消息发送到所述目标终端设备。
16.根据权利要求15所述的装置,其中,所述集成设备结构部件还用于与其它消息一起来仲裁所述消息以便传输到所述多个终端设备。
17.根据权利要求15所述的装置,其中,所述集成设备结构部件用于:如果所述集成设备结构部件没有接收到所述解码确认,那么生成错误消息并且将所述错误消息向上游发送到所述虚拟端口。
18.根据权利要求15所述的装置,其中,在没有链路层或物理层的干预的情况下,所述虚拟端口的事务层耦合到所述目标终端设备的事务层。
19.根据权利要求15所述的装置,其中,所述多功能部件用于从所述终端设备中的至少一些接收多个中断消息,并且将所述中断消息聚合到将被发送到所述虚拟端口的聚合消息中。
20.根据权利要求15所述的装置,其中,集成设备部件用于在所述主信道上检测对功能零大小寄存器的写,并且经由所述边带信道将所述写投影到所述多个终端设备。
21.根据权利要求15所述的装置,其中,在不执行链路层处理或物理层处理的情况下,集成设备部件用于接收来自所述虚拟端口的所述消息并且将所述消息发送到所述目标终端设备。
22.根据权利要求15所述的装置,还包括:经由所述边带信道从所述多个终端设备接收非功能特定错误消息的部件,以及生成错误消息以便经由所述主信道传输到所述虚拟端口的部件。
23.根据权利要求22所述的装置,还包括:经由所述主信道从所述虚拟端口接收功率管理消息的部件,以及经由所述边带信道将下游功率管理消息发送到所述多个终端设备的部件。
24.根据权利要求23所述的装置,还包括:从所述多个终端设备接收时延容许信息的部件,以及将所述时延容许信息聚合到将被发送到所述虚拟端口的时延消息中的部件。
CN201310140937.4A 2009-03-31 2010-03-31 灵活地将终端逻辑集成到各种平台 Active CN103297330B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/415,470 US7873068B2 (en) 2009-03-31 2009-03-31 Flexibly integrating endpoint logic into varied platforms
US12/415,470 2009-03-31
CN2010101585669A CN101873339B (zh) 2009-03-31 2010-03-31 灵活地将终端逻辑集成到各种平台

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2010101585669A Division CN101873339B (zh) 2009-03-31 2010-03-31 灵活地将终端逻辑集成到各种平台

Publications (2)

Publication Number Publication Date
CN103297330A true CN103297330A (zh) 2013-09-11
CN103297330B CN103297330B (zh) 2016-09-28

Family

ID=42784180

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201410078633.4A Active CN103795615B (zh) 2009-03-31 2010-03-05 灵活地将终端逻辑集成到各种平台的装置、方法和系统
CN201080009573.0A Active CN102326362B (zh) 2009-03-31 2010-03-05 灵活地将终端逻辑集成到各种平台的装置、方法和系统
CN2010101585669A Active CN101873339B (zh) 2009-03-31 2010-03-31 灵活地将终端逻辑集成到各种平台
CN201310140937.4A Active CN103297330B (zh) 2009-03-31 2010-03-31 灵活地将终端逻辑集成到各种平台

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201410078633.4A Active CN103795615B (zh) 2009-03-31 2010-03-05 灵活地将终端逻辑集成到各种平台的装置、方法和系统
CN201080009573.0A Active CN102326362B (zh) 2009-03-31 2010-03-05 灵活地将终端逻辑集成到各种平台的装置、方法和系统
CN2010101585669A Active CN101873339B (zh) 2009-03-31 2010-03-31 灵活地将终端逻辑集成到各种平台

Country Status (4)

Country Link
US (5) US7873068B2 (zh)
CN (4) CN103795615B (zh)
DE (1) DE112010001469B4 (zh)
WO (1) WO2010117524A2 (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms
US8170062B2 (en) * 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8196013B2 (en) 2009-10-23 2012-06-05 Plx Technology, Inc. Supporting global input/output interconnect features on ports of a midpoint device
US8395416B2 (en) * 2010-09-21 2013-03-12 Intel Corporation Incorporating an independent logic block in a system-on-a-chip
US9098438B2 (en) * 2010-09-30 2015-08-04 Texas Instruments Incorporated Synchronized voltage scaling and device calibration
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US8930602B2 (en) 2011-08-31 2015-01-06 Intel Corporation Providing adaptive bandwidth allocation for a fixed priority arbiter
US8805926B2 (en) 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US8711875B2 (en) 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US8929373B2 (en) * 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US8713234B2 (en) 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US9100348B2 (en) * 2011-10-03 2015-08-04 Intel Corporation Managing sideband routers in on-die system fabric
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
US9626207B2 (en) 2011-12-16 2017-04-18 International Business Machines Corporation Managing configuration and system operations of a non-shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies
US9411654B2 (en) 2011-12-16 2016-08-09 International Business Machines Corporation Managing configuration and operation of an adapter as a virtual peripheral component interconnect root to expansion read-only memory emulation
US9311127B2 (en) 2011-12-16 2016-04-12 International Business Machines Corporation Managing configuration and system operations of a shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies
US9805221B2 (en) * 2011-12-21 2017-10-31 Intel Corporation Incorporating access control functionality into a system on a chip (SoC)
US9342393B2 (en) 2011-12-30 2016-05-17 Intel Corporation Early fabric error forwarding
US9077624B2 (en) * 2012-03-07 2015-07-07 International Business Machines Corporation Diagnostics in a distributed fabric system
US9436623B2 (en) * 2012-09-20 2016-09-06 Intel Corporation Run-time fabric reconfiguration
US9153867B2 (en) 2012-12-19 2015-10-06 Futurewei Technologies, Inc. Reconfigurable multiband antenna
US9762446B2 (en) 2012-12-28 2017-09-12 Futurewei Technologies Co., Ltd. Methods for dynamic service deployment for virtual/physical multiple device integration
EP2962210A4 (en) * 2013-02-28 2016-11-02 Intel Corp OPERATING A MECHANISM FOR ENUMERATION AND / OR CONFIGURATION OF AN INTERCONNECTION PROTOCOL FOR A DIFFERENT INTERCONNECTION PROTOCOL
US9135200B2 (en) * 2013-06-28 2015-09-15 Futurewei Technologies, Inc. System and method for extended peripheral component interconnect express fabrics
ES2656464T3 (es) * 2013-09-11 2018-02-27 Huawei Technologies Co., Ltd. Procedimiento, sistema informático y aparato de procesamiento de fallo
CN104679694B (zh) * 2013-11-28 2017-11-14 英业达科技有限公司 快捷外设互联标准的选择设定系统及微服务器
US9747245B2 (en) 2014-12-17 2017-08-29 Intel Corporation Method, apparatus and system for integrating devices in a root complex
US9727679B2 (en) 2014-12-20 2017-08-08 Intel Corporation System on chip configuration metadata
US9984017B2 (en) * 2014-12-27 2018-05-29 Intel Corporation Intelligent network fabric to connect multiple computer nodes with one or more SR-IOV devices
US10210120B2 (en) * 2015-03-26 2019-02-19 Intel Corporation Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
US9990327B2 (en) 2015-06-04 2018-06-05 Intel Corporation Providing multiple roots in a semiconductor device
US10157160B2 (en) 2015-06-04 2018-12-18 Intel Corporation Handling a partition reset in a multi-root system
CN106502941A (zh) * 2016-11-25 2017-03-15 北京兆芯电子科技有限公司 输入输出扩展器、计算机系统以及其配置方法
US10255223B2 (en) 2016-12-05 2019-04-09 International Business Machines Corporation Detecting a type of storage adapter connected and miscabling of a microbay housing the storage adapter
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US10365706B2 (en) * 2017-03-03 2019-07-30 Qualcomm Incorporated Asymmetric power states on a communication link
US11100023B2 (en) * 2017-09-28 2021-08-24 Intel Corporation System, apparatus and method for tunneling validated security information
US20190095554A1 (en) * 2017-09-28 2019-03-28 Intel Corporation Root complex integrated endpoint emulation of a discreet pcie endpoint
CN110311843B (zh) * 2018-03-27 2022-06-28 赛灵思公司 基于PCIe链路的通信方法、装置、电子设备、存储介质
US11157431B2 (en) * 2019-06-20 2021-10-26 Intel Corporation System, apparatus and method for multi-die distributed memory mapped input/output support
US11815984B2 (en) 2020-02-07 2023-11-14 Intel Corporation Error handling in an interconnect
US20230051553A1 (en) * 2021-08-12 2023-02-16 Samsung Electronics Co., Ltd. Multi-function flexible computational storage device
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102437A1 (en) * 2003-01-21 2005-05-12 Nextio Inc. Switching apparatus and method for link initialization in a shared I/O environment
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6799278B2 (en) * 2000-12-21 2004-09-28 Dell Products, L.P. System and method for processing power management signals in a peer bus architecture
JP3824548B2 (ja) * 2001-12-20 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、電源制御装置、情報処理装置制御方法、プログラム、及び記録媒体
US6915365B2 (en) * 2002-03-22 2005-07-05 Intel Corporation Mechanism for PCI I/O-initiated configuration cycles
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7778245B2 (en) * 2003-11-10 2010-08-17 Broadcom Corporation Method and apparatus for remapping module identifiers and substituting ports in network devices
US20050132095A1 (en) * 2003-12-10 2005-06-16 Collins David L. Method and apparatus for controlling peripheral devices in a computer system
US7411591B2 (en) * 2003-12-24 2008-08-12 Intel Corporation Graphics memory switch
US7552242B2 (en) * 2004-12-03 2009-06-23 Intel Corporation Integrated circuit having processor and switch capabilities
US7650275B2 (en) * 2005-01-20 2010-01-19 Hewlett-Packard Development Company, L.P. Virtualization of a parition based on addresses of an I/O adapter within an external emulation unit
US7260664B2 (en) * 2005-02-25 2007-08-21 International Business Machines Corporation Interrupt mechanism on an IO adapter that supports virtualization
US7743197B2 (en) * 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US7516263B2 (en) * 2006-02-27 2009-04-07 Emerson Network Power - Embedded Computing, Inc. Re-configurable PCI-Express switching device
US7865654B2 (en) * 2006-02-28 2011-01-04 Emulex Design And Manufacturing Corporation Programmable bridge header structures
JP4810349B2 (ja) * 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
US7814371B2 (en) * 2006-09-27 2010-10-12 Intel Corporation Apparatus and method for point-to-point interconnect testing
US7813366B2 (en) * 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
US7574551B2 (en) * 2007-03-23 2009-08-11 International Business Machines Corporation Operating PCI express resources in a logically partitioned computing system
US7730361B2 (en) * 2007-03-30 2010-06-01 Texas Instruments Incorporated Aggregation of error messaging in multifunction PCI express devices
US20080263248A1 (en) * 2007-04-20 2008-10-23 Harriman David J Multi-drop extension for a communication protocol
US20080301350A1 (en) * 2007-05-31 2008-12-04 Larson Chad J Method for Reassigning Root Complex Resources in a Multi-Root PCI-Express System
US20090063894A1 (en) * 2007-08-29 2009-03-05 Billau Ronald L Autonomic PCI Express Hardware Detection and Failover Mechanism
US20090077297A1 (en) * 2007-09-14 2009-03-19 Hongxiao Zhao Method and system for dynamically reconfiguring PCIe-cardbus controllers
JP2009210448A (ja) * 2008-03-05 2009-09-17 Toshiba Corp 半導体装置
US7707346B2 (en) * 2008-03-12 2010-04-27 Lsi Corporation PCI express multi-root IOV endpoint retry buffer controller
CN101983365B (zh) * 2008-04-02 2013-03-27 惠普开发有限公司 在共享的i/o系统中转换重置
US8838867B2 (en) * 2008-12-24 2014-09-16 Nuon, Inc. Software-based virtual PCI system
CN101262439A (zh) * 2008-04-21 2008-09-10 湖北融合通信技术有限公司 一种多业务路由器
US7743189B2 (en) * 2008-05-05 2010-06-22 International Business Machines Corporation PCI function south-side data management
US20090292854A1 (en) * 2008-05-22 2009-11-26 Khoo Ken Use of bond option to alternate between pci configuration space
US8595343B2 (en) * 2008-11-14 2013-11-26 Dell Products, Lp System and method for sharing storage resources
JP5310175B2 (ja) * 2009-03-25 2013-10-09 富士通株式会社 スイッチシステム、及びスイッチシステムの制御方法
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102437A1 (en) * 2003-01-21 2005-05-12 Nextio Inc. Switching apparatus and method for link initialization in a shared I/O environment
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch

Also Published As

Publication number Publication date
CN102326362B (zh) 2014-04-02
WO2010117524A3 (en) 2011-01-13
US8537848B2 (en) 2013-09-17
US20110080920A1 (en) 2011-04-07
CN101873339B (zh) 2013-05-15
CN103795615B (zh) 2017-04-12
CN103795615A (zh) 2014-05-14
WO2010117524A2 (en) 2010-10-14
CN102326362A (zh) 2012-01-18
DE112010001469B4 (de) 2020-06-18
US20100246594A1 (en) 2010-09-30
US20140052889A1 (en) 2014-02-20
US20110131456A1 (en) 2011-06-02
DE112010001469T5 (de) 2012-05-16
CN103297330B (zh) 2016-09-28
US8831029B2 (en) 2014-09-09
US20110131362A1 (en) 2011-06-02
US9122811B2 (en) 2015-09-01
US8537820B2 (en) 2013-09-17
US7873068B2 (en) 2011-01-18
CN101873339A (zh) 2010-10-27

Similar Documents

Publication Publication Date Title
CN101873339B (zh) 灵活地将终端逻辑集成到各种平台
JP5922268B2 (ja) 拡張ヘッダを用いたパケット送信
CN103890745B (zh) 集成知识产权(Ip)块到处理器中
CN103959266B (zh) 在边带接口中聚合完成消息
US9053251B2 (en) Providing a sideband message interface for system on a chip (SoC)
US8718065B2 (en) Transmission using multiple physical interface
WO2015057872A1 (en) Noc interface protocol adaptive to varied host interface protocols
EP3136633B1 (en) Network module for sending and/or receiving of data packages from a network arrangement and method
JP4231485B2 (ja) ポイントツーポイント相互接続上のメッセージの配信技術
JP6847334B2 (ja) ネットワーク装置、ネットワークシステム、ネットワーク方法、およびネットワークプログラム
CN103491079B (zh) 一种报文生成装置、服务器以及方法
JP2001197089A (ja) アクセス制御方法及びアクセス制御装置

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