灵活地将终端逻辑集成到各种平台的装置、方法和系统的利记博彩app
【专利摘要】在一个实施例中,本发明涉及集成端点,其具有耦合在上游结构和集成设备结构之间的虚拟端口,该集成设备结构包括多功能逻辑以处理关于耦合到集成设备结构的一个或多个知识产权(IP)块的各种功能。集成设备结构具有用于在IP块和上游结构之间通信数据和命令信息的主信道以及用于在IP块和多功能逻辑之间通信边带信息的边带信道。描述并要求保护其他实施例。
【专利说明】灵活地将终端逻辑集成到各种平台的装置、方法和系统
[0001]本申请是PCT国际申请号PCT/US2010/026284、国际申请日2010年3月5日、中国国家申请号201080009573.0、名称为“灵活地将终端逻辑集成到各种平台的装置、方法和系统”的申请的分案申请。
【背景技术】
[0002]主流处理器芯片在高性能和低功率部分两个方面正不断集成附加功能性,诸如图形、显示引擎、安全引擎、PCIe?端口(B卩,根据外围组件互连快速(PCIEXpreSSTM(PCIeTM))规范基础规范版本2.0 (2007年I月17日公布)(下文中是PCIe?规范)的端口)以及其它基于PC1-e?的外围设备。
[0003]由于来自服务器、台式、移动、嵌入式、超移动和移动因特网设备部分的不同要求,传统的外部中枢产品设计是被高度分割的。不同的市场寻求使用单个芯片的片上系统(SoC)解决方案,其将处理器核、存储器控制器中枢(MCH)、输入/输出控制器(ICH)以及其它部分专用加速元件中的至少一些组合到单个芯片上。然而,由于将单个管芯上的不同知识产权(IP)块集成到标准内部互连的困难,累积这些特征的设计出现很慢。
[0004]附图简述
[0005]图1是根据本发明一实施例的集成端点和虚拟端口的框图。
[0006]图2是根据本发明一个实施例的集成端点和虚拟端口的框图。
[0007]图3是根据本发明一个实施例的片上系统(SoC)的框图。
[0008]图4是根据本发明实施例的系统的框图。
[0009]图5是根据本发明一个实施例的方法的流程图。
[0010]图6是根据本发明一个实施例的用于处理来自耦合代理的输入消息的方法的流程图。
[0011]详细描述
[0012]在各实施例中,PCIe?端点的接口功能性可在结构逻辑和诸如知识产权(IP)块或配置成执行一个或多个功能的逻辑块之类的代理之间分割,以实现跨越各平台的对代理的有效再使用。如本文所使用的,术语“代理”和“IP块”可以是同义的,以指示可连同其它这类代理在半导体器件内适用的独立逻辑,其中代理可由一个或多个供应商发起。对于一个实现,这一代理可连同虚拟下游端口(根端口或开关端口)一起实现在芯片上,该虚拟下游端口可以是单独的PCIe?器件、包含多功能(MF)逻辑的集成器件结构(IDF)、以及一个或多个代理,它们各自可实现一种或多种PC1-e?功能。由此,一个或多个代理可集成为管芯上PC1-e? 器件。
[0013]虚拟下游端口对于软件表现为标准PC1-e?下游端口,然而链路和物理层被去除并用主接口(用于与诸如处理器之类的上游组件通信)以及目标接口(用于与IDF通信)来替换。在一个实施例中,虚拟下游端口包括类型lPCIe?配置头部和相关联的虚拟对等桥逻辑。虚拟端口对于软件表现为“实”端口,但链路和物理层丢失。软件不能识别该差别。可在虚拟端口内设置链路和物理寄存器的各个值,使得软件认为链路和物理层存在。进而,IDF、MF逻辑和代理对于软件表现为PC1-e?端点。软件不能识别端点未通过标准PC1-e?链路连接到下游端口,因为存在相同的功能和信息。即,虚拟端口和IDF、MF逻辑及代理的组合实现对诸如收缩包装(shrink-wrap)的操作系统(OS)之类的软件完全透明。此外,该接口是即插即用OS兼容的且支持各种功能,诸如PCI即插即用列举和PCI排序以及其它功倉泛。
[0014]在一个实施例中,集成设备结构是包含MF逻辑的结构实现。MF逻辑提供实现针对接口规范设计的单独代理所需的功能,以相互操作并对于软件表现为例如经由片外(例如PCIe?)链路耦合的标准PC1-e?多功能设备。该结构提供流控制、仲裁和排序逻辑。此外,多功能逻辑支持给定标准的各种功能要求。例如,在一个实施例中,MF逻辑可包括处理设备中最大有效载荷尺寸的逻辑,该设备支持交替请求者ID解释(Alternate Requester IDInterpretation, ARI)、传统中断、PCI功率管理(PM)消息、非功能特定错误和等待时间容限报告。
[0015]耦合到该IDF的可以是实现一种或多种PC1-e?功能的一个或多个代理。该代理可直接集成到根复合体结构或者连接如下所述的集成设备结构之下。IDF与代理结合形成集成PCIe?端点,该PCIe?端点可连接到集成虚拟端口(根端口或开关端口)。
[0016]实施例因此使得针对接口规范设计的标准代理能够在项目之间再使用,要么在多功能设备内起作用要么作为根复合体集成设备。对代理没有关于限制它们实现PC1-e?规范的全特征集的限制。通过去除链路和物理层并用结构替换这些层,消除了对这些层的各种逻辑的需求,例如,循环冗余校验和(CRC)以及重放缓冲器。这形成较低等待时间、较低功率、较小设计方案。
[0017]再使用通过实现代理和结构之间的逻辑的有效划分的设计规则而增强。PCIe?设备通常具有共用于整个设备的某些逻辑和专用于一功能的某些逻辑。本发明的实施例限定什么逻辑位于代理中(或一种或多种功能)以及什么逻辑位于结构中(或设备专用逻辑)的划分和实现,以优化跨越多种平台的再使用。设计目标的一部分是使得代理能够容易地用作集成到诸如端点、结构之类的不同组件中且能够集成在根复合体内部或外部的设备的一部分。因此,某些功能和复杂性被纳入结构,因为当代理在根复合体内时不需要它们。
[0018]现在参考图1,示出的是根据本发明的实施例可形成在单个半导体管芯上的连接到虚拟端口的集成端点的框图。如图1所示,集成端点10可包括IDF30以及一个或多个代理50,且可耦合到虚拟端口 20,该虚拟端口 20可以是虚拟根端口或虚拟开关端口,这取决于集成端点10所耦合至的实体。例如,当耦合到根复合体结构时,虚拟端口 20可以是虚拟根端口,而相反当耦合到开关结构时,虚拟端口 20可以是虚拟开关端口。在各实施例中,虚拟端口 20可以是架构上可见的寄存器空间,且可包括一组支持即插即用和功能恢复的配置寄存器。依次地,虚拟端口 20耦合到包括多功能逻辑35的IDF30。
[0019]依次地,IDF30可耦合到一个或多个代理50r50n。每个这种代理均是独立的IP块且可用于执行诸如一种或多种PC1-e?功能之类的一种或多种功能。在各实施例中,与这些代理经由PC1-e?和其它链路的常规耦合相比,代理50至虚拟端口 20的集成(即管芯上)耦合可通过IDF30来实现。由此,可避免在虚拟端口 20和代理50 (以及IDF30)两者处对链路和物理层的需求。相反,虚拟端口 20可在事务层上与IDF30直接通信,且类似地IDF30可在事务层上与代理50直接通信。注意由代理50例示的代理可以是一个或多个不同厂商的不同类的块。例如,SoC制造商可在单个管芯上方案中包括各种代理,包括其自身的代理以及其它厂商的一个或多个代理,例如用来提供或增强某些功能。
[0020]现在参考图2,示出的是耦合到虚拟端口的集成端点100的框图。可类似于图1配置该集成端点。然而,给出IDF30的其它细节。更具体地,如图2所示,IDF30可包括多功能逻辑35,其包括多个独立逻辑40a-40d(例如),这些逻辑能够处理实现集成端点100中不同代理的交互同时维持对于系统软件(例如,操作系统)的可见性的各种功能。在图2的实施例中,这种逻辑包括寄存器阴影逻辑40a、功率管理(PM)逻辑40b、传统中断逻辑40c和错误逻辑40d。尽管以这些特定逻辑功能示出,然而本发明的范围不限于此方面,且其它逻辑可存在于MF逻辑35中。此外,多功能逻辑35包括边带端点42,用于经由边带信道62耦合到边带路由器50。
[0021]仍参考图2,IDF30还包括沿上游和下游方向的仲裁器(B卩,仲裁器48a_48b)。这种仲裁器可例如根据信用流控制和优先级仲裁方案来处理与各代理的通信之间的流控制和仲裁。仲裁器48a和48b可检查代理50的资源以确保队列中有空间,并且沿上游方向它检查资源并仲裁哪个代理能接入上游主信道49b。在一个实施例中,仲裁器48a可充当命令导线的交通警察并以两阶段工作。首先命令被发送到代理以执行目标解码,即,它广播至所有代理。然后,目标代理做出响应。由于仲裁器现在知道目标是什么,接下来仲裁器检查其资源可用性,且一旦它确定资源是可用的,则它可发出准许,且实际的命令和数据被提供给目标代理。
[0022]与代理50的通信可经由主信道49进行,该主信道49可包括分别沿下游和上游方向的单独的链路49a和49b。在一个实施例中,主信道49可具有用于命令和数据信息的不同导线。如进一步看到的,边带路由器60可经由给定边带信道65^653与每个代理50通信。注意,尽管在图2中未示出,但允许代理50之间的对等通信。尽管在图2的实施例中示出了该特定实现,但本发明的范围在这方面不受限制。
[0023]在集成设备结构的其它实现中,代替耦合到所有命令和数据宽度均相同的代理,该结构可执行排队和计划(staging)以接受多个时序数据然后将其加宽,或反之。为了便于示出,在图2中未示出内部排队,尽管实施例可提供这种排队。此外,尽管在一些实施例中,下游消息可被广播到所有连接的代理,这些代理可执行一解码以确定命令是否针对给定的代理,然而其它实施例可在IDF中实现解码。例如,可存在下游队列,以接受来自根端口的事务,然后将其传送到内部解码器以确定意欲达到的目标。
[0024]实现一个或多个PC1-e?功能的代理可集成到根复合体结构,其在作为集成设备的一部分的虚拟根端口之下或在单独的PC1-e?端点组件中。为了实现在这些不同系统中代理的再使用,如上所述,在结构和代理之间划分某些功能。此外,建立关于某些消息如何通过IDF发送的协议。
[0025]集成功能是实现一个或多个PCI功能的代理。这些可以是传统PCI功能或符合PCIe?的功能。支持ARI的集成功能在一个代理中可实现高达256种功能。一些实施例可支持单个根1O虚拟化(SR-10V),在集成功能内实现高达64k种功能。
[0026]当连接到根复合体结构时,集成功能内的功能变为根复合体集成端点。当连接到开关结构时,集成功能是包括上游开关端口的多功能设备的一部分。当连接到集成设备结构时,集成功能是集成PCIe?端点的一部分。因此为了使可再使用性最大化,可实现集成功能,使得它们能连接到根复合体结构、开关结构或集成设备结构。注意,当集成功能用于形成PCIe?端点时,可存在附加功能。
[0027]仍参考图2,传统中断逻辑42c可用于处理可生成PCI传统中断的代理。PCI和PC1-e?规范需要实现符合PCI或PC1-e?的功能并生成中断的代理,以支持传统中断。这些传统中断的目的地是输入/输出高级可编程中断控制器(IOxAPIC)。利用消息虚拟地传送中断导线(即,传统中断导线(INTx#))。断言INTx#消息指示虚拟INTx#信号的高至低转变,而去断言INTx#消息指示虚拟INTx#信号的低至高转变。
[0028]在各实施例中,INTx消息可在主和边带消息接口上传送。为了确保代理的相互操作性,以下的规则用于传统中断的传送。作为INTx消息的起源的代理(例如,端点或根端口)利用边带消息将它们发送。包含一个以上的PCI/PC1-e?功能且共享INTx虚拟导线的代理在发送断言/去断言消息之前对虚拟导线一起进行逻辑OR操作。包含一个以上的PCI/PC1-e?功能且不共享INTx虚拟导线的代理发送带有不同的边带源ID的消息,使得接收机能够区分INTx消息的源。
[0029]传统中断逻辑40c聚集结构下的代理共享的传统INTx消息。然后将聚集的虚拟INTx导线状态在主信道49上向上游发送。实现PC1-e?根端口的代理将在目标为本地IOxAPIC的边带信道上发送传统INTx消息。
[0030]PM逻辑42b可用于为PCI功率管理(PC1-PM)提供支持。以下三个消息可用于处理功率管理事件,即,功率管理事件消息以及类似的关闭和关闭确认消息:PME、PME关闭(TO)以及PME TO Ack0在一个实施例中,PC1-PM消息包含指示消息是PME、PME关闭或是PME TOAck的消息代码。消息还包含消息发起者的总线、设备和功能号码。
[0031]为了支持实现PCI功率管理能力的代理的相互操作性,使用以下规则。实现PC1-PM能力的代理在边带消息接口上发送PME消息、接收PME关闭消息并发送PME TO Ack消息。依次地,IDF30提供以下功能。首先,IDF在上游主接口上接收PME关闭消息并将它们广播到支持PC1-PM的任何耦合代理(这可作为真实多播或作为多个单播消息来完成)。而且,IDF在边带消息接口上接收PME TO Ack消息,聚集消息并在主接口上向上游发送PME TOAck消息,并在边带消息接口上接收PME消息并在主接口上将其向上游发送。实现PC1-e?根端口的代理在边带消息接口上接收PME关闭消息并在主信道上将其向下游发送,并从下游接收PME TO Ack消息(在虚拟根端口的IDF上、在虚拟根端口的PC1-e?链路上)并在边带消息接口上发送PME TO Ack消息。实现PC1-e?根复合体事件收集器的代理将在边带消息接口上接收PME消息。
[0032]错误逻辑40d可为PC1-e?错误消息提供支持,该PCI_eTM错误消息包括以下三个消息:改正错误(ERR C0RR)、非重大错误(ERR N0NFATAL)以及重大错误(ERR FATAL)。为了支持实现这些消息的代理的相互操作性,在一个实施例中可使用以下规则。生成PC1-e?错误消息的代理在边带消息接口上发送错误消息,并且集成设备结构30在边带消息接口上接收错误消息并在主信道49上将其向上游发送。实现PC1-e?根端口的代理或者在PC1-e?链路上或者在下游侧主信道上(如果实现为虚拟根端口)接收错误消息。实现PC1-e?根复合体事件收集器的代理将在边带消息接口上接收错误消息。在其它实现中,可在主接口上发送这些消息。
[0033]PC1-e?错误消息包括请求者ID(可包括总线号、设备和功能)和消息代码。PCI_eTM规范指示在端点处发生的非功能特定错误被记录在每个功能中,然而对于每种启用的严重性仅发送一个错误消息。例如,如果所有的功能被编程为将错误视为重大,则仅发送一个重大错误消息,但如果一些功能被编程为将错误视为重大而其它的被编程为将错误视为非重大,则发送一个重大错误消息和一个非重大错误消息。以下错误是非功能特定的:当由无功能要求事务层分组(TLP)时导致的不支持的请求(UR);当由无功能要求完成时导致的不期望完成;畸形TLP ;末端CRC (ECRC)失败;接收机溢出;以及流控制协议错误。注意在各实施例中,最后两个是不适用的。ECRC失败是可选的且仅在ECRC检验被启用时发生。
[0034]确定非功能特定错误中的事务结果是集成设备结构30的错误逻辑40d的责任。在检测非功能特定错误时,IDF将断言具有非特定错误信号(cmd nfserr) 一输出(put),该输出去往作为集成设备的一部分的每个下游代理。当代理接收具有断言的cmd nfserr的输出时,它记录错误但不发送任何错误消息,即使它被配置成发送消息。MF逻辑35负责发送适当的错误消息。在集成功能中使用单个位带(strap),以便知晓它连接在集成设备结构之下。
[0035]MF逻辑35对集成设备结构之下的每种功能遮蔽必要的位,指示该功能对于该错误应报告哪种严重性错误。在一个实施例中,在错误逻辑40d中提供表,以指示需要哪些位。集成设备结构因此检测错误已经发生并向集成设备结构之下的所有集成功能广播TLP。可利用至所有目标的同时输出或顺序输出来完成广播。MF逻辑然后检查错误配置位的遮蔽副本并向上游发送改正错误消息。
[0036]MF逻辑35还可包括寄存器遮蔽逻辑40a。如果代理中的任何功能实现PCI_e?ARI能力,则它们必须全部实现ARI。实现ARI能力的每种集成功能实现与PC1-e?限定的最大有效载荷尺寸配置寄存器分离的私有最大有效载荷尺寸寄存器以及带(strap)输入,以指示集成功能在根复合体中实例化还是在根复合体之外。可从边带消息接口访问该寄存器。当集成功能被绑定以指示它在根复合体之外时,则具有零以外的功能号的所有功能忽略PC1-e?规范限定的最大有效载荷尺寸寄存器,并将私有寄存器用于最大有效载荷尺寸值。遮蔽进入连接至IDF30的其它代理的功能的O的最大有效载荷尺寸值是MF逻辑30的寄存器遮蔽逻辑40a的责任。在一些实施例中,MF逻辑35可包括其它功能。在一个实施例中,每个代理可在边带信道上发送等待时间消息至多功能逻辑,该多功能逻辑聚集消息、获取最差情况的等待时间号并将其发送到虚拟端口用于向上游报告。
[0037]现在参考图3,示出的是根据本发明一个实施例的片上系统(SoC)的框图。如图3所示,SoC200可以是包括执行不同功能的各种实体的单管芯设备。如图3所示,服务器控制器中枢(SCH) 210可提供至诸如中央处理单元(CPU)或其它主处理实体之类的系统控制器的接口。可经由各种设定(例如,诸如由开关SI和S2表示的可熔链路之类的熔丝选择设定)进行控制以实现不同电路至SCH210的耦合。如所见,开关SI可实现虚拟端口 220的直接耦合,该虚拟端口 220可以是直接耦合至SCH210的虚拟根端口或虚拟开关端口。当SI将虚拟端口 220连接至SCH210时,虚拟端口 220是根端口。在替换配置中,虚拟端口 220可直接耦合至开关结构(SWF) 270。当SI将虚拟端口 220连接至SWF270时,它是开关端口。开关S2可受到控制以将集成设备结构230耦合到存储控制器单元(SCU)260或禁用这种耦
八
口 ο
[0038]如图3进一步示出,IDF230可耦合到接口 240,该接口 240可提供至诸如SMBUS、非易失性SRAM、串行闪存和以太网之类的各种片外设备的接口。另外,IDF230可耦合到S⑶250,该S⑶250也可耦合到诸如盘驱动或SAS网络之类的各种片外设备。另外,在给定实现中,开关SI可实现虚拟端口 220至开关结构270的直接耦合,开关结构270又耦合到一个上游开关端口 280,上游开关端口可耦合到下游开关端口(未示出),该下游开关端口耦合到片外端点。SoC200还可包括用于测试设计(DFx)的代理290以执行各种用于测试设计的功能。尽管在图3的实施例中示出了该特定实现,但本发明的范围在这方面不受限制。
[0039]实施例还可实现在较宽的系统背景中,诸如PCIeTM/PCI系统。现在参见图4,所示为根据本发明实施例的系统300的框图。如图4所示,系统300可包括各种结构以将不同类型的功能和设备耦合到诸如由CPU305表示的主CPU和存储器复合体之类的上游组件。尽管示为单个块,但应理解CPU305可包括一个或多个CPU和本地存储器,它们例如可实现为桥或环形布局。CPU305耦合到根复合体结构310。
[0040]根复合体310可指示将CPU305连接到IO子系统的IO架构的根。如所见,各种实体可耦合到包括根复合体集成端点312a-312n的根复合体310、包括物理根端口 314和虚拟根端口 330的根端口以及其它这类接口 313,在一个实施例中端口 313可以是DMI或DMIc接口。在图4的实施例中,这些接口和端口中的一些可经由交叉管芯连接316和345耦合至管芯外,而虚拟根端口 330可集成在管芯上至集成设备结构335,该集成设备结构335又耦合到包括一个或多个集成功能341a-341n的集成PCIe?端点340。因此,对于CPU305上执行的软件,根端口 314和虚拟根端口 330可表现为耦合到片外PCIe?设备。注意,端点312a-312n和功能341a-314n被设计成相同的规则,使得系统集成器可选择将代理实例化为RC集成端点或集成功能,而不对可再使用的代理实现进行改变。
[0041]仍参考图4,交叉管芯连接316可耦合到另一个接口 317,接口 317又耦合到根复合体结构320,一个或多个根复合体集成端点322a-322n可耦合到该根复合体结构320。
[0042]经由交叉管芯连接345,可存在PCIe?多功能设备350,它可经由开关端口 352和集成功能354耦合到开关结构360。进而,开关结构360可耦合到包括开关端口 365和虚拟开关端口 368a和368b的各种下游端口。这些虚拟开关端口可耦合到IDF370和375,其中的每一个可包括耦合于此的一个或多个PCI端点。在图4所示的实施例中,PCIe?端点372可包括集成功能373,并且PCIe?端点380可包括集成功能383a - 383n。尽管在图4的实施例中示出了该特定实现,但本发明的范围在这方面不受限制。
[0043]现在参照图5,示出的是根据本发明一个实施例的方法的流程图。如图5所示,方法400可实现在集成设备结构中以处理来自耦合于此的上游连接设备的输入消息。如图5所示,方法400可用于处理从诸如与IDF耦合的虚拟端口之类的上游组件接收的输入消息(框 410)。
[0044]当在IDF中接收时,消息(可以是命令)可经由主信道被广播至所有的下游代理(框420)。然后IDF可确定它是否从代理之一接收解码确认(菱形430)。即,如上所讨论的,消息向下游的传输可发生在两阶段过程中,其中消息首先被广播至所有的代理,这些代理执行其自身的目标解码。如果消息不是针对下游组件中的任一个,则可生成错误消息并向上游发送(框435)。
[0045]如果相反接收到来自代理之一的目标确认,则将控制传递至菱形440,其中它可确定目标代理是否具有处理该消息的资源(菱形440)。如果是的话,则控制传递到框450,其中可利用其它消息仲裁该消息,以便向下游传输。然后在框460,可将消息发送至目标代理。当然,在其它实施例中可使用用于处理所接收的消息的其它机制。例如,如上所讨论的,在一些实现中地址解码可发生在结构本身中。
[0046]现在参考图6,示出的是用于处理来自耦合代理的输入消息的方法的流程图。如图6所示,可通过经由边带信道接收来自一个或多个代理的边带消息来开始方法500 (框510)。例如,可将输入的边带消息提供给边带端点,该边带端点可以是集成设备结构的多功能逻辑的一部分。该端点可将消息路由到多功能逻辑内的适当逻辑(框520)。例如,错误消息可被发送到错误逻辑,功率管理消息被发送到功率管理逻辑等等。然后给定逻辑可处理所接收的消息(框530)。例如,如上所讨论的,逻辑可执行多边带消息的聚集,由此形成适当的聚集消息用于向上游传输。然后,如图6所示,可将聚集的消息向上游转发,例如经由主信道至虚拟端口(框540)。
[0047]利用本发明的实施例,标准解决方案由此可被用于实现可用作根复合体集成设备或非根复合体集成设备的代理。因此,可发生跨越各产品的代理再使用,使得一个或多个厂商的代理可结合到单个管芯集成电路。
[0048]注意,实施例提供在PC1-e?开关、开关端口、PC1-e?根端口之下或直接在根复合体之下的IP块的相等集成。相反,根据PC1-e?规范,不允许开关集成内部总线上的设备。(PC1-e?规范语言:“端点(由类型OOh配置空间头部表示)对于开关的内部总线上的配置软件不可以表现为表示开关下游端口的虚拟PC1-PCI桥的对等。”)。然而,如图4所示,IP块可被集成为包含开关上游端口的集成设备的功能。在这种情况下,开关结构360是单个结构,其传送用于与上游开关端口虚拟对等桥的主侧和辅助侧相关联的两个逻辑PCI总线的通信量。
[0049]实施例还以完全符合PC1-e?,使得代理能够针对标准接口来设计,以便用在根复合体内或集成设备内。同样使用根据本发明的一个实施例的具有多功能逻辑的IDF提供了用于处理代理之间的交互的标准方式,使得来自不同供应商的代理可一起连接至单个多功能设备。
[0050]各实施例可以用代码实现,并可存储在其上存储有指令的存储介质上,这些指令可用来对系统编程以执行这些指令。存储介质可包括但不限于任何类型的盘,包括软盘、光盘、光碟、固态驱动器(SSD)、紧凑盘只读存储器(⑶-ROM)、可重写紧凑盘(⑶-RW)和磁光盘、诸如只读存储器(ROM)的半导体器件、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPR0M)、闪存、电可擦除可编程只读存储器(EEPR0M)、磁卡或者光学卡、或适于存储电子指令的任意其它类型的介质。
[0051]尽管本发明已针对有限数量的实施例作了描述,然而本领域技术人员将会从其中领会到许多修改和变型。所附权利要求旨在覆盖所有这样的修改和变型,只要其落在本发明的真实精神和范围内。
【权利要求】
1.一种用于在结构之间进行通信的装置,包括: 耦合在第一结构和集成设备结构之间的虚拟端口,所述虚拟端口包括用于与第一结构连接的第一接口以及用于与集成设备结构连接的第一接口; 所述集成设备结构耦合到至少一个端点并且包括用于在至少一个端点和虚拟端口之间通信数据和命令信息的主信道,所述集成设备结构包括多功能逻辑,用于: 聚集从至少一个端点接收的传统中断; 接收来自虚拟端口的功率管理消息并将所述功率管理消息广播到至少一个端点;以及 确定事务是否导致非功能特定错误,并且如果是,则断言至至少一个端点的非功能特定错误信号; 所述集成设备结构还具有用于在至少一个端点和多功能逻辑之间通信边带信息的边带信道;以及 所述至少一个端点包括用于实现一个或多个高速通信协议功能的集成功能,其中所述虚拟端口、所述集成设备结构和所述至少一个端点适配在单个半导体管芯上。
2.如权利要求1所述的装置,其特征在于,所述集成设备结构耦合到虚拟端口的事务层以及至少一个端点的事务层,而没有链路层或物理层的介入。
3.如权利要求1所述的装置,其特征在于,所述多功能逻辑包括经由边带信道与边带路由器通信的边带端点,所述边带路由器还耦合到所述至少一个端点。
4.如权利要求1所述的装置,其特征在于,所述集成设备结构还包括仲裁器,用于仲裁沿主信道从虚拟端口至耦合到集成设备结构的多个端点的消息。
5.如权利要求4所述的装置,其特征在于,所述多功能逻辑包括第一逻辑,用于检测经由边带信道来自多个端点中的至少一个的非功能特定错误消息,并生成聚集消息以经由主信道传输到虚拟端口。
6.如权利要求4所述的装置,其特征在于,所述多功能逻辑包括第二逻辑,用于经由主信道接收来自虚拟端口的第一功率管理消息并生成经由边带信道至多个端点中的至少一个的下游功率管理消息。
7.如权利要求1所述的装置,其特征在于,所述至少一个端点包括多个端点,所述多个端点包含不同种类的块,且其中所述集成设备结构将不同种类块和虚拟端口之间的通信标准化。
8.如权利要求7所述的装置,其特征在于,所述集成设备结构和所述多个端点对软件表现为经由PCI链路耦合的单个外围组件互连(PCI)端点。
9.如权利要求1所述的装置,其特征在于,还包括用于经由虚拟端口将集成设备结构耦合到开关结构的第一可熔链路,其中当第一可熔链路启用时所述虚拟端口充当开关端口 ;以及用于经由虚拟端口将集成设备结构耦合到中枢代理的第二可熔链路,其中当第二可熔链路启用时所述虚拟端口充当根端口。
10.如权利要求1所述的装置,其特征在于,所述高速通信协议包括外围组件互连快速(PCIe)通信协议。
11.一种用于处理结构中的错误的方法,包括: 在耦合到虚拟根端口的集成设备结构的多功能逻辑中,聚集从耦合到所述集成设备结构的至少一个端点接收的传统中断;在多功能逻辑中,接收来自虚拟根端口的功率管理消息并将所述功率管理消息广播到至少一个端点;
在多功能逻辑中,确定事务是否导致非功能特定错误,并且如果是,则断言至至少一个端点的非功能特定错误信号;以及 利用至少一个端点执行一功能,其中所述虚拟根端口、所述集成设备结构和所述至少一个端点适配在单个半导体管芯上。
12.权利要求11所述的方法,还包括仲裁沿主信道从虚拟根端口至耦合到集成设备结构的多个端点的消息。
13.如权利要求12所述的方法,还包括在所述多功能逻辑的第一逻辑中,检测经由边带信道来自多个端点的非功能特定错误消息,并生成聚集消息以经由主信道传输到虚拟根端口。
14.如权利要求13所述的方法,还包括经由主信道在多功能逻辑的第二逻辑中接收来自虚拟根端口的功率管理消息,并经由边带信道将下游功率管理消息发送至多个端点。
15.如权利要求12所述的方法,还包括使多个端点和虚拟根端口之间的通信标准化,其中所述多个端点是不同种类的块。
16.一种用于在结构之间进行通信的系统,包括: 处理器; 耦合到所述处理器的根复合体结构; 耦合在根复合体结构和集成设备结构之间的虚拟根端口 ; 所述集成设备结构耦合在虚拟根端口和端点设备之间,且具有用于在端点设备和虚拟根端口之间通信数据和命令信息的主信道以及用于在端点设备和集成设备结构的多功能逻辑之间通信边带信息的边带信道,所述多功能逻辑用于: 聚集从端点设备接收的传统中断; 接收来自虚拟根端口的功率管理消息并将所述功率管理消息广播到端点设备;以及 确定事务是否导致非功能特定错误,并且如果是,则断言至端点设备的非功能特定错误信号;以及 所述端点设备包括多个集成功能,其中所述虚拟根端口、所述集成设备结构和所述端点设备集成在单个半导体管芯上。
17.如权利要求16所述的系统,其特征在于,所述集成设备结构耦合到虚拟根端口的事务层以及端点设备的事务层,而没有链路层或物理层的介入。
18.如权利要求16所述的系统,其特征在于,所述多功能逻辑包括经由边带信道与边带路由器通信的边带端点,所述边带路由器还耦合到端点设备。
19.如权利要求16所述的系统,其特征在于,所述集成设备结构还包括仲裁器,用于仲裁沿主信道从虚拟根端口至耦合到集成设备结构的多个端点设备的消息。
【文档编号】H04L12/64GK103795615SQ201410078633
【公开日】2014年5月14日 申请日期:2010年3月5日 优先权日:2009年3月31日
【发明者】M·克林格史密斯, M·奈尔, J·默里 申请人:英特尔公司