CN105378694B - 用于执行与通用串行总线(usb)装置的管理组件传输协议(mctp)通信的方法、设备和系统 - Google Patents
用于执行与通用串行总线(usb)装置的管理组件传输协议(mctp)通信的方法、设备和系统 Download PDFInfo
- Publication number
- CN105378694B CN105378694B CN201380077916.0A CN201380077916A CN105378694B CN 105378694 B CN105378694 B CN 105378694B CN 201380077916 A CN201380077916 A CN 201380077916A CN 105378694 B CN105378694 B CN 105378694B
- Authority
- CN
- China
- Prior art keywords
- mctp
- usb
- endpoint
- controller
- management controller
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4269—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
- G06F2212/284—Plural cache memories being distributed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/30—Providing cache or TLB in specific location of a processing system
- G06F2212/305—Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
在一实施例中,主机控制器配置成控制与多个通用串行总线(USB)装置的通信,并且耦合到管理控制器和主机处理器。主机控制器包括过滤逻辑以过滤来自第一USB装置的管理控制传送协议(MCTP)端点的信息,以防止其被传递到主机处理器,并且将MCTP端点信息提供到管理控制器。本文也描述和主张了其它实施例。
Description
技术领域
本公开内容涉及计算系统,并且具体地说,涉及系统内的管理通信。
附图说明
图1示出用于包括多核处理器的计算系统的框图的一实施例。
图2是根据本发明的一实施例的系统的框图。
图3是根据本发明一实施例的供应商定义的消息分组的框图。
图4是根据本发明的一实施例的通信方法的流程图。
图5是根据本发明的另一实施例的通信方法的流程图。
图6是根据本发明的一实施例的USB装置的框图。
图7是其中包括封装或隧穿的MCTP分组的USB分组的框图。
图8是根据本发明的一实施例,互连各种系统的网络的框图。
图9是根据本发明的一实施例,用于在客户端系统上执行远程控制操作的方法的流程图。
图10示出晶片上互连的一实施例。
图11示出晶片上互连的另一实施例。
图12示出网状互连结构的一实施例。
图13示出网状互连结构的另一实施例。
具体实施方式
在下面的描述中,陈述了许多特定的细节,如特定类型的处理器和系统配置的示例、特定硬件结构、特定体系结构和微体系结构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量/高度、特定处理器流水线级和操作等的示例,以便提供本发明的详尽理解。但是,本领域的技术人员将明白,实践本发明可无需采用这些特定细节。在其它实例中,诸如特定和备选处理器体系结构、用于所述算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、代码中算法的特定表述、特定掉电和选通技术/逻辑及计算机系统的其它特定操作细节等熟知的组件或方法未详细描述,以免不必要地混淆本发明。
虽然下面的实施例可参照在特定集成电路中的节能和能量效率进行描述,如在计算平台或微处理器中,但其它实施例适用于其它类型的集成电路和逻辑装置。本文中所述实施例的类似技术和教导可应用到也可从更佳的能量效率和节能中受益的其它类型的电路或半导体装置。例如,公开的实施例不限于台式计算机系统或Ultrabooks™。而且它也可在诸如手持式装置、平板、其它薄的笔记本、系统芯片(SoC)装置及嵌入式应用等其它装置中使用。手持式装置的一些示例包括蜂窝电话、因特网协议装置、数码相机、个人数字助理(PDA)及手持式PC。嵌入式应用一般包括微控制器、数字信号处理器(DSP)、系统芯片、网络计算机(NetPC)、机顶盒、网络集线器、宽域网(WAN)交换器或能够执行下面教导的功能和操作的任何其它系统。另外,本文中所述设备、方法和系统不限于物理计算装置,而是也可涉及用于节能和能量效率的软件优化。如在下面的描述中将变得容易明白的一样,本文中所述方法、设备和系统的实施例(无论是在硬件、固件、软件还是其组合的引用中)对于通过性能考虑均衡的“绿色技术”未来是重要的。
随着计算系统在发展,其中的组件变得越来越复杂。因此,在组件之间耦合并且进行通信的互连体系结构复杂性也增大,以确保用于最佳组件操作的带宽要求得以满足。此外,不同市场部门(market segment)需求互连体系结构的不同方面以满足市场的需要。例如,服务器要求更高性能,而移动生态系统有时能够牺牲总体性能以实现节能。然而,大多数结构(fabric)的单纯目的是以最大节能提供最高可能性能。下面讨论了多个互连,这些互连将可能从本文中所述本发明的方面中受益。
参照图1,示出了用于包括多核处理器的计算系统的框图的一实施例。处理器100包括任何处理器或处理装置,如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协处理器、系统芯片(SoC)或执行代码的其它装置。在一个实施例中,处理器100包括至少两个核 - 核101和102,这可包括不对称核或对称核(所示实施例)。然而,处理器100可包括可以是对称或不对称的任何数量的处理元件。
在一个实施例中,处理元件指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或能够为处理器保持诸如执行状态或体系结构状态等状态的任何其它元件。换而言之,在一个实施例中,处理元件指能够与诸如软件线程、操作系统、应用程序等代码或其它代码独立相关联的任何硬件。物理处理器(或处理器插座)一般指集成电路,它可能包括任何数量的其它处理元件,如核或硬件线程。
核经常指位于能够保持独立架构状态的集成电路上的逻辑,其中每个独立保持的架构状态与至少一些专用执行资源相关联。与核不同,硬件线程一般指位于能够保持独立架构状态的集成电路上的任何逻辑,其中独立保持的架构状态共享对执行资源的访问。正如可看到的一样,在某些资源共享,并且其它资源专用于某种架构状态时,硬件线程与核的名称之间的界线重叠。然而,核和硬件线程经常被操作系统视为单独的逻辑处理器,这种情况下,操作系统能够单独调度每个逻辑处理器上的操作。
如图1所示的物理处理器100包括两个核 - 核101和102。此处,核101和102被视为对称核,即,带有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101包括乱序处理器核,而核102包括有序处理器核。然而,核101和102可从任何类型的核中单独选择,如自然核(native core)、软件管理的核、适用于执行自然指令集体系架构(ISA)的核、适用于执行转换的指令集体系结构(ISA)的核、共同设计的核或其它已知核。在异类核环境(即,不对称核)中,诸如二进制转换等一些形式的转换可用于调度或执行在一个或两个核上的代码。然而为进一步进行讨论,下面进一步详细描述核101中所示功能单元,而核102中的单元以所示实施例中类似方式操作。
如图所示,核101包括两个硬件线程101a和101b,它们也可称为硬件线程槽101a和101b。因此,诸如软件系统等软件实体在一个实施例中可能将处理器100视为四个单独的处理器,即,能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上暗示的一样,第一线程与体系结构状态寄存器101a相关联,第二线程与体系结构状态寄存器101b相关联,第三线程与体系结构状态寄存器102a相关联,以及第四线程与体系结构状态寄存器102b相关联。此处,如上所述,每个体系结构状态寄存器(101a、101b、102a和102b)可称为处理元件、线程槽或线程单元。如图所示,在体系结构状态寄存器101b中复制体系结构状态寄存器101a,以便各个体系结构状态/上下文能够存储用于逻辑处理器101a和逻辑处理器101b。在核101中,也可为线程101a和101b复制诸如分配器和重命名块130中的指令指针和重命名逻辑等其它更小的资源。诸如重排序/退出单元135中的重排序缓冲区、ILTB 120、加载/存储缓冲区及队列等一些资源可通过分区共享。可能完全共享诸如通用内部寄存器、页表基址寄存器、低级数据高速缓存和数据TLB 115、执行单元140及部分乱序单元135等资源。
处理器100经常包括其它资源,这些资源可完全共享,通过分区共享或专用于处理元件。在图1中,示出了带有处理器的说明性逻辑单元/资源的纯示范处理器的一实施例。注意,处理器可包括或忽略任何这些功能单元以及包括任何其它熟知的未示出功能单元、逻辑或固件。如图所示,核101包括简化的代表性乱序(OOO)处理器核。但在不同实施例中可利用有序处理器。OOO核包括预测要执行/采用的分支的分支目标缓冲区120和存储指令的地址转换条目的指令转换缓冲区(I-TLB) 120。
核101还包括耦合到获取单元120以将获取的元素解码的解码模块125。在一个实施例中,获取逻辑包括分别与线程槽101a、101b相关联的单独序列。通常,核101与定义/指定在处理器100上可执行指令的第一ISA相关联。作为第一ISA的一部分的机器代码指令经常包括引用/指定要执行的指令或操作的部分指令(称为操作码)。解码逻辑125包括从其操作码识别这些指令并且在流水线中传递解码的指令以便如第一ISA定义般处理的电路。例如,如下面更详细讨论的一样,在一个实施例中,解码器125包括设计成或适用于识别诸如事务指令等特定指令的逻辑。由于解码器125进行的识别,体系结构或核101采用特定的预定义动作以执行与适当指令相关联的任务。重要的是注意,可响应单个或多个指令,执行本文中所述任何任务、块、操作和方法;一些指令可以是新指令或旧指令。要注意的是,在一个实施例中,解码器126识别相同ISA(或其子集)。备选,在异类核环境中,解码器126识别第二ISA(第一ISA的子集或完全不同的ISA)。
在一个示例中,分配器和重命名器块130包括分配器以预留资源,如存储指令处理结果的寄存器文件。然而,线程101a和101b有可能能够乱序执行,其中分配器和重命名器块130也预留其它资源,如跟踪指令结果的重排序缓冲区。单元130也可包括寄存器重命名器以将程序/指令引用寄存器重命名为处理器100内部的其它寄存器。重排序/退出单元135包括支持失序执行和以后失序执行指令有序退引的组件,如上述重排序缓冲器、加载缓冲器和存储缓冲器。
在一个实施例中,调度器和执行单元块140包括在执行单元上调度指令/操作的调度器单元。例如,浮点指令在具有可用浮点执行单元的执行单元端口上调度。与执行单元相关联的寄存器文件也包括在内,以存储信息指令处理结果。示范执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元及其它已知执行单元。
较低级数据高速缓存和数据转换缓冲区(D-TLB) 150耦合到执行单元140。数据高速缓存要存储最近使用/操作针对的元素,如数据运算符,这些元素可能以存储器一致性状态中保持。D-TLB要用于存储最近的虚拟/线性到物理地址转换。作为一个特定的示例,处理器可包括页表结构(structure)以将物理存储器分解为多个虚拟页面。
此处,核101和102共享对更高级或更外层(further-out)高速缓存的访问,如与芯片上接口110相关联的第二级高速缓存。注意,更高级或更外层指增大或变得离执行单元更远的高速缓存级。在一个实施例中,更高级高速缓存是末级数据高速缓存 - 处理器100上存储器层次结构中的末级高速缓存 - 如第二或第三级数据高速缓存。然而,更高级高速缓存并非受如此限制,因为它可与指令高速缓存相关联或者包括指令高速缓存。追踪高速缓存 - 一种类型的指令高速缓存 - 可转为在解码器1125后耦合以存储最近解码指令。此处,指令可能指可解码成多个微指令(宏操作)的宏指令(即,解码器识别的通用指令)。
在所示配置中,处理器100也包括芯片上接口模块110。从历史而言,下面更详细描述的存储器控制器已包括在处理器100外部的计算系统中。在此情形中,芯片外接口11要与处理器100外部的装置进行通信,如系统存储器175、芯片集(经常包括连接到存储器175的存储器控制器中心(hub)和连接外设装置的I/O控制器中心)、存储器控制器中心、北桥或其它集成电路。而且在此情形中,总线105可包括任何已知互连,如多点(mutli-drop)总线、点对点互连、串行互连、并行总线、相干(例如,高速缓存相干)总线、分层协议体系结构、差分总线及GTL总线。
存储器175可专用于处理器100或者与系统中的其它装置共享。存储器175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)和其它已知存储装置。注意,装置180包括图形加速器、耦合到存储器控制器中心的处理器或卡、耦合到I/O控制器中心的数据存储区、无线收发器、闪存装置、音频控制器、网络控制器或其它已知装置。
然而,近来,随着更多的逻辑和装置集成在单个晶片上,如SOC,这些装置每个可包含在处理器100上。例如,在一个实施例中,存储器控制器中心是在与处理器100相同的封装和/或晶片上。此处,核110的一部分(核上(on-core)部分)包括用于与诸如存储器175或图形装置180等其它装置连接的一个或更多个控制器。包括用于与此类装置连接的互连和控制器的配置经常称为核上(on-core)(或非核心(un-core)配置)。例如,芯片上接口110包括用于芯片上通信的环形互连和用于芯片外通信的高速串行点对点链路105。然而,在SOC环境中,诸如网络接口、协处理器、存储器175、图形处理器180及任何其它已知计算机装置/接口等甚至更多装置可集成在单个晶片或集成电路上,以提供带有高功能性和低功耗的小形状(small form factor)。
在一个实施例中,处理器100能够执行编译、转换和/或优化应用代码176的编译器、优化和/或转换器代码177以支持本文中所述设备和方法或与其连接。编译器经常包括程序或程序集以将源文本/代码转换成目标文本/代码。通常,通过编译器的程序/应用数据的编译在多个阶段和通过完成,以将高级编程语言变换成低级机器或汇编语言代码。然而,单通编译器可仍用于简单的编译。编译器可利用任何已知的编译技术,并执行任何已知的编译器操作,如词汇分析、预处理、解析、语义分析、代码生成、代码变换及代码优化。
更大的编译器经常包括多个阶段,但这些阶段通常包括在两个一般阶段内:(1)前端,即通常可发生合成处理、语义处理及一些变换/优化之处,以及(2)后端,即通常发生分析、变换、优化和代码生成之处。一些编译器涉及中间端,这示出了在编译器的前端与后端之间划界(delineation)的模糊性。因此,对编译器的插入、关联、生成或其它操作的引用可在任何上述阶段或通过中及编译器的任何其它已知阶段或通过中发生。作为说明性示例,编译器可能在编译器的一次或多次通过中插入操作、调用、函数等,如在编译的前端阶段调用/操作的插入和随后在变换阶段期间调用/操作到更低级代码的变换。注意,在动态编译期间,编译器代码或动态优化代码可插入此类操作/调用以及为在运行时期间的执行优化代码。作为特定的说明性示例,可在运行时期间动态优化二进制代码(已经编译的代码)。此处,程序代码可包括动态优化代码、二进制代码或其组合。
类似于编译器,诸如二进制转换器等转换器静态或动态转换代码以优化和/或转换代码。因此,对代码的执行、应用代码、程序代码或其它软件环境的引用可指:(1)编译器程序、优化代码编译器或转换器动态或静态执行,以编译程序代码,维护软件结构(structure),执行其它操作,优化代码或者转换代码;(2)诸如已优化/编译的应用代码等包括操作/调用的主程序代码的执行;(3)诸如库等与主程序代码相关联的其它程序代码的执行,以维护软件结构(structure),执行其它软件有关的操作,或者优化代码;或者(4)其组合。
管理控制器是许多计算机系统,特别是服务器计算机中的常见组件。分布式管理任务组(DMTF)已定义了称为管理组件传输协议(MCTP),要通过外设组件快速互连(PCIe™)链路传递的协议。此协议促进了在平台中两个或更多个管理控制器之间和在管理控制器与平台中受管理装置之间的通信。
由DMTF定义的第二协议是网络控制器边带接口(NC-SI),它定义使用MCTP携带到具NC-SI/MCTP能力的网络控制器以允许边带连网到管理控制器的通信协议的有效负载和命令。这些协议MCTP和NC-SI用于建立到网络控制器的边带连接。但管理控制器与根据其它协议进行通信的装置不兼容。
在各种实施例中,为支持在管理控制器与通用串行总线(USB)装置之间的通信,一种技术用于隔离选择的USB端点,并且使用PCIe™供应商定义的消息(VDM)向和从这些USB端点隧穿USB分组。此外,可通过USB协议映射MCTP消息以在USB装置中具MCTP能力的端点与管理控制器之间提供端对端MCTP协议。虽然不同的消息格式和封装可用于实现此功能性,但为便于解释,本文中描述了一种示例格式。
USB规范未提供MCTP的等效物,并且还未提供对MCTP的支持。管理USB装置的USB主机控制器一般是PCIe™装置,并且根据本文中的实施例,也可配置成具MCTP能力,至少表现在它可以能够传递USB分组内嵌入的MCTP分组。这样,MCTP可用于通过USB主机控制器将USB分组从管理控制器隧穿到USB装置端点。
在各种实施例中,管理控制器可以是独立组件,如集成电路(IC)或诸如处理器等另一IC的集成组件,例如,SoC。诸如包括管理信号、控制和状态信号等边带通信的管理通信可经诸如PCIe™通信等另一协议的一个或更多个隧穿的通信和/或USB通信内MCTP数据的隧穿来传递。实施例可还提供用于隔离USB装置的一个或更多个端点(或整个USSB装置)(至少暂时和可能永久性)和诸如SoC等主机处理器,以允许向主机处理器保持隐藏在端点与管理控制器之间的私有通信。
为实现所有此功能性,VDM可在从管理控制器到端点的下游方向生成和传递,且反之亦然。这些VDM消息可包括各种信息,包括识别在VDM消息上要执行的动作的隧穿信息。另外,提供数据流协议以允许在管理控制器与端点之间的所需通信。
现在参照图2,图中所示是根据本发明的一实施例的系统的框图。如图2所示,系统200可以是任何类型的计算装置,例如,范围涉及服务器计算机到诸如智能电话、平板计算机、Ultrabook™计算机等的便携式计算装置。如图所示,系统200包括在各种实施例中可以是多核处理器或其它类型的SoC的主机处理器210。要理解的是,此类SoC可包括许多不同类型的组件和功能性,如上所述。主机处理器210经结构215与系统的另外电路进行通信,在一实施例中,结构215可提供用于适当地经相干和非相干互连耦合主机处理器210到系统的其它组件的通信协议。
作为示例组件,系统200包括管理控制器220。在图2的实施例中,管理控制器(MC)220包括VDM逻辑225,其细节将在下面进一步描述。通常,管理控制器220可执行用于系统的管理控制活动,包括监视系统的各种传感器的状态,如环境传感器,例如温度和其它传感器,经远程通信路径执行管理通信,例如,经千兆比特以太网网络接口控制器(NIC) 240和其它组件。
仍参照图2,USB主机控制器230是允许各种USB装置耦合到系统的集线器装置。要注意的是,此类装置可永久性固定在系统内,或者能够轻松安装和从系统卸下,如熟悉的拇指驱动器、USB鼠标、键盘等等。在图2所示特定实施例中,USB主机控制器230包括过滤逻辑235。过滤逻辑235可用于隔离一个或更多个USB装置(和/或其中的端点)和在主机处理器210上执行的主机操作系统(OS),或者向在主机处理器210上执行的主机操作系统(OS)隐藏一个或更多个USB装置(和/或其中的端点),同时,允许此类隐藏装置可由管理控制器220访问。为有助于装置和/或端点从主机处理器的此类过滤,过滤逻辑235可与耦合到逻辑的过滤列表238进行通信。如下面将进一步描述的一样,此过滤列表可基于从管理控制器收到的信息填充,以至少在包括于此过滤列表上的持续时间内识别要受控制以保持向主机OS隐藏的一组装置和/或端点。
如在图2中还看到的一样,主机控制器230还包括对应VDM逻辑234,该逻辑可配置成接收来自管理控制器220的进入VDM,并且将包括USB隧道VDM报头的报头中的信息解码,以识别隧道消息的类型,并且采取如下关于图3和4的数据流所述的适当动作。虽然示为包括单独的逻辑,但要理解的是,主机控制器230可通常包括硬件、软件、固件及通常称为逻辑的其通信,以允许处理和传递在管理控制器220与一个或更多个USB装置内的某些端点之间基于MCTP的信息。
多个USB装置可经USB总线250耦合到USB主机控制器230。在所示实施例中,USB装置包括网络控制器260和多功能USB装置270,网络控制器260可以是例如用于3G或4G无线网络的无线接口。作为一个此类示例,多功能装置270可以是包括多个逻辑装置275a-275n的组合键盘/鼠标控制器。每个这些装置可耦合到对应端口272a-272n。虽然在图2的实施例中在此高级别示出,但要理解的是,本发明的范围在此方面并无限制。
转过来参照管理控制器220,在一实施例中,可经管理控制器的VDM生成器/接收逻辑235执行通过PCIe™ VDM的USB隧穿。在一实施例中,此VDM称为“USB隧道VDM”,并且用于与USB主机控制器交互。此交互可以几种方式实现。在一种方式中,在USB装置中的目标端点与MCTP不兼容时(或者甚至在装置具MCTP能力的情况下),通信可经在此VDM内封装的USB分组。在另一方式中,在目标端点与MCTP兼容时,VDM逻辑225可生成本身封装在USB分组内的MCTP分组,而USB分组又封装在VDM中。
根据本发明的一实施例的VDM的结构如图3中所示。如在图3中看到的一样,分组300允许通过PCIe™链路隧穿USB分组数据(本身可包括封装的MCTP分组)。在图3的实施例中,分组300包括PCIe™ VDM报头310和PCIe™ VDM数据部分320。分组报头310包括PCIe™介质特定报头312和USB隧道VDM报头314。通常,PCIe™特定报头312包括常规PCIe™报头信息,并且USB隧道VDM报头314包括要用于USB通信目的的隧道特定信息。具体而言,此USB隧道VDM报头314包括指示在生成的VDM的类型的隧道消息类型。下面进一步描述示例VDM类型。在隧道VDM报头314中也存在允许识别报头版本、要生成的令牌的类型和寻址信息的另外信息。
在图3的实施例中,VDM的字段如下面表1中定义。
表1
VDM的“隧道消息类型”字段又指定在VDM上要执行的动作,并且如表2中所示,包括基于编码要执行的动作的多个类型。
表2
在一实施例中,在接收USB_TUNNEL_OUT_REQUEST时,USB主机控制器从USB隧道VDM报头提取PID、ADDR和ENDP,并且生成带有指定的PID、ADDR和ENDP的3B或6B令牌(取决于E比特)以便传递到导向端点。在传递令牌后,USB主机控制器使用PCIe™ VDM有效负载生成DATA0分组。从装置传递的握手分组作为USB_TUNNEL_HANDSHAKE VDM被隧穿回管理控制器。
图4中示出用于包括从管理控制器传递到主机控制器的数据,从管理控制器到主机控制器的下游通信的数据流状态机。传递的数据的示例包括网络分组、要写入拇指驱动器的文件的内容等。如图4中看到的一样,方法400可执行以在各种组件之间提供数据流通信。具体而言,通过从管理控制器到主机控制器的USB Tunnel out请求的传递,可启动数据流(框410)。响应此请求,主机控制器生成并且传递令牌到适当的装置(框420)。此令牌之后是与Tunnel out请求相关联的数据(框430)。装置可进行三个行为之一:发送确认(ACK)(框435),发送否定确认(NAK)(框440)或发送停止(stall)信号(框445)。在一实施例中,如果端点缓冲器已满,例如,由于以前的数据尚未处理,则可出现NAK。在一实施例中,如果端点有错误,并且寻求暂停执行,则可发送停止信号。基于从装置收到的响应的类型,从主机控制器将握手隧道消息发送到管理控制器(框450)以通知管理控制器数据输送的状态。
在接收USB_TUNNEL_IN_REQUEST时,USB主机控制器从USB隧道VDM报头提取PID、ADDR和ENDP,并且生成带有指定的PID、ADDR和ENDP的3B或6B令牌(取决于E比特)。用于USB_TUNNEL_IN_REQUEST的有效负载长度为0。如果响应令牌而收到NAK或STALL,则将握手分组作为握手VDM返回到管理控制器(例如,在它没有数据要发送时的NAK;如果它有错误,则为STALL)。如果收到DATA0分组,则将USB_TUNNEL_DATA_NOTIFY分组返回到MC。
图5中示出用于从管理控制器到主机控制器以请求和接收来自端点的数据的上游通信的数据流状态机。如图5中看到的一样,方法500可执行以在各种组件之间提供数据流通信。具体而言,通过从管理控制器到主机控制器的USB Tunnel IN请求的传递,可启动数据流(框510)。响应此请求,主机控制器生成并且传递令牌到适当的装置(框520)。响应此令牌,装置又进行三个行为之一:即,将数据传递回主机控制器(框530),发送NAK(框535),或者发送停止信号(框540)。对于NAK或停止信号,控制传递到框570,在该框中,主机控制器将USB隧道握手分组发送到管理控制器。相反,在有效传递数据时,将ACK消息发送到装置(框550),并且经USB隧道数据NOTIFY分组将数据传递到管理控制器(框560)。
使用此VDM,将USB_TUNNEL_HANDSHAKE分组从装置隧穿回管理控制器。在一实施例中,有效负载长度为0,并且PID指示握手分组类型。在USB主机控制器生成SETUP令牌时,例如,在插入新USB装置时,它使用USB_TUNNEL_NOTIFY_SETUP分组,将SETUP令牌的副本发送到管理控制器。此分组允许管理控制器了解何时指派了新装置地址。在一实施例中,VDM的有效负载包含SETUP消息的字节0-7。
USB_TUNNEL_POLL_REQUEST VDM由管理控制器用于配置地址和端点号的列表以根据例如每微帧一次等预确定的间隔生成IN类型事务处理。在此类实施例中,VDM有效负载包含在微帧中请求轮询是否有中断传送的多达例如16个ADDR+ENDP对。响应此请求,使用用于每个配置的端点的3B或6B令牌(如在E比特中指定的一样),为每个微帧启动IN类型事务处理一次。如果DATA0分组由MCTP端点返回,则它在包括此DATA0分组的USB_TUNNEL_DATA_NOTIFY消息中被隧穿回到管理控制器。如果收到NAK或STALL,则不采取动作。在一实施例中,可在总线上分配的一部分非特定带宽上执行此类轮询。
USB_TUNNEL_FILTER_REQUEST允许管理控制器执行功能,如暂时分隔选择的装置和装置中的端点,防止通过主机处理器的访问(例如,用户操作系统/虚拟机监视器(OSAMM)在其上执行)。在一实施例中,过滤列表被配置为ADDR+ENDP对的列表。在一实施例中,此过滤列表可存储在主机控制器的存储区中。如果ENDP被配置为预确定的值(例如,0),则它指示滤除装置ADDR中的所有端点。
USB主机控制器为过滤列表中的装置和/或端点暂停从OSA MM提交的待定I/O请求分组(IRP)的处理。在此情况下,在从周期性或异步时间表中挑选IRP事务处理描述符时,如果ADDR和/或ENDP已滤除,则忽略该IRP事务处理描述符,并且USB主机控制器继续到时间表中的下一事务处理描述符。要注意的是,无论过滤设置如何,可重视通过USB隧道VDM收到的IN/OUT事务请求。
对于到USB的MCTP绑定,可使用上述PCIe™ VDM隧道消息携带USB分组。
端点是作为在主机与装置之间通信的界标的USB装置的可独特识别的部分。每个USB逻辑装置由独立端点的集合组成。每个逻辑装置具有在装置附连时由系统指派的独特地址。装置的每个端点又在设计时被赋予称为端点号的独特装置确定的标识符。每个端点具有数据流的装置确定的方向。装置地址、端点号和方向的组合允许独特地引用每个端点。每个端点是提供在一个方向上支持数据流的单向连接的逻辑:输入(从主机控制器到装置)或输出(从装置到主机控制器)。在一实施例中,支持MCTP的USB装置实现用于发送(MEP-OUT)和接收(MEP-IN)在管理控制器与USB装置之间的MCTP分组的至少一对端点(MEP-IN和MEP-OUT)。在一个实施例中,端点号对于此对的两个端点是相同的。
现在参照图6,图中所示是根据本发明的一实施例的USB装置的框图。如图6所示,装置600可以是任何类型的USB装置,范围涉及存储装置到用户接口装置到可配置成根据USB规范操作的任何其它装置。如图所示,装置600是包括至少一个逻辑子装置或功能610的物理装置。功能610又包括多个接口612a-612c。这些接口每个可包括多个端点,即端点613a-613c。这些功能之一是MCTP功能或逻辑装置620。此逻辑装置又可包括多个端点630o-630n。除这些基于USB的端点外,提供了可配置成根据MCTP协议进行通信,使得在管理控制器与装置600之间能够传递MCTP分组的至少一对MCTP端点640o-640i。要注意的是,虽然在图6中示有这些有限的功能、逻辑装置和端点,但要理解的是,在不同实现中,可存在更多的此类功能、逻辑装置和端点。
在一实施例中,MCTP端点具有以下特性:传送类型是中断;使用类型是数据端点;最大分组大小是64B;每微帧事务处理的数量为1;以及用于轮询数据传送的间隔是每微帧1次。
在一实施例中,数据传送使用如USB 2.0规范中定义的DATA0分组格式执行,并且令牌分组使用如USB 2.0链路功率管理规范中指定的扩展PID格式。
下面的表3示出根据本发明的一实施例,用于MCTP数据传送的扩展令牌格式。
表3
识别MCTP令牌的子PID类型如下面表中所示。
表4
要注意的是,MCTP-IN和MCTP-OUT令牌可与用于常规端点的IN和OUT令牌服务于相同目的。
现在参照图7,图中所示是根据本发明的一实施例,其中包括封装或隧穿的MCTP分组的USB分组的框图。如图所示,分组700是包括具有PID的USB数据分组报头710的USBDATA0分组。USB分组报头之后是MCTP传输报头720,它是根据MCTP的报头。此报头之后是包括MCTP消息数据和消息完整性校验的MCTP分组有效负载730,在一实施例中,消息完整性校验可经循环冗余校验和(CRC)实现。最后,USB数据分组尾部740在此分组有效负载字段之后。在一实施例中,此尾部可包括CRC16校验和。
要理解的是,MCTP分组到USB分组中的此封装是为了在管理控制器与USB装置的MCTP端点之间的通信。相反,在管理控制器与缺乏此类MCTP端点的USB装置之间的通信的实现中,可直接将基于MCTP的数据而不是MCTP封装放置到USB分组的数据有效负载部分。此外,可过滤此类USB装置,通过从OS过滤出主要功能而接管主要功能。此外,要注意的是,虽然在此实施例中是封装到USB分组中,但理解在其它实施例中可出现不同格式。此外,要理解的是,虽然MCTP分组示为封装到USB分组中,但此USB分组本身能够封装在PCIe™分组内以便经PCIe™链路在USB主机控制器与管理控制器之间传递。还有,在其它实施例中可出现根据不同协议的其它封装。
要注意的是,MCTP端点未描述成在使用端点描述符的主机处理器上的客户端软件执行。在一实施例中,管理控制器能够使用以下序列查询默认控制端点(0)以获得MCTP端点号:管理控制器将MCTP-OUT令牌发送到默认控制端点;管理控制器在DATA0分组中将QUERY_MCTP_EP_REQUEST MCTP供应商定义的消息发送到默认控制端点;管理控制器将MCTP-IN令牌发送到默认控制端点;以及默认控制端点通过带有用于MCTP端点的端点号的DATA0分组做出响应。
下面在表5中示出根据一实施例的QUERY_MCTP_EP_REQUEST MCTP供应商定义的消息的格式。
表5
即使USB地址指派均已完成,则USB装置默认控制端点响应MCTP消息。接收响应MCTP_IN令牌的NAK或超时到默认控制端点指示装置不支持MCTP,并且因此未利用本文中描述的实施例的益处。
USB不是广播总线,并且因此,用于USB的发现协议不同于通过PCIe™链路执行的MCTP发现。在一实施例中,在主机控制器通知管理控制器SETUP事件时,发现由其触发。在收到SETUP事件通知时,管理控制器SETUP事务处理是否为SET_ADDRESS事务处理,并且如果是,则使用QUERY_MCTP_EP_REQUEST,查询用于该装置的MCTP端点号的默认控制端点。在那时,管理控制器生成到该USB端点的ENDPOINT_DISCOVERY MCTP消息,并且继续进行MCTP端点指派,例如,如在来自DMTF的MCTP规范DSP0236中描述的一样。
现在参照图8,图中所示是根据本发明的一实施例,互连各种系统的网络的框图。如图8所示,网络800可以是经企业的信息技术(IT)系统810部分实现的宽域网。例如,IT系统810可以是充当用于IT人员的接口以提供服务到诸如企业智能电话850的用户等用户的客户端计算机系统或服务器系统,企业智能电话850可以是指派到企业的员工的智能电话。当然,要理解的是,客户端系统可在其它实施例中采取其它形式。
如图所示,在IT系统810与企业智能电话850之间的通信可经过蜂窝网络820,例如,给定3G或4G无线网络。当然,要理解的是,装置可以其它方式互连,包括经能够是有线或无线的局域网,或者也经有线宽域网。在客户端系统是诸如客户端计算机系统等另一类型的计算装置时的情况下,情况尤其是如此,例如,桌面系统。
在图8的实施例中,智能电话850包括SoC 860,如上所述。为便于讨论,此处SoC860包括根据本文中一实施例的管理控制器865。此管理控制器能够根据本文中所述隧穿协议,经USB主机控制器870与一个或更多个USB装置传递MCTP消息。虽然示为单独的组件,但要理解的是,在某些实现中,主机控制器870可在SoC 860内实现。
图8中示出智能电话850的其它细节。具体而言,另外的组件包括允许经一个或更多个无线网络进行通信的无线接口855,包括经蜂窝网络820传递分组。例如,无线接口855可适应多个无线协议,包括根据例如3G或4G标准的蜂窝通信、诸如根据电气和电子工程师协会(IEEE) 802.11协议的局域网协议、Bluetooth™协议或其它协议的局域无线协议。
另外,智能电话850还包括在图8的实施例中实现为闪存存储器的非易失性存储装置875。此闪存存储器可用于海量存储器及在操作期间用于系统的系统存储器。另外,键盘控制器880耦合到主机控制器870。要理解的是,虽然在图8中示为已连接,但无线接口和其它组件可能经主机控制器870耦合到SoC。
通过允许在IT系统810与智能电话850之间的通信,IT人员能够在智能电话上执行管理操作。为此,此类通信可使用管理器865内的逻辑进行以允许以向SoC 860的其它部分隐藏的方式执行管理操作,如操作系统和其它系统软件在上面执行的一个或更多个核。
这些管理通信可以是用于执行诊断、维护操作或诸如此类。另外,如果智能电话850被窃或以其它方式受损,则IT人员能够启动擦除操作以促使闪存存储器内的所有存储区或系统的其它非易失性存储装置被擦除,由此阻止恶意用户访问装置上的企业数据和任何其它信息。此外,经智能电话阻止通信的其它操作也能够以此方式进行。
现在参照图9,图中所示是根据本发明的一实施例,用于在客户端系统上执行远程控制操作的方法的流程图。更具体地说,根据本发明的一实施例,方法900可用于使用隧穿MCTP通信协议执行远程控制操作。如图所示,方法900可以在企业系统的管理控制器中接收来自IT系统的远程控制消息开始(框910)。例如,再参照图8,假设管理控制器965接收从IT系统810启动的远程控制消息。虽然此远程控制消息可采取许多形式,但消息可包括请求远程控制操作的性能的MCTP分组。这些操作是多样的,并且能够包括许多不同类型,如诊断、其它测试、状态请求等等。此通信可经任何给定网络,并且可在管理控制器865内收到,管理控制器865可将消息解码以确定响应消息要执行的适当操作。
然而,最初管理控制器可先确定此远程控制消息是否通过鉴权(菱形920)。可执行各种鉴权协议的一个选择协议以确定消息的真实性。如果确定消息不是真实的,例如,从恶意来源收到,或者不是适当的消息,则控制传递到框930,在该框中,可忽略消息。
仍参照图9,否则如果消息通过鉴权,则控制传递到框940,在该框中,可生成和发送VDM消息到主机控制器。在一实施例中,可根据上面在图3中示出的格式,生成此VDM消息。作为示例,此VDM消息可包括有关从远程IT来源收到的远程控制消息的命令。接着,控制传递到框950,其中,此VDM消息的接收者,即,主机控制器能够处理VDM消息以允许与企业系统的组件进行通信。在本文中描述的上下文中,USB主机控制器可通过解析消息以提取USB数据部分,并且基于解析的信息,将它传递到适当USB装置来处理消息。最后,控制传递到框960,在该框中,能够基于在USB分组中的信息,在组件上执行操作。作为示例,此USB分组可包括来自从远程IT来源收到的原始MCTP消息的封装信息。当然,另外的操作可在此方法内进行,包括经主机控制器传递回管理控制器,这又可造成在管理控制器与远程IT来源之间的另外通信。
要注意的是,响应此消息,可在企业系统的组件上执行各种操作。假设在第一示例中,远程控制操作要请求在SoC上运行诊断。相应地,管理控制器可将请求发送到SoC、闪存存储器和/或智能电话的其它组件以便执行诊断和接收诊断的结果,并且将结果往回报告给IT系统。
作为另一示例,假设远程控制操作是擦除命令以促使擦除系统的闪存存储器的内容。在此示例中,管理控制器可以透明方式经到闪存存储器的边带通信启动擦除命令,以促使擦去闪存存储器,从而防止例如恶意用户进一步访问在闪存存储器上的所有信息。当然,许多其它远程控制操作是可能的。作为一个示例,管理控制器可促使隔离USB键盘和主机OS,以允许管理控制器从远程IT人员启动的消息输入安全密码。这样,键盘装置的临时隔离允许此密码的用户输入发送到远程IT人员,从而允许IT人员进一步访问系统的组件。另一示例可用于允许本地用户响应远程IT系统呈现的菜单。
一个互连结构体系结构包括外设组件互连(PCI) Express (PCIe)体系结构。PCIe的主要目的是允许来自不同供应商的组件和装置在开放体系结构中互操作,跨多个市场部门、客户端(台式和移动型)、服务器(标准和企业)及嵌入式和通信装置。PCI Express是为广泛的多种将来计算和通信平台定义的高性能通用I/O互连。诸如其使用模型、加载存储体系结构及软件接口等一些PCI属性已通过其修订版得以保持,而以前的并行总线实现已替换成高度可扩展的完全串行接口。PCI Express的更多最近版本利用点对点互连、基于交换的技术及分组化协议中的发展,输送新级别的性能和特征。电源管理、服务质量(QoS)、热插拔/热交换支持、数据完整性及错误处理是PCI Express支持的一些高级特征中的特征。
参照图10,图中示出由将一组组件互连的点对点链路组成的结构的一实施例。系统1000包括处理器1005和耦合到控制器集线器1015的系统存储器1010。处理器1005包括任何处理元件,如微处理器、主机处理器、嵌入式处理器、协处理器或其它处理器。处理器1005通过前端总线(FSB)1006耦合到控制器集线器1015。在一个实施例中,FSB 1006是如下所述的串行点对点互连。在另一实施例中,链路1006包括符合不同互连标准的差分互连体系结构。
系统存储器1010包括任何存储器,如随机存取存储器(RAM)、非易失性(NV)存储器或可由系统1000中装置访问的其它存储器。系统存储器1010通过存储器接口1016耦合到控制器集线器1015。存储器接口的示例包括双倍数据率(DDR)存储器接口、双信道DDR存储器接口和动态RAM (DRAM)存储器接口。
在一个实施例中,控制器集线器1015是外设组件快速互连(PCI或PCIe)互连分层结构中的根集线器、根复合体或根控制器。控制器集线器1015的示例包括芯片集、存储器控制器集线器(MCH)、北桥、互连控制器集线器(ICH)、南桥及根控制器/集线器。术语芯片集经常指两个物理上分隔的控制器集线器,即,耦合到互连控制器集线器(ICH)的存储器控制器集线器(MCH)。要注意的是,当前系统经常包括与处理器1005集成的MCH,而控制器1015要以如下所述类似的方式与I/O装置进行通信。在一些实施例中,通过根复合体1015选择性地支持对等路由选择。
此处,控制器集线器1015通过串行链路1019耦合到交换器/桥接器1020。输入/输出模块1017和1021也可称为接口/端口1017和1021,包括/实现分层协议栈以在控制器集线器1015与交换器1020之间提供通信。在一个实施例中,多个装置能耦合到交换器1020。
交换器/桥接器1020将分组/消息从装置1025往上游,即,朝根复合体到控制器1015向上的分层结构路由,并且往下游,即,离开根控制器从处理器1005或系统存储器1010到装置1025向下的分层结构路由。在一个实施例中,交换器1020称为多个虚拟PCI到PCI桥接器装置的逻辑组合。装置1025包括要耦合到电子系统的任何内部或外部装置或组件,如I/O装置、网络接口控制器(NIC)、插卡、音频处理器、网络处理器、硬盘驱动器、存储装置、CD/DVD ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储装置、Firewire装置、通用串行总线(USB)装置、扫描仪及其它输入/输出装置。在PCIe中,诸如装置等俗话经常指端点。虽然未明确示出,但装置1025可包括PCIe到PCI/PCI-X桥接器以支持遗留或其它版本PCI装置。PCIe中的端点装置经常被归类为遗留PCIe或根复合体集成端点。
图形加速器1030也通过串行链路1032耦合到控制器集线器1015。在一个实施例中,图形加速器1030耦合到MCH,而MCH耦合到ICH。交换器1020和相应地I/O装置1025因而耦合到ICH。I/O模块1031和1018也要实现分层协议栈以在图形加速器1030与控制器集线器1015之间通信。类似于上面的MCH讨论,图形控制器或图形加速器1030本身可集成在处理器1005中。
转到图11,图中示出分层协议的一实施例。分层协议栈2000包括任何形式的分层通信栈,如快速路径互连(QPI)栈、PCIe栈、下一代高性能计算互连栈或其它分层栈。虽然下面参照图11-13紧接着的讨论是关于PCIe栈,但相同概念可应用到其它互连栈。在一个实施例中,协议栈2000是PCIe协议栈,包括事务处理层2005、链路层2010和物理层2020。诸如图10中的接口1017、1018、1021、1022、1026和1031等接口可表示为通信协议栈2000。作为通信协议栈的表示也可指实现/包括协议栈的模块或接口。
PCI Express使用分组在组件之间传递信息。分组在事务处理层2005和数据链路层2010中形成以将信息从传送组件携带到接收组件。在传送的分组流过其它层时,它们扩展带有在那些层处理分组所需的另外信息。在接收侧,反向过程在进行,并且分组从其物理层2020表示变换在n数据链路层2010表示,并且最后(对于事务处理层分组)变换成能够由接收装置的事务处理层2005处理的形式。
在一个实施例中,事务处理层2005要提供在装置的处理核与互连体系结构之间的接口,如数据链路层2010和物理层2020。在此方面,事务处理层2005的主要责任性是分组(即,事务处理层分组或TLP)的组合和分解。事务处理层2005一般管理用于TLP的信用基础流控制。PCIe实现拆分式事务处理,即,带有按时间分隔的请求和响应的事务处理,从而在目标装置收集用于响应的数据的同时,允许链路携带其它业务。
另外,PCIe利用基于信用的流控制。在此方案中,装置广告用于事务处理层2005中每个接收缓冲器的信用的初始量。诸如图10中控制器集线器1015等在链路的相对侧的外部装置统计每个TLP消耗的信用的数量。如果事务处理不超过信用限制,则可传递事务处理。在接收响应时,恢复信用的量。信用方案的优点在于假设未遇到信用限制,则信用返回的迟滞不影响性能。
在一个实施例中,四个事务处理地址空间包括配置地址空间、存储器地址空间、输入/输出地址空间和消息地址空间。存储器空间事务处理包括读取请求和写入请求的一个或更多个请求以向/从存储器映射的位置传送数据。在一个实施例中,存储器空间事务处理能够使用两种不同的地址格式,例如,诸如32比特地址等短地址格式或诸如64比特地址等长地址格式。配置空间事务处理用于访问PCIe装置的配置空间。对配置空间的事务处理包括读取请求和写入请求。消息空间事务处理(或简单而言的消息)被定义成支持在PCIe代理之间的带内通信。
因此,在一个实施例中,事务处理层2005组合分组报头/有效负载2006。用于当前分组报头/有效负载的格式可在PCIe规范网站的PCIe规范中找到。
快速转到图12,图中示出PCIe事务处理描述符的一实施例。在一个实施例中,事务处理描述符3000是用于携带事务处理信息的机制。在此方面,事务处理描述符3000支持系统中事务处理的标识。其它可能的使用包括跟踪默认事务处理排序的修改和事务处理与信道的关联。
事务处理描述符3000包括全局标识符字段3002、属性字段3004和信道标识符字段3006。在所示示例中,全局标识符字段3002示为包括本地事务处理标识符字段3008和来源标识符字段3010。在一个实施例中,全局事务处理标识符3002对于所有未决请求是独特的。
根据一种实现,本地事务处理标识符字段3008是由请求代理生成的字段,并且它对于要求用于该请求代理的完成的所有未决请求是独特的。此外,在此示例中,来源标识符3010独特地识别PCIe分层结构内的请求者代理。相应地,与来源ID 3010一起,本地事务处理标识符3008字段提供分层结构域内事务处理的全局标识。
属性字段3004指定事务处理的特性和关系。在此方面,属性字段3004可能用于提供允许修改事务处理的默认处理的另外信息。在一个实施例中,属性字段3004包括优先级字段3012、预留字段3014、排序字段3016及无探听字段3018。此处,优先级子字段3012可由启动者修改以指定优先级到事务处理。预留属性字段3014保持预留用于将来或供应商定义的使用。使用优先级或安全性属性的可能使用模型可使用预留属性字段实现。
在此示例中,排序属性字段3016用于供应传达排序的类型的可选信息,信息可修改默认排序规则。根据一个示例实现,排序属性“0”表示要应用默认排序规则,其中,排序属性“1”表示宽松的排序,其中,写入能够通过在相同方向上的写入,并且读取完成能够通过在相同方向上的写入。探听属性字段3018用于确定是否探听事务处理。如图所示,信道ID字段3006识别与事务处理相关联的信道。
链路层2010也称为数据链路层2010,充当在事务处理层2005与物理层2020之间的中间级。在一个实施例中,数据链路层2010的责任是提供用于在链路的两个组件之产是交换事务处理层分组(TLP)的可靠机制。数据链路层2010的一侧接受由事务处理层2005组合的TLP,并且应用分组序列标识符2011,即,标识号或分组号,计算和应用检错代码,即,CRC 2012,并且将修改的TLP提交到物理层2020以便实现跨物理到外部装置的传送。
在一个实施例中,物理层2020包括逻辑子块2021和电气子块2022以将分组物理传送到外部装置。此外,逻辑子块2021负责物理层2021的“数字”功能。在此方面,逻辑子块包括准备外出信息以供物理子块2022传送的传送段和在将收到的信息传递到链路层2010前识别和准备它的接收器段。
物理块2022包括传送器和接收器。传送器由逻辑子块2021供应有符号,传送器将符号串行化并且传送到外部装置上。接收器供应有来自外部装置的串行化符号,并且将收到的信号变换成比特流。比特流被去串行化并且供应到逻辑子块2021。在一个实施例中,采用8b/10b传送代码,其中,传送/接收10比特符号。此处,特殊符号用于构造带有帧2023的分组。另外,在一个示例中,接收器也提供从进入串行流恢复的符号时钟。
如上所述,虽然参照PCIe协议栈的一特定实施例讨论了事务处理层2005、链路层2010和物理层2020,但分层协议栈不受如此限制。实际上,可包括/实现分层协议。作为示例,表示为分层协议的端口/接口包括:(1)组合分组的第一层,即,事务处理层;将分组排序的第二层,即,链路层;以及传送分组的第三层,即,物理层。作为特定示例,利用了公用标准接口(CSI)分层协议。
接着参照图13,图中示出PCIe串行点对点结构的一实施例。虽然示出了PCIe串行点对点链路的一实施例,但由于串行点对点链路包括用于传送串行数据的任何传送路径,因此,它并不受如此限制。在所示实施例中,基本PCIe链路包括两个低电压差分驱动信号对:传送对4006/4011和接收对4012/4007。相应地,装置4005包括传送逻辑4006以将数据传送到装置4010,并且接收逻辑4007以接收来自装置4010的数据。换而言之,在PCIe链路中包括两个传送路径(即,路径4016和4017)和两个接收路径(即,路径4018和4019)。
传送路径指用于传送数据的任何路径,如传送线路、铜线、光学线路、无线通信信道、红外通信链路或其它通信路径。在诸如装置4005和装置4010等两个装置之间的连接称为链路,如链路4015。链路可支持一个通路 - 每个通路表示一组差分信号对(一对用于传送,一对用于接收)。为换算带宽,链路可聚合由xN表示的多个通路,其中,N是任何支持的链路宽度,如1、2、4、8、16、32、64或更宽。
差分对指传送差分信号的两个传送路径,如线路4016和4017。作为示例,在线路4016从低电压电平切换到高电压电平,即上升缘时,线路4917从高逻辑电平驱动到低逻辑电平,即,下降缘。差分信号可能展示更佳的电气特性,如更佳的信号完整性,即,交叉耦合、电压过冲/欠冲、振铃等。这允许实现更佳的定时窗口,更佳的定时窗口允许更快的传送频率。
以下示例涉及其它实施例。
在一个示例中,设备包括主机控制器,主机控制器要耦合到配置成检测第一消息类型的消息的管理控制器和要耦合到配置成检测第二消息类型的消息和第三消息类型的消息的端点装置,主机控制器将第二消息类型的消息发送到端点装置,其中,第二消息类型的消息包括在第一消息类型的消息中在主机控制器中收到的来自管理控制器的第三消息类型的消息,主机控制器包括隔离逻辑(sequestration logic)以将端点装置从主机处理器隔离。在一个示例中,主机控制器还包括映射逻辑以将第一消息类型的消息映射到第二消息类型的消息,以在管理控制器与端点装置之间提供端对端协议。
在示例中,主机控制器包括第一逻辑以接收来自管理控制器的第一隧道请求,响应第一隧道请求而生成和发送令牌到端点装置,响应第一隧道请求,将从管理控制器收到的数据发送到端点数据,以及之后将隧道握手分组发送到管理控制器以指示数据的状态。
在示例中,第一逻辑要接收来自管理控制器的第二隧道请求,响应第二隧道请求而生成和发送第二令牌到端点装置,以及经隧道通知消息将从端点装置收到的数据发送到管理控制器。
在示例中,第一逻辑要接收来自管理控制器,包括端点装置列表的第三隧道请求,以请求对应端点装置的轮询,其中,响应第三隧道请求,主机控制器要在某个通信帧期间,启动到每个端点装置的数据请求。
在示例中,第一逻辑要响应数据请求将在第一通信帧中从第一端点装置收到的第一数据发送到管理控制器,其中,响应未从第一端点装置接收响应数据请求的确认消息或停止(stall)消息,第一逻辑将不发送消息到管理控制器。
在示例中,第一逻辑将响应端点装置的插入而生成设置令牌,并且将设置令牌传递到管理控制器和主机处理器,其中,设置令牌将与端点装置的标识一起发送到管理控制器,并且设置令牌将发送到主机控制器而无端点装置标识。
在示例中,第一逻辑将接收来自用于端点装置的管理控制器的过滤请求,并且响应过滤请求,暂停来自用于端点装置的主机处理器的输入/输出请求分组(IRP)的处理,以及响应来自管理控制器的隧道请求,允许在端点装置与管理控制器之间发送数据。
在示例中,主机控制器将在端点装置传递的第二消息类型的USB分组内接收第三消息类型的MCTP分组,并且在第一消息类型的PCIe™分组内传递USB分组到管理控制器。
在一个示例中,设备包括USB装置,USB装置包括具有地址的至少一个逻辑装置,该至少一个逻辑装置包括多个端点,每个端点具有端点号和流向,其中,多个端点包括发送在USB分组中嵌入的一个或更多个MCTP分组的第一MCTP端点和接收在USB分组中嵌入的一个或更多个MCTP分组的第二MCTP端点。
在示例中,USB装置耦合到主机控制器,主机控制器经PCIe™协议与耦合到USB装置的管理控制器进行通信。
在示例中,响应从管理控制器收到的对数据的请求,第一MCTP端点要将数据插入第一MCTP分组,并且将MCTP分组封装到第一USB分组中。
在示例中,主机控制器要在PCIe™分组内封装第一USB分组,并且将PCIe™分组发送到管理控制器。
在示例中,主机控制器要将有关除第一和第二MCTP端点外多个端点的第一信息发送到主机处理器,并且将有关第一和第二MCTP端点的第二信息发送到管理控制器,其中,向主机处理器隐藏了第一和第二MCTP端点。
在示例中,主机控制器要响应来自主机处理器的请求,将第一信息发送到主机处理器,并且响应来自管理控制器的通知请求,将第二信息发送到管理控制器。
在一个示例中,设备包括管理控制器以执行与包括主机控制器的多个装置的管理通信,主机控制器配置成与多个USB装置进行通信以耦合到主机控制器,管理控制器包括供应商定义的消息(VDM)逻辑以生成包括封装的USB数据的VDM分组,以便传递到多个USB装置的至少一个装置。
在示例中,封装的USB数据包括用于耦合到主机控制器的第一USB装置的第一MCTP端点的MCTP消息。
在示例中,管理控制器要接收来自远程系统的通信,并且生成VDM分组以请求第一USB装置的第一MCTP端点在第一USB装置上执行动作。
在示例中,第一USB装置包括闪存存储器,并且动作包括闪存存储器的擦除。
在示例中,VDM分组包括PCIe™分组,管理控制器经PCIe™链路耦合到主机控制器。
在示例中,PCIe™分组包括具有PCIe™报头和USB隧道VDM报头的PCIe™ VDM报头和包括USB分组的PCIe™ VDM数据部分,其中,USB分组包括在其中封装的MCTP分组。
在一个示例中,系统包括:主机控制器,与多个USB装置进行通信,并且包括过滤逻辑以过滤来自第一USB装置的MCTP端点的信息,以防止其被发送到主机处理器,并且将MCTP端点信息发送到管理控制器;耦合到主机控制器的USB装置,USB装置包括具有多个端点的至少一个逻辑装置,每个端点具有端点号和流向,其中,多个端点包括发送在USB分组中嵌入的一个或更多个MCTP分组的第一MCTP端点和接收在USB分组中嵌入的一个或更多个MCTP分组的第二MCTP端点;耦合到主机控制器的管理控制器,管理控制器包括VDM逻辑以生成包括封装的USB数据的VDM分组,以便传递到多个USB装置的至少一个装置。
在示例中,系统还包括耦合到主机控制器的SoC,SoC包括多个核、多个高速缓冲存储器、耦合多个核到至少一个外设装置的结构接口及控制SoC的功耗的功率控制器。
在示例中,管理控制器在SoC中实现。
在示例中,系统包括无线通信装置,无线通信装置还包括非易失性存储装置和无线接口。
要注意的是,诸如上述SoC等处理器能够使用各种部件。
在示例中,处理器包含在用户设备触摸启用装置中。
在另一示例中,系统包括显示器和存储器,并且包括上述示例的一个或更多个示例的处理器。
在示例中,管理控制器将接收来自远程系统的消息,并且生成VDM分组以请求第一MCTP端点在第一USB装置上执行动作,第一USB装置包括闪存存储器,并且动作包括闪存存储器的擦除。
在一个示例中,方法包括接收从客户端系统的管理控制器中IT系统启动的远程控制消息,管理控制器耦合到主机控制器,而主机控制器耦合到多个USB装置;响应远程控制消息,在管理控制器中生成VDM,VDM包括MCTP消息以便输送到多个USB装置的第一个装置,促使第一USB装置执行操作;以及将VDM传递到主机控制器,其中,主机控制器不根据MCTP进行通信。
在示例中,VDM包括来自管理控制器的促使主机控制器将令牌传递到第一USB装置的某个MCTP端点,并且之后将从管理控制器收到的数据传递到MCTP端点的第一隧道请求。
在示例中,VDM包括来自管理控制器的促使主机控制器将第二令牌传递到MCTP端点,接收来自MCTP端点的数据,以及将数据传递到管理控制器的第二隧道请求。
在示例中,方法还包括生成VDM以请求MCTP端点启动擦除操作,擦去闪存存储器的内容,其中,向客户端系统的主机处理器隐藏了MCTP端点、VDM和擦除操作。
在另一示例中,包括指令的计算机可读介质要执行上述示例的任何方法。
在另一示例中,设备包括用于执行上述示例的任何一个示例的方法的部件。
要理解的是,上述示例的各种组件是可能的。
实施例可在许多不同类型的系统中使用。例如,在一个实施例中,通信装置能够布置成执行本文中所述各种方法和技术。当然,本发明的范围不限于通信装置,并且其它实施例能够转而涉及用于处理指令的其它类型的设备或包括指令的一个或更多个机器可读介质,指令响应在计算装置上被执行,促使装置执行本文中所述的一种或更多种方法和技术。
实施例可以代码形式实现,并可存储在上面存储有指令的非暂时性存储介质上,这些指令能用于对系统编程以执行指令。存储介质可包括但不限于任一类型的磁盘,包括软盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)和磁光盘、诸如只读存储器(ROM)的半导体装置、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、可擦除编程只读存储器(EPROM)、闪存、电擦除可编程只读存储器(EEEPROM)等随机存取存储器(RAM)、磁卡或光学卡或适用于存储电子指令的任何其它类型的介质。
虽然本发明已相对有限数量的实施例进行了描述,但本领域的技术人员将理解由此产生的多种修改和变化。随附权利要求旨在涵盖本发明真正精神和范围内的此类修改和变化。
Claims (13)
1.一种用于执行管理操作的设备,包括:
主机控制器,控制与多个通用串行总线USB装置的通信,并且耦合到管理控制器和主机处理器,所述主机控制器包括用于过滤来自第一USB装置的管理控制传送协议MCTP端点的信息,以防止其被传递到所述主机处理器,并且用于将所述MCTP端点的所述信息提供到所述管理控制器的过滤部件。
2.如权利要求1所述的设备,其中所述主机控制器包括第一逻辑以接收来自所述管理控制器的第一隧道请求,响应所述第一隧道请求而生成和传递令牌到所述MCTP端点,响应所述第一隧道请求,将从所述管理控制器收到的数据传递到所述MCTP端点,以及之后将隧道握手分组传递到所述管理控制器以指示所述数据通信的状态。
3.如权利要求2所述的设备,其中所述第一逻辑要接收来自所述管理控制器的第二隧道请求,响应所述第二隧道请求而生成和传递第二令牌到所述MCTP端点,以及经隧道通知消息将从所述MCTP端点收到的数据传递到所述管理控制器。
4.如权利要求2所述的设备,其中所述第一逻辑要接收来自所述管理控制器的包括端点列表的第三隧道请求,以请求对应端点的轮询,其中响应所述第三隧道请求,所述主机控制器要在某个通信帧期间,启动到所述列表中每个端点的数据请求。
5.如权利要求4所述的设备,其中所述第一逻辑要响应所述数据请求将在第一通信帧中从第一端点收到的第一数据传递到所述管理控制器,其中在从所述第一端点接收响应所述数据请求的否定确认消息或停止消息时,所述第一逻辑将不发送通信到所述管理控制器。
6.如权利要求2所述的设备,其中所述第一逻辑将响应所述第一USB装置的插入而生成设置令牌,并且将所述设置令牌传递到所述管理控制器和所述主机处理器,其中所述设置令牌与所述MCTP端点的标识一起传递到所述管理控制器,并且所述设置令牌传递到所述主机控制器而无所述MCTP端点标识。
7.如权利要求2所述的设备,其中所述第一逻辑将接收来自用于所述MCTP端点的所述管理控制器的过滤请求,并且响应所述过滤请求,暂停来自用于所述MCTP端点的所述主机处理器的输入/输出请求分组IRP的处理,以及响应来自所述管理控制器的隧道请求,允许在所述MCTP端点与所述管理控制器之间的数据通信。
8.如权利要求1所述的设备,其中所述主机控制器将在所述MCTP端点传递的USB分组内接收MCTP分组,并且在外设组件快速互连PCIe™分组内传递所述USB分组到所述管理控制器。
9.一种用于执行管理控制的系统,包括:
主机控制器,控制与多个通用串行总线USB装置的通信,并且包括过滤逻辑以过滤来自第一USB装置的管理控制传送协议MCTP端点的信息,以防止其被传递到主机处理器,并且将所述MCTP端点的所述信息提供到管理控制器;
通用串行总线USB装置,耦合到所述主机控制器,所述USB装置包括具有由所述系统指派的地址的至少一个逻辑装置,所述至少一个逻辑装置包括多个端点,每个端点具有端点号和流向,其中所述多个端点包括发送MCTP分组的第一MCTP端点,其中每个MCTP分组嵌入在USB分组中,以及所述多个端点包括接收MCTP分组的第二MCTP端点,其中每个MCTP分组嵌入在USB分组中;以及
管理控制器,耦合到所述主机控制器,所述管理控制器包括供应商定义的消息VDM逻辑以生成包括封装的USB数据的VDM分组,以便传递到所述多个USB装置的至少一个装置。
10.如权利要求9所述的系统,还包括耦合到所述主机控制器的系统级芯片SoC,所述SoC包括:
多个核;
多个高速缓冲存储器;
耦合所述多个核到至少一个外设装置的结构接口;以及
控制所述SoC的功耗的功率控制器。
11.如权利要求10所述的系统,其中所述管理控制器在所述SoC中实现。
12.如权利要求11所述的系统,其中所述系统包括无线通信装置,所述无线通信装置还包括非易失性存储装置和无线接口。
13.如权利要求12所述的系统,其中所述管理控制器将接收来自远程系统的通信,并且生成所述VDM分组以请求所述第一MCTP端点在所述第一USB装置上执行动作,所述第一USB装置包括闪存存储器,并且所述动作包括所述闪存存储器的擦除。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/052936 WO2015016882A1 (en) | 2013-07-31 | 2013-07-31 | A method, apparatus and system for performing management component transport protocol (mctp) communications with a universal serial bus (usb) device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105378694A CN105378694A (zh) | 2016-03-02 |
CN105378694B true CN105378694B (zh) | 2019-05-14 |
Family
ID=52432247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077916.0A Active CN105378694B (zh) | 2013-07-31 | 2013-07-31 | 用于执行与通用串行总线(usb)装置的管理组件传输协议(mctp)通信的方法、设备和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9652388B2 (zh) |
EP (1) | EP3028163A4 (zh) |
KR (1) | KR101832797B1 (zh) |
CN (1) | CN105378694B (zh) |
WO (1) | WO2015016882A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714923B (zh) * | 2013-12-17 | 2018-04-20 | 华为技术有限公司 | 一种实现设备共享的方法和装置 |
US9558143B2 (en) * | 2014-05-09 | 2017-01-31 | Micron Technology, Inc. | Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device |
US9911508B2 (en) | 2014-09-18 | 2018-03-06 | Via Alliance Semiconductor Co., Ltd | Cache memory diagnostic writeback |
US10091079B2 (en) * | 2015-05-06 | 2018-10-02 | Marvell World Trade Ltd. | Apparatus and method for remotely testing memory-mapped devices of a system-on-chip via an ethernet interface |
EP3451220B1 (en) * | 2016-04-25 | 2021-07-14 | Yokogawa Electric Corporation | Erasing device |
TWI616754B (zh) * | 2016-07-29 | 2018-03-01 | 百利通亞陶科技股份有限公司 | 快捷外設互聯標準(PCIe)資料交換裝置及傳輸系統 |
US10311008B2 (en) * | 2016-08-12 | 2019-06-04 | Samsung Electronics Co., Ltd. | Storage device with network access |
US10242176B1 (en) * | 2017-01-17 | 2019-03-26 | Cisco Technology, Inc. | Controlled access communication between a baseboard management controller and PCI endpoints |
KR102309110B1 (ko) * | 2017-03-24 | 2021-10-06 | 삼성전자 주식회사 | Usb 타입 c 커넥터에 연결된 외부 전자 장치를 제어하는 전자 장치 및 제어 방법 |
KR102316752B1 (ko) * | 2017-03-24 | 2021-10-25 | 삼성전자 주식회사 | 복수의 통신 서비스를 제공하기 위한 정보 송수신 방법 및 장치 |
US10397896B2 (en) | 2017-04-19 | 2019-08-27 | International Business Machines Corporation | IP address geo-position detection based on landmark sequencing |
US10223085B2 (en) * | 2017-04-28 | 2019-03-05 | International Business Machines Corporation | Discovering high-level language data structures from assembler code |
WO2018209513A1 (zh) * | 2017-05-15 | 2018-11-22 | 华为技术有限公司 | 操作硬盘的方法和硬盘管理器 |
US10482024B2 (en) | 2017-07-20 | 2019-11-19 | Alibaba Group Holding Limited | Private caching for thread local storage data access |
EP3662376B1 (en) * | 2017-08-03 | 2023-04-05 | Next Silicon Ltd | Reconfigurable cache architecture and methods for cache coherency |
US11703910B2 (en) | 2017-09-08 | 2023-07-18 | Realtek Semiconductor Corporation | Docking station, electrical device, and method for configuring basic input output system |
US10606784B1 (en) * | 2018-10-25 | 2020-03-31 | Dell Products, L.P. | Software filtering of redundant sideband device management bus communications |
WO2020222951A1 (en) * | 2019-04-29 | 2020-11-05 | Intel Corporation | A SYSTEM COMMUNICATION TECHNIQUE OVER PCIe (PERIPHERAL COMPONENT INTERCONNECT EXPRESS) LINK |
WO2021147048A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 一种基于PCIe的数据传输方法、装置及系统 |
WO2021147051A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
CN113498601A (zh) * | 2020-01-22 | 2021-10-12 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
CN113498510B (zh) | 2020-01-22 | 2024-07-16 | 华为技术有限公司 | 一种PCIe的数据传输方法及装置 |
CN111352889B (zh) * | 2020-02-29 | 2021-10-19 | 苏州浪潮智能科技有限公司 | 一种基于mctp协议的设备管理方法、设备、装置和介质 |
CN112764818B (zh) * | 2021-01-26 | 2024-05-24 | 曙光信息产业(北京)有限公司 | 设备管理方法、装置、电子设备及可读存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8776080B2 (en) * | 2007-09-25 | 2014-07-08 | Intel Corporationa | Management component transport protocol interconnect filtering and routing |
US7822907B2 (en) * | 2007-12-21 | 2010-10-26 | Intel Corporation | Methods and apparatuses for serial bus sideband communications |
US7930446B2 (en) * | 2007-12-28 | 2011-04-19 | Intel Corporation | Methods and apparatuses for wireless network communication wherein a universal serial bus request block (URB) is generated that will vary parameters that controls wireless transmission commands between devices |
US8423690B2 (en) * | 2007-12-31 | 2013-04-16 | Intel Corporation | Methods and apparatus for media redirection |
US8566495B2 (en) * | 2009-11-06 | 2013-10-22 | Qualcomm Incorporated | Systems, methods and apparatus for data communication |
US8370534B2 (en) * | 2009-12-03 | 2013-02-05 | Dell Products, Lp | Host-based messaging framework for PCIe device management |
US8930609B2 (en) * | 2010-08-18 | 2015-01-06 | Intel Corporation | Method, apparatus, and system for manageability and secure routing and endpoint access |
JP5745078B2 (ja) * | 2010-10-27 | 2015-07-08 | インターデイジタル パテント ホールディングス インコーポレイテッド | 発展型アプリケーションインターフェースのためのスケーラブルなポリシー制御パケットインスペクションのシステムおよび方法 |
US9077761B2 (en) * | 2011-02-16 | 2015-07-07 | Dell Products L.P. | System and method for scalable, efficient, and robust system management communications via vendor defined extensions |
TWM411679U (en) * | 2011-03-22 | 2011-09-11 | Tuton Technology Co Ltd | Connector expansion module implemented through PCI-E bus |
CN202564744U (zh) * | 2011-12-28 | 2012-11-28 | 钰创科技股份有限公司 | 高速外设组件互连接口与usb3.0装置之间的桥接器 |
US8904079B2 (en) * | 2012-06-25 | 2014-12-02 | Intel Corporation | Tunneling platform management messages through inter-processor interconnects |
US9424219B2 (en) * | 2013-03-12 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge |
-
2013
- 2013-07-31 US US14/126,915 patent/US9652388B2/en not_active Expired - Fee Related
- 2013-07-31 CN CN201380077916.0A patent/CN105378694B/zh active Active
- 2013-07-31 KR KR1020157036624A patent/KR101832797B1/ko active IP Right Grant
- 2013-07-31 EP EP13890341.4A patent/EP3028163A4/en not_active Withdrawn
- 2013-07-31 WO PCT/US2013/052936 patent/WO2015016882A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR101832797B1 (ko) | 2018-04-13 |
CN105378694A (zh) | 2016-03-02 |
WO2015016882A1 (en) | 2015-02-05 |
US20150169453A1 (en) | 2015-06-18 |
EP3028163A1 (en) | 2016-06-08 |
US9652388B2 (en) | 2017-05-16 |
EP3028163A4 (en) | 2017-07-12 |
KR20160013174A (ko) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105378694B (zh) | 用于执行与通用串行总线(usb)装置的管理组件传输协议(mctp)通信的方法、设备和系统 | |
CN105718390B (zh) | 共享存储器链路中的低功率进入 | |
CN109154924B (zh) | 多个上行链路端口设备 | |
CN105721057B (zh) | 高性能光中继器 | |
CN107924380B (zh) | 使用业务类别分配高速缓存的方法、装置和系统 | |
JP7339223B2 (ja) | フレキシブルなオンダイファブリックインターフェイス | |
KR101895763B1 (ko) | 노드들 사이의 i/o 서비스 및 메모리 공유 | |
CN105593830B (zh) | 用于测量电路的物理单元中的等待时间的方法、装置和系统 | |
CN107077521B (zh) | 片上系统配置元数据 | |
CN104995614B (zh) | 高性能互连物理层 | |
CN105793829B (zh) | 用于集成组件互连的装置、方法和系统 | |
CN107003945A (zh) | 缓冲存储器中的推测性读 | |
CN109661658A (zh) | 链路物理层接口适配器 | |
CN110036380A (zh) | 用于高速互连中低延迟的双模phy | |
CN107438838A (zh) | 打包的写完成 | |
CN107430569A (zh) | 多芯片封装链路 | |
CN104932996B (zh) | 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统 | |
CN107005371A (zh) | 事务缓冲存储器中的错误处理 | |
CN109844725A (zh) | 点对点互连中的非对称通道 | |
CN109643299A (zh) | 在具有现有tlp定义的pcie上的持久存储器写入语义 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |